|
УФ. Как получить данные через элемент управления на клиенте? | ☑ | ||
---|---|---|---|---|
0
fisher
18.02.14
✎
12:23
|
Есть ссылка на поле ввода формы справочника, источником данных у которого - реквизит справочника (ссылочного типа).
Как можно на клиенте получить значение этого реквизита справочника (ссылку) без серверных вызовов? Или это невозможно? Зная имя реквизита, могу сделать это напрямую: Объект.ИмяРеквизита. А если есть только ссылка на поле ввода? ПутьКДанным непонятно какого рожна только на сервере доступен... |
|||
1
fisher
18.02.14
✎
12:44
|
Ммм?
|
|||
2
1Сергей
18.02.14
✎
12:45
|
>>Есть ссылка на поле ввода формы справочника
дальше можно не читать |
|||
3
fisher
18.02.14
✎
12:55
|
>>дальше можно не читать
Ага. Давай, до свиданья. |
|||
4
Fedor-1971
18.02.14
✎
12:57
|
(3) Это ты зря.
Что сделать то хочешь, напиши словами без привязки к формам 1С |
|||
5
Жан Пердежон
18.02.14
✎
13:00
|
(0) если элементы управления именовать согласованно, то объект[f(Элемент.Имя)]
|
|||
6
grigo
18.02.14
✎
13:12
|
На клиенте доступна ТОЛЬКО ССЫЛКА. Все остальное - на сервере.
|
|||
7
Жан Пердежон
18.02.14
✎
13:28
|
(6) да ладно?
|
|||
8
VikingKosmo
18.02.14
✎
13:33
|
(7) а что есть способ получить значение реквизита объекта прямо таки на клиенте?!
|
|||
9
grigo
18.02.14
✎
13:44
|
(7) Ну-ка, продемонстрируй.
|
|||
10
grigo
18.02.14
✎
13:47
|
Автор, если тебе нужно получить Реквизит реквизита, то это сделать можно на клиенте, если заранее знаешь, какой реквизит реквизита тебе нужен. Создай элемент управления с источником данных - реквизит реквизита. И вуаля, после создания формы у тебя в элементе управления значение реквизита реквизита.
Но если тебе заранее не известно - тогда не получится. |
|||
11
Feunoir
18.02.14
✎
13:52
|
(0) В любом серверном общем модуле:
Функция ПолучитьРеквизит(Ссылка, Реквизит) Экспорт Возврат Ссылка[Реквизит]; КонецФункции Только тс-с-с. Я тебе этого не говорил. |
|||
12
grigo
18.02.14
✎
14:25
|
(11) не бойся, мы не кому не скажем, что ты читать не умеешь. Вопрос был в том, как это сделать, НЕ ВЫЗЫВАЯ СЕРВЕР. Но мы, повторяю, никому не скажем, что ты не умеешь читать.
|
|||
13
Жан Пердежон
18.02.14
✎
14:31
|
(12) ты читаешь не лучше, вопрос совсем не про вызов сервера
|
|||
14
Feunoir
18.02.14
✎
14:57
|
(12) Ах-ах. Мне-то казалось, что то, что нельзя получить произвольный реквизит без вызова сервера, уже выяснили. Ну да ладно.
|
|||
15
fisher
18.02.14
✎
15:17
|
(14) Я только присел на плотную разработку под УФ. Раньше по-мелочам приходилось. Поэтому не все шишки еще набиты.
Ну что ж... Еще одна несуразность в копилку... |
|||
16
fisher
18.02.14
✎
15:20
|
Если сабж неясно изложен, поясню с другого бока:
Есть поле ввода на форме, через которое происходит редактирование реквизита справочника. Реквизит хранит ссылку на элемент другого справочника. Можно ли получить значение этой ссылки, зная имя элемента управления на форме без обращения к серверу? Как я понял - нельзя. |
|||
17
fisher
18.02.14
✎
15:24
|
Чорд. Все равно могут неправильно понять... Итак:
1) есть справочники "Номенклатура" и "Категория" 2) в справочнике "Номенклатура" есть реквизит "Категория" и поле ввода на форме с именем "ВыборКатегории", которое его редактирует 3) можно ли зная имя поля ввода ("ВыборКатегории") получить ссылку на категорию без обращению к серверу? |
|||
18
Fedor-1971
18.02.14
✎
16:18
|
(17) Посмотри в отладчике Форма.ВыборКатегории.ТекущиеДанные, на сервере туда записана ссылка на справочник Категории. Аналогично будет Объект.Категория - та же ссылка.
&НаКлиенте можно получить ссылку, но полноценно работать с оной не получится, если только передать как параметр куда нить. |
|||
19
Жан Пердежон
18.02.14
✎
16:27
|
(18) ТекущиеДанные у поля ввода?
(17) в (5) не ответ? если имена менять нельзя - можно соответствие хранить имяэлемента-имяреквизита, костыль конечно... |
|||
20
Fedor-1971
18.02.14
✎
16:41
|
Да лажанулся, через форму ссылку получить не получится, можно только через Объект.
|
|||
21
fisher
18.02.14
✎
16:47
|
(19) Я просто не могу придумать ни одного логического объяснения тому, что свойство "ПутьКДанным" не транслируется на клиента. Это же гребанная строка! Думал, может я не вкуриваю чего. Оказалось - таки просто еще одна милая фича.
|
|||
22
grigo
18.02.14
✎
19:16
|
(13) см. (0) строка 2 "без серверных вызовов". И тоже учись читать. )))
|
|||
23
PiVa123
18.02.14
✎
19:24
|
(21) Это только начало пути УФ. Еще много подобного придется понять и простить ... или ругаться на форуме. :-D
|
|||
24
Torquader
18.02.14
✎
19:26
|
Да, пока они не поймут, что нужно иметь возможность с клиента обращаться к любому объекту на сервере, как это сделано через указатели на нормальных системах - будет ещё много сюрпризов и огорчений.
|
|||
25
Feunoir
18.02.14
✎
19:45
|
(24) В толстом клиенте таких проблем вообще нет. Проблема только в тонком и web. И то, что так сделано в некотором смысле может быть логичным. Тащить все поля на клиента через кучу промежуточных узлов и тормозных каналов неправильно.
|
|||
26
Torquader
18.02.14
✎
19:52
|
(25) Тащить надо то, что нужно.
Просто, в нормальных системах есть "Proxy-объекты" для таких целей. |
|||
27
grigo
18.02.14
✎
19:53
|
(24) Была такая возможность. И все (ну, почти все) то и дело ОБРАЩАЛИСЬ К ОБЪЕКТУ НА СЕРВЕРЕ. А потом плакали, что у них 1с тормозит.
Поэтому разрабы неявные вызовы сервера сделали явными. Но не волнуйтесь - тяжело только первые полгода. Дальше все на автомате пойдет. |
|||
28
Feunoir
18.02.14
✎
19:56
|
(26) Ну так и делай себе прокси. Сам руками именно то, что нужно. Дернул сервер - он тебе в ответ структуру со всеми реквизитами переданной ссылки. Ты данные на клиенте в кеш положил и пользуешься когда надо. Нормальный взрослый принцип, когда ты сам думаешь, а не система за тебя.
|
|||
29
Torquader
18.02.14
✎
19:58
|
(28) Ну, тогда, быть может, вместо рисования формы тоже самому думать - тогда зачем 1С.
|
|||
30
Feunoir
18.02.14
✎
20:00
|
(29) Вот тут соглашусь, конечно. Возможностей по управлению внешним видом управляемых форм частенько не хватает.
|
|||
31
Torquader
18.02.14
✎
20:06
|
(30) Да там вообще мало чего хватает - хочешь данные - пихай в хранилище - передавай и там обрабатывай - а то, что это "матрёшка" и размер растёт - это никому не важно.
Опять же, события с сервера на клиента - а это в идеологию не вписывается - то есть в html-5 Web-сокеты вписываются, а у 1С - ещё не вписывается. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |