Назначение: в управляемой форме в качестве реквизитов могут быть следующие типы: примитивные (дата, число, строка, булево) и ссылки (СправочникСсылка.Контрагенты, ДокументСсылка.ЗаказПокупателя и т.д.).
Прикладные объекты (СправочникОбъект, ДокументОбъект и т.д.) храниться в управляемой форме не могут. Поэтому для управляемых форм созданы аналогичные специальные типы значений (ДанныеФормыСтруктура, ДанныеФормыКоллекция и т.д). На форме эти типы обозначаются в скобках, причем в скобках указываются не сами типы, а соответствующие им прикладные объекты:
Прикладные объекты (СправочникОбъект, ДокументОбъект и т.д.) храниться в управляемой форме не могут. Поэтому для управляемых форм созданы аналогичные специальные типы значений (ДанныеФормыСтруктура, ДанныеФормыКоллекция и т.д). На форме эти типы обозначаются в скобках, причем в скобках указываются не сами типы, а соответствующие им прикладные объекты:
В работе часто требуется преобразовать такие типы значений управляемой формы в прикладной объект и наоборот. Для этого созданы специальные операторы (показаны ниже в коде). Важно, что:
- с их помощью можно преобразовывать только «специальные» типы значений (ДанныеФормыСтруктура, ДанныеФормыКоллекция и т.д). Для ссылок и примитивных типов преобразование не требуется;
- по синтакс-помощнику нужно смотреть, где эти операторы доступны (какие на клиенте, какие на сервере).
Источник:
Номенклатура объектов: модуль формы объекта (справочника, документа и т.д).
&НаСервере Процедура ПрочитатьЗаполнитьСвойстваИЗначения() // преобразование реквизита управляемой формы в прикладной объект // пример: // ДокументОбъект = РеквизитФормыВЗначение("Объект"); ДокументОбъект = РеквизитФормыВЗначение("[Реквизит формы]"); //------------------------------------------------------------- // преобразование прикладного объекта в реквизит управляемой формы // пример: // ЗначениеВРеквизитФормы(ДокументОбъект, "Объект"); ЗначениеВРеквизитФормы([Прикладной объект], "[Реквизит формы]"); //------------------------------------------------------------- // преобразование реквизита управляемой формы в прикладной объект // пример: // ОбъектБД = ДанныеФормыВЗначение(Объект, Тип("СправочникОбъект.Фонды")); ОбъектБД = ДанныеФормыВЗначение([Реквизит формы], Тип("[имя типа]")); //------------------------------------------------------------- // преобразование прикладного объекта в реквизит управляемой формы // пример: // ЗначениеВДанныеФормы(ОбъектБД, Объект); ЗначениеВДанныеФормы([Прикладной объект], [Реквизит формы]); КонецПроцедуры