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

12 Dec
Published by Nicholas

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

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

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

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

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

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

Тэги 

1С 8

Комментарии

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

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

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

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

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

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

Аватар пользователя Алексей

спасибо за камень

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

Пожалуйста!

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

Час боролась, почему Данные не присваиваются... Спасибо большое за подводный камень!

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

Plain text

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