Табличное поле ~ Программное создание и управление табличным полем на форме Рассмотрим пример, когда это может действительно пригодиться. Допустим у нас есть свойства объекта в виде отдельного иерархического справочника. Нам необходимо в форме самого объекта выводить эти данные, но не просто списком а с разбивкой по группам - сколько групп, столько и закладок с таблицами. Проблема в том что мы не знаем сколько будт закладок с таблицами заранее. Чтобы это реализовать мы должны динамически создавать необходимые таблицы. Сделать это несложно. Разберемся как:
Код 1C v 8.х
ПолеТаблицы = ЭлементыФормы. Добавить( Тип( "ТабличноеПоле" ) , "Таблица" , Истина , ЭлементыФормы. Панель2 ) ;
ПолеТаблицы. Ширина = ЭлементыФормы. Панель2 . Ширина;
ПолеТаблицы. Высота = ЭлементыФормы. Панель2 . Высота;
ПолеТаблицы. Значение = РезультатЗапроса. Скопировать( ) ;
ДействиеОбработкаВыбора = Новый Действие( "ОбработкаВыбораЗнач" ) ;
ЭлементыФормы["Таблица" ]. УстановитьДействие( "ПередОкончаниемРедактирования" , ДействиеОбработкаВыбора) ;
ЭлементыФормы["Таблица" ]. УстановитьПривязку( ГраницаЭлементаУправления. Низ,
ЭлементыФормы. Панель2 , ГраницаЭлементаУправления. Низ) ;
ЭлементыФормы["Таблица" ]. УстановитьПривязку( ГраницаЭлементаУправления. Право,
ЭлементыФормы. Панель2 , ГраницаЭлементаУправления. Право) ;
Процедура ОбработкаВыбораЗнач(Элемент, НоваяСтрока, ОтменаРедактирования, Отказ)
КонецПроцедуры
Написал Валецкий Станислав Категория:
Работа с Формой (Диалог) и её элементами Как программно установить событие для элемента формы? Код 1C v 8.х
ДействиеОбработкаВыбора = Новый Действие( "ОбработкаВыбораЗнач" ) ;
ЭлементыФормы["Таблица" ]. УстановитьДействие( "ПередОкончаниемРедактирования" , ДействиеОбработкаВыбора) ;
Код 1C v 8.х
тмпСтраницы = ЭлементыФормы. ОсновнаяПанель. Страницы;
СтраницаПанелиОПЗС = тмпСтраницы. Добавить( "Производство" , "Производство" ) ;
ЭлементыФормы. ОсновнаяПанель. ТекущаяСтраница = СтраницаПанелиОПЗС;
ПолеДокументов = ЭлементыФормы. Добавить( Тип( "ТабличноеПоле" ) , "ап_Призводство" , Истина , ЭлементыФормы. ОсновнаяПанель) ;
ПолеДокументов. Данные = "ап_Производство" ;
ПолеДокументов. УстановитьДействие( "ПередУдалением" , Новый Действие( "апПроизводствоПередУдалением" ) ) ;
ПолеДокументов. УстановитьДействие( "ПередНачаломДобавления" , Новый Действие( "апПроизводствоПередНачаломДобавления" ) ) ;
ПолеДокументов. УстановитьДействие( "ПриПолученииДанных" , Новый Действие( "апПроизводствоПриПолученииДанных" ) ) ;
Код 1C v 8.х Колонка.ЭлементУправления.УстановитьДействие("НачалоВыбора",Новый Действие(Действие"));
Код 1C v 8.х ЭлементыФормы. РасшифровкаПлатежа. Колонки. СтатьяДвиженияДенежныхСредств. ЭлементУправления. УстановитьДействие( "НачалоВыбора" , Новый Действие( "_СтатьяДвиженияДенежныхСредствНачалоВыбора" ) )
Категория:
Работа с Формой (Диалог) и её элементами