Имя: Пароль:
1C
1С v8
Получить реквизит объекта с клиента, как лучше сделать?
0 salvator
 
03.11.22
15:31
Доброго дня!
БП 3.0, документ ПоступлениеТоваровУслуг.
Нужно в клиентском общем модуле, в процедуре, где доступна только Форма прочитать значение реквизита объекта.
В данном документе это будет реквизит: Форма.Объект.ЭтоУниверсальныйДокумент.
Правильно ли так будет обратиться к реквизиту документа с клиента?
1 Kuzmich123
 
03.11.22
15:35
Для бухи не помню, но в УТ в свое время была предопредленная функция ОбщегоНазначенияУТВызовСервера.ЗначениеРеквизитаОбъекта(). Копай в эту сторону.
2 Kuzmich123
 
03.11.22
15:36
Коллеги подсказали, что в БСП есть ОбщегоНазначения.ЗначенияРеквизитовОбъекта(()
3 salvator
 
03.11.22
15:37
Либо, как вариант:
В процедуре при изменении этого флажка (УПД) вызывается клиентская процедура, где есть строка
Элементы.ПредставлениеУПД.Видимость = ЭтоУниверсальныйДокумент;

И тогда проверять не
Форма.Объект.ЭтоУниверсальныйДокумент
а
Форма.Элементы.ПредставлениеУПД.Видимость
4 salvator
 
03.11.22
15:38
Тут скорее вопрос, корректно ли будет на клиенте из "Форма.Объект" тянуть данные для чтения? С точки зрения правильности разработки и производительности.
5 salvator
 
03.11.22
16:15
(2) "ОбщегоНазначения" - серверный модуль
6 lodger
 
03.11.22
16:17
(4) так там вроде везде и всюду ковыряются в реквизитах форм и даже в реквизитах основных реквизитов форм. ибо они прочитаны клиентом, если стоит признак "Использовать всегда".
7 RomanYS
 
03.11.22
16:24
(4) Производительность в данном случае вторична. Определитесь, что вы хотите получить: данные формы редактируемые пользователем или данные из базы по ссылке. Это в общем случае разные данные
8 Kassern
 
03.11.22
16:26
(0) "Объект.ЭтоУниверсальныйДокумент" - вроде не даст вам так отработать. Если я не путаю, то на клиенте доступна лишь ссылка, через точку вы не сможете обратиться к реквизитам.
Если вам доступна форма, то передайте в параметрах формы нужные вам данные
9 RomanYS
 
03.11.22
16:30
(8) Это если Объект ссылка, но обычно "Объект" это основной реквизит формы с типом ДокументОбъект(например) и тогда его реквизиты доступны на клиенте
10 salvator
 
03.11.22
16:36
(7) В том то и дело, получил бы данные формы, но нужного нет.
(8) Форма.Объект.ЭтоУниверсальныйДокумент отрабатывает нормально.
11 RomanYS
 
03.11.22
16:43
(10) Что-то сам себе противоречишь: " нужного нет"... "отрабатывает нормально".
Форма.Объект это и есть данные формы
12 НафНаф
 
03.11.22
16:46
Форма.Объект уже на клиенте
13 salvator
 
03.11.22
16:48
(11), (12) Ясно, думал, что если из "Объект", то тянется из самого объекта на сервере.
14 Kassern
 
03.11.22
16:54
(13) Вы всегда можете в отладке посмотреть тип значения у реквизита.
15 salvator
 
03.11.22
17:18
(14) Да, не подумал что-то. Всем спасибо за помощь!