За класс огромный респектище!!!
Но, тут в документацию, по-моему, закралась ошибочка. Вроде бы ничего страшного, но немого пришлось поковыряться. Версии и класса и документации проверил - и то и то от 21.07.2010.
Хотел в поставщике данных с типом значения ИндексированнаяТаблица запретить добавлять и удалять строки. Делал все вроде бы по букварю:
ПередНачаломДобавления(Копирование, ФСО)
Параметры:
• Копирование – признак (1,0) копирования строки.
• ФСО – флаг стандартной обработки
Нарисовал такую процедурку:
Процедура ТабличноеПолеМногострочнойЧастиПередНачаломДобавления(Копирование,ФСО)
ФСО=0;
КонецПроцедуры // ПередНачаломДобавления
И она не сработала. Начал разбираться. Вот обработчик этого события, модуль ПоставщикДанных.ИндексированнаяТаблица:
Процедура ДобавитьСтроку() Экспорт
ИмяМетода = Сервис.ПолучитьИмяМетода(КонтейнерТабличногоПоля,"ПередНачаломДобавления");
Если Информатор.МетодСуществует(КонтекстФормы,ИмяМетода) = 1 Тогда
СтруктураПараметров = СоздатьОбъект("СписокЗначений");
СтруктураПараметров.Установить("Копирование",0);
СтруктураПараметров.Установить("ФСО",-1);
араметров);
Если СтруктураПараметров.Получить("ФСО") = 0 Тогда
Возврат;
КонецЕсли;
КонецЕсли;
ИндексированнаяТаблица.НоваяСтрока();
НомерСтроки = ИндексированнаяТаблица.НомерСтроки;
я().Обновить();
АктивизироватьСтроку(НомерСтроки);
КонецПроцедуры // ДобавитьСтроку
Видим, что здесь в структуру параметров передается три параметра, а не два.
Когда написал
Процедура ТабличноеПолеМногострочнойЧастиПередНачаломДобавления(Копирование,ФСО,ФСО1)
ФСО1=0;
КонецПроцедуры // ПередНачаломДобавления
все заработало.
То же самое и с событием индексированной таблицы ПередУдалением, только там в структуру параметров передается два параметра вместо одного. Остальные события, правда, не крутил.
Если что, не пинайте сильно, только начинаю разбираться с классом, может каких тонкостей и не заметил.