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