Как добавить или удалить колонки в табличной части

Программное удаление и добавление колонок в табличной части управляемой формы 1С 8.3
Часто бывает ситуация, когда необходимо программно управлять составом табличной части в управляемой форме.
В данном примере рассмотрим следующую ситуацию: есть управляемая форма, на управляемой форме есть таблица - связанная с реквизитом формы. Нам надо удалить одни колонки и добавить другие программным способом. Массив удаляемых и добавляемых колонок определен нами заранее.

Перед добавлением новых элементов на форму, необходимо добавить сами реквизиты формы:


МассивДобавляемыхРеквизитов = Новый Массив;
Для Каждого тЭлемент из МассивИмен Цикл //массив имен содержит названия колонок. для упрощения примера все колонки имеют строковый тип реквизита.
     МассивДобавляемыхРеквизитов.Добавить(Новый РеквизитФормы(тЭлемент, Новый ОписаниеТипов("Строка"),"Данные")); //тип реквизита, название реквизита, родитель, в нашем случае название табличной части
КонецЦикла;


Теперь определим удаляемые реквизиты:

МассивУдаляемыхРеквизитов = Новый Массив;
Для Каждого тЭлемент из МассивУдаляемыхИмен Цикл
     Если ЭтаФорма.Элементы.Найти("Данные"+тЭлемент) <> Неопределено Тогда
          МассивУдаляемыхРеквизитов.Добавить("Данные."+тЭлемент);
     КонецЕсли;
КонецЦикла;


После подготовки массивов - редактируем реквизты формы

ЭтаФорма.ИзменитьРеквизиты(МассивДобавляемыхРеквизитов, МассивУдаляемыхРеквизитов);


После редактирования реквизитов можно приступать к редактированию элементов формы:

Удаление колонок:

Для Каждого тЭлемент из МассивУдаляемыхИмен Цикл
     нЭлемент = ЭтаФорма.Элементы.Найти("Данные"+тЭлемент);
     Если нЭлемент <> Неопределено Тогда
          Элементы.Удалить(нЭлемент);
     КонецЕсли;
КонецЦикла;


Добавление новых колонок:

Для Каждого тЭлемент из МассивИмен Цикл
     нЭлемент = ЭтаФорма.Элементы.Добавить("Данные"+тЭлемент, Тип("ПолеФормы"), ЭтаФорма.Элементы.Данные);
     нЭлемент.Вид = ВидПоляФормы.ПолеВвода;
     нЭлемент.ПутьКДанным = "Данные."+тЭлемент;
     нЭлемент.Видимость = Истина;
КонецЦикла;

Ведущий программист 1С

Тельнова Яна


Вернуться обратно
ОПУБЛИКОВАТЬ В СОЦ.СЕТЯХ
Моя корзина
Отложенные
Недоступно
Избранное

Ваша корзина пуста, для оформления заказа перейдите в каталог и выберите интересующие вас товары

Перейти в каталог

Перейти в каталог

Товары, недоступные к заказу

Добавляйте ваши товары в избранное

Перейти в каталог

Избранное

Добавляйте ваши товары в избранное

Перейти в каталог