в версии компоненты которая лежит по ссылке из #31 на самом деле есть пара событий менеджера:
ОбработкаЯчейкиТаблицы/SheetCellProcessing(Значение,ФСО,Таб,Адрес) - все параметры стандартны.
ПриАктивизацииЯчейки/OnActivateCell(Таб, Действие, Строка, Колонка) - Действие: 0-деактивация 1-активация; остальные понятны. Событие пока не стабильно и не рекомендуется к применению.
События вызываются как в модуле формы так и в модуле КОПа-наследника от ПоляТабличногоДокумента или МенеджераТабличногоДокумента. Опять же ссылаюсь на принципы вызова событий ТП. Все так же.
1. В модуле формы имя процедуры-обработчика события должно иметь префикс:
- если событие от мнеджера ПоляТабличногоДокумента - Идентификатор атрибута формы на котором создано это поле;
- если событие от произвольного МенеджераТабличногоДокумента - "МенеджерТаблДок".
2. В модуле формы объявление процедуры-обработчика события имеет первый формальный параметр в который передается менеджер.
Пример для события от менеджера поля:
Перем гТД;
Процедура ПриОткрытии()
_Форма=СоздатьОбъект("Форма");
_Форма.УстановитьФорму(Форма);
КонецПроцедуры
Процедура ФормаПриСоздании(_Форма)
гТД=_Форма.СоздатьЭлементУправления("ПолеТабличногоДокумента", Форма.ТаблДок);
гТД.Таблица.ТолькоПросмотр(1);
гТД.Таблица.Вывести();
КонецПроцедуры
Процедура ТаблДокОбработкаЯчейкиТаблицы(Менеджер,Значение,ФСО,Таб,Адрес)
//Если ФСО обнулить, то никакой штатной обработки не будет.
//Если оставить =1, то будет обычная штатная обработка с вызовом штатной локальной/глобальной ОбработкаЯчейкиТаблицы
Сообщить("ТаблДокОбработкаЯчейкиТаблицы");
Сообщить(Менеджер);
Сообщить(Значение);
Сообщить(ФСО);
Сообщить(Таб);
Сообщить(Адрес);
КонецПроцедуры
пример для события от произвольного менеджера:
Перем гМенеджер;
Процедура Сформировать()
Таб=СоздатьОбъект("Таблица");
Таб.ТолькоПросмотр(1);
Таб.Вывести();
Таб.Показать();
гМенеджер=СоздатьОбъект("МенеджерТабличногоДокумента");
гМенеджер.УстановитьТаблицу(Таб,Форма);
КонецПроцедуры
Процедура МенеджерТаблДокОбработкаЯчейкиТаблицы(Менеджер,Значение,ФСО,Таб,Адрес)
Сообщить("МенеджерТаблДокОбработкаЯчейкиТаблицы");
Сообщить(Менеджер);
Сообщить(Значение);
Сообщить(ФСО);
Сообщить(Таб);
Сообщить(Адрес);
КонецПроцедуры