Как добавить колонку в табличное поле?
Иногда возникает необходимость программно добавить новую колонку в табличное поле документа или элемента справочика. Сделать это можно следующим образом.
КолонкаТабличногоПоля = ЭтаФорма.ЭлементыФормы.ОтражениеВУчете.Колонки.Добавить("НалоговыйУчет", "НУ");
КолонкаТабличногоПоля.УстановитьЭлементУправления(Тип("ПолеВвода"));
КолонкаТабличногоПоля.Данные = "НалоговыйУчет";
КолонкаТабличногоПоля.ПодсказкаВШапке = "";
КолонкаТабличногоПоля.Видимость = Истина;
И здесь есть подводный камень: «УстановитьЭлементУправления» нужно до присвоения значения реквизиту «Данные». В противном случае добавленный на форму элемент нельзя будет редактировать.
Также, в типовой конфигурации 1С:Зарплата и управление персоналом 8.2, имеется специальная функци. При ее использовании код можно сократить до одной строки.
КолонкаТабличногоПоля = РаботаСДиалогами.ВставитьКолонкуВТабличноеПоле(Неопределено, ЭтаФорма.ЭлементыФормы.ОтражениеВУчете, "НалоговыйУчет", "НУ", "НалоговыйУчет", , , , Тип("ПолеВвода"));
Комментарии
Спасибо! Единственный из
Спасибо! Единственный из найденных кодов, который правильно работает для обычных форм. Очень помогли!
Действительно, огромное
Действительно, огромное спасибо.
Долго искал решение, ваш код краток и понятен, и главное работает. ))
Огромное спасибо за описание
Огромное спасибо за описание подводного камня, у меня была загвоздка именно в этом
спасибо за камень
спасибо за камень
Пожалуйста!
Пожалуйста!
Час боролась, почему Данные
Час боролась, почему Данные не присваиваются... Спасибо большое за подводный камень!
Добавить комментарий