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