Имя: Пароль:
1C
1С v8
Флажок в динамической колонке (как добавить обработчик событий)
0 OleLukoye
 
18.11.13
20:04
Добрый вечер. Создал динамически табличное поле (ТП),одна из колонок ТП имеет тип значения = Булево, соответственно хочу чтобы значения в колонки выглядели как Флажок. И назначаю обработчик события "ПриИзменении". И вот оказия какая: если Колонку во флажок не переводить, событие отрабатывает. если же флажок есть на форме  - события нет. где копать?

Элемент = ЭлементыФормы.Добавить(Тип("ТабличноеПоле"),"ТабличноеПолеНачислений"+ЗначениеТТ,Истина,Панель);
    Элемент.Верх = 31;
    Элемент.Высота = 239;
    Элемент.Лево = 6;
    Элемент.Ширина = 597;
    Элемент.ТолькоПросмотр = Ложь;
    ////////////////
    Элемент.СоздатьКолонки();
    Элемент.Колонки.Отметка.ТекстШапки = "X";
    //Элемент.Колонки.Отметка.Формат ="БЛ=; БИ=";
    //Элемент.Колонки.Отметка.ДанныеФлажка = "Отметка";
    Элемент.Колонки.Отметка.Ширина = 5;
    ОбработкаНажатия = Новый Действие("ТабличноеПолеНачисленийОтметкаПриИзменении");
    Элемент.Колонки.Отметка.ЭлементУправления.УстановитьДействие("ПриИзменении", ОбработкаНажатия) ;

Если открыть код:

//Элемент.Колонки.Отметка.Формат ="БЛ=; БИ=";
//Элемент.Колонки.Отметка.ДанныеФлажка = "Отметка";

То События "ТабличноеПолеНачисленийОтметкаПриИзменении" не происходит
1 Defender aka LINN
 
18.11.13
20:50
(0) При изменении флажка события ПриИзменении не происходит. Печально, но факт. Рекомендую изучить под лупой события табличного поля
2 OleLukoye
 
18.11.13
21:17
А...колдовская программа.. Действительно. решается простым способом

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

где

Процедура ТабличноеПолеНачисленийПриИзмененииФлажка(Элемент, Колонка)
    // Вставить содержимое обработчика.
    Сообщить("М");

КонецПроцедуры