Как добавить колонку в табличное поле?

12 Dec
Published by Nicholas

Табличное поле

Иногда возникает необходимость программно добавить новую колонку в табличное поле документа или элемента справочика. Сделать это можно следующим образом.

КолонкаТабличногоПоля = ЭтаФорма.ЭлементыФормы.ОтражениеВУчете.Колонки.Добавить("НалоговыйУчет", "НУ");
КолонкаТабличногоПоля.УстановитьЭлементУправления(Тип("ПолеВвода"));
КолонкаТабличногоПоля.Данные = "НалоговыйУчет";
КолонкаТабличногоПоля.ПодсказкаВШапке = "";
КолонкаТабличногоПоля.Видимость = Истина;

И здесь есть подводный камень: «УстановитьЭлементУправления» нужно до присвоения значения реквизиту «Данные». В противном случае добавленный на форму элемент нельзя будет редактировать.

Также, в типовой конфигурации 1С:Зарплата и управление персоналом 8.2, имеется специальная функци. При ее использовании код можно сократить до одной строки.

КолонкаТабличногоПоля = РаботаСДиалогами.ВставитьКолонкуВТабличноеПоле(Неопределено, ЭтаФорма.ЭлементыФормы.ОтражениеВУчете, "НалоговыйУчет", "НУ", "НалоговыйУчет", , , , Тип("ПолеВвода"));

Tags 

1С 8.2

Комментарии

Аватар пользователя Jane

Спасибо! Единственный из найденных кодов, который правильно работает для обычных форм. Очень помогли!

Аватар пользователя ОНС

Действительно, огромное спасибо.
Долго искал решение, ваш код краток и понятен, и главное работает. ))

Аватар пользователя Ольга

Огромное спасибо за описание подводного камня, у меня была загвоздка именно в этом

Добавить комментарий

Plain text

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Строки и абзацы переносятся автоматически.
CAPTCHA
Вы человек или автоматическая спам-рассылка?
Target Image