|
Программное создание события(не управляемая форма) | ☑ | ||
---|---|---|---|---|
0
Save_Vol
17.01.17
✎
15:06
|
На форме есть элемент формы ТабличноеПоле1. Под него создаю программно таблицу значения ТаблицаДанных. В ТаблицеДанных создаем колонки,добавляем строки. Табличному полю, ТабличноеПоле1, указываем Значение = ТаблицаДанных. На ТабличноеПоле1 создаем события. Ни одно из событий не отрабатывает.
Код: Процедура ИнициализацияТаблицыВВодаДанных() ТаблицаДанных = Новый ТаблицаЗначений; ТаблицаДанных.Колонки.Добавить("Наименование",Новый ОписаниеТипов(,,,Новый КвалификаторыСтроки(100))); ТаблицаДанных.Колонки.Добавить("ПроцентГод" + Формат(Год,"ЧГ="),Новый ОписаниеТипов(,,,Новый КвалификаторыСтроки(15)),"базовый год"); ТаблицаДанных.Колонки.Добавить("ПотреблениеГод" + Формат(Год,"ЧГ="),Новый ОписаниеТипов(,,,Новый КвалификаторыСтроки(15)),"базовый год"); ТаблицаДанных.Колонки.Добавить("Процент",,"ед.изм."); ТаблицаДанных.Колонки.Добавить("Потребление"); Для й = Год + 1 По Год(ДатаКонцаПериода) Цикл ТаблицаДанных.Колонки.Добавить("ПроцентГод" + Формат(й,"ЧГ="),Новый ОписаниеТипов(,,,Новый КвалификаторыЧисла(10,2)),Формат(й,"ЧГ=")); ТаблицаДанных.Колонки.Добавить("ПотреблениеГод" + Формат(й,"ЧГ="),Новый ОписаниеТипов(,,,Новый КвалификаторыЧисла(10,2)),Формат(й,"ЧГ=")); КонецЦикла; ТаблицаДанных.Колонки.Добавить("ИдентификаторСтроки",Новый ОписаниеТипов(,,,Новый КвалификаторыСтроки(10))); Новаястрока = ТаблицаДанных.Добавить(); Новаястрока.Наименование = "Наша строка"; Новаястрока.ИдентификаторСтроки = "Строка1"; Новаястрока.Процент = "%"; Новаястрока.Потребление = "потребление"; Новаястрока = ТаблицаДанных.Добавить(); Новаястрока.Наименование = "Объем коммерческих потерь в объеме передачи электрической энергии"; Новаястрока.ИдентификаторСтроки = "Строка2"; Новаястрока.Процент = "%"; Новаястрока.Потребление = "потребление"; ЭлементыФормы.ТабличноеПоле1.Значение = ТаблицаДанных; ЭлементыФормы.ТабличноеПоле1.ЧередованиеЦветовСтрок = Истина; ЭлементыФормы.ТабличноеПоле1.СоздатьКолонки(); ЭлементыФормы.ТабличноеПоле1.Колонки[0].ОтображатьВШапке = Истина; ЭлементыФормы.ТабличноеПоле1.Колонки[0].ТолькоПросмотр = Ложь; //ЭлементыФормы.ТабличноеПоле1.Колонки[0].РежимРедактирования = РежимРедактированияКолонки.Непосредственно; //ЭлементыФормы.ТабличноеПоле1.Колонки[1].РежимРедактирования = РежимРедактированияКолонки.Непосредственно; //ЭлементыФормы.ТабличноеПоле1.Колонки[2].РежимРедактирования = РежимРедактированияКолонки.Непосредственно; //ЭлементыФормы.ТабличноеПоле1.Колонки[3].РежимРедактирования = РежимРедактированияКолонки.Непосредственно; //ЭлементыФормы.ТабличноеПоле1.Колонки[4].РежимРедактирования = РежимРедактированияКолонки.Непосредственно; ЭлементыФормы.ТабличноеПоле1.Колонки[1].ОтображатьВШапке = Истина; ЭлементыФормы.ТабличноеПоле1.Колонки[1].ЭлементУправления.ТолькоПросмотр = Ложь; ЭлементыФормы.ТабличноеПоле1.Колонки[2].Положение = ПоложениеКолонки.НаСледующейСтроке; ЭлементыФормы.ТабличноеПоле1.Колонки[2].ОтображатьВШапке = Ложь; ЭлементыФормы.ТабличноеПоле1.Колонки[2].ОтображатьВПодвале = Ложь; ЭлементыФормы.ТабличноеПоле1.Колонки[3].ОтображатьВШапке = Истина; ЭлементыФормы.ТабличноеПоле1.Колонки[3].ТолькоПросмотр = Истина; ЭлементыФормы.ТабличноеПоле1.Колонки[4].Положение = ПоложениеКолонки.НаСледующейСтроке; ЭлементыФормы.ТабличноеПоле1.Колонки[4].ОтображатьВШапке = Ложь; ЭлементыФормы.ТабличноеПоле1.Колонки[4].ОтображатьВПодвале = Ложь; ЭлементыФормы.ТабличноеПоле1.Колонки[4].ТолькоПросмотр = Истина; Для й = Год + 1 По Год(ДатаКонцаПериода) Цикл ЭлементыФормы.ТабличноеПоле1.Колонки["ПроцентГод" + Формат(й,"ЧГ=")].ОтображатьВШапке = Истина; ЭлементыФормы.ТабличноеПоле1.Колонки["ПроцентГод" + Формат(й,"ЧГ=")].РежимРедактирования = РежимРедактированияКолонки.Непосредственно; ЭлементыФормы.ТабличноеПоле1.Колонки["ПроцентГод" + Формат(й,"ЧГ=")].ЭлементУправления.УстановитьДействие("ПриИзменении",Новый Действие("ПолеВводаГодПриИзменении")) ; ЭлементыФормы.ТабличноеПоле1.Колонки["ПроцентГод" + Формат(й,"ЧГ=")].ЭлементУправления.УстановитьДействие("НачалоВыбора",Новый Действие("ТабличноеПоле2Колонка1НачалоВыбора")) ; ЭлементыФормы.ТабличноеПоле1.Колонки["ПроцентГод" + Формат(й,"ЧГ=")].ЭлементУправления.УстановитьДействие("ОкончаниеВводаТекста",Новый Действие("ТабличноеПоле2Колонка1ОкончаниеВводаТекста")) ; ЭлементыФормы.ТабличноеПоле1.Колонки["ПотреблениеГод" + Формат(й,"ЧГ=")].Положение = ПоложениеКолонки.НаСледующейСтроке; ЭлементыФормы.ТабличноеПоле1.Колонки["ПотреблениеГод" + Формат(й,"ЧГ=")].РежимРедактирования = РежимРедактированияКолонки.Непосредственно; ЭлементыФормы.ТабличноеПоле1.Колонки["ПотреблениеГод" + Формат(й,"ЧГ=")].ОтображатьВШапке = Ложь; ЭлементыФормы.ТабличноеПоле1.Колонки["ПотреблениеГод" + Формат(й,"ЧГ=")].ОтображатьВПодвале = Ложь; ЭлементыФормы.ТабличноеПоле1.Колонки["ПотреблениеГод" + Формат(й,"ЧГ=")].ЭлементУправления.УстановитьДействие("ПриИзменении",Новый Действие("ПолеВводаГодПриИзменении")) ; ЭлементыФормы.ТабличноеПоле1.Колонки["ПотреблениеГод" + Формат(й,"ЧГ=")].ЭлементУправления.УстановитьДействие("НачалоВыбора",Новый Действие("ТабличноеПоле2Колонка1НачалоВыбора")) ; ЭлементыФормы.ТабличноеПоле1.Колонки["ПотреблениеГод" + Формат(й,"ЧГ=")].ЭлементУправления.УстановитьДействие("ОкончаниеВводаТекста",Новый Действие("ТабличноеПоле2Колонка1ОкончаниеВводаТекста")) ; КонецЦикла; КонецПроцедуры Процедура ПолеВводаГодПриИзменении(Элемент) а=1; Сообщить(а); КонецПроцедуры Процедура ТабличноеПоле2Колонка1НачалоВыбора(Элемент, СтандартнаяОбработка) // Вставить содержимое обработчика. б = 2; Сообщить(б); КонецПроцедуры Процедура ТабличноеПоле2Колонка1ОкончаниеВводаТекста(Элемент, Текст, Значение, СтандартнаяОбработка) // Вставить содержимое обработчика. в = 3; Сообщить(в); КонецПроцедуры |
|||
1
Save_Vol
17.01.17
✎
15:08
|
Вешать событие выбор на само ТабличноеПоле1 не красиво как то.
|
|||
2
vicof
17.01.17
✎
15:19
|
ТабличноеПоле<<2>>Колонка1НачалоВыбора
|
|||
3
Save_Vol
17.01.17
✎
15:22
|
(2)ЭлементыФормы.ТабличноеПоле1.Колонки["ПотреблениеГод" + Формат(й,"ЧГ=")].ЭлементУправления.УстановитьДействие("НачалоВыбора",Новый Действие("ТабличноеПоле2Колонка1НачалоВыбора")) ;
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |