Добрый день. Пытаюсь при программном добавлении поля ввода на форму установить тип значения ему в виде составного типа, в котором два документа. Делаю так
МассивТиповПартий = Новый Массив;
МассивТиповПартий.Добавить("ДокументСсылка.ПоступлениеТоваровУслуг");
МассивТиповПартий.Добавить("ДокументСсылка.ОприходованиеТоваров");
//добавление поля ввода для значений реквизитов
ПолеВводаРеквизита = ЭлементыФормы.Добавить(Тип("ПолеВвода"), "ПолеВводаДокументПартии", Истина, );
ПолеВводаРеквизита.ТипЗначения = Новый ОписаниеТипов(МассивТиповПартий);
ПолеВводаРеквизита.Значение = ДокументПартии;
ПолеВводаРеквизита.КнопкаОткрытия = Истина;
В результате, когда я нажимаю уже в Предприятии на открыть в поле ввода (лупа имеется ввиду), то мне показывает модальное окошко со строкой, например "Оприходование !!!00000001 от 01.08.2018", а мне надо, чтобы открывался документ
Если писать вот так:
ПолеВводаРеквизита.ТипЗначения = Новый ОписаниеТипов("ДокументСсылка.ОприходованиеТоваров");
То все открывается сам документ, но мне ведь надо составной тип
Решил тем, что мне составной тип впринипе и не нужен, у какого-то одного поля всегда будет какой-то один документ, поэтому можно написать
ПолеВводаРеквизита.ТипЗначения = Новый ОписаниеТипов("ДокументСсылка." + Метаданные.НайтиПоТипу(ТипЗнч(ДокументПартии)).Имя);
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший