Для изменения данных табличных частей, в типовых конфигурациях есть возможность подключать специальные внешние обработки. В управляемом приложении обработки заполнения табличных частей имеют определенную структуру данных. Обработки ТЧ для обычного и управляемого приложений отличаются. Обработка табличной части для управляемого приложения содержит экспортную функцию СведенияОВнешнейОбработке() и процедуру ВыполнитьКоманду().
Экспортная функция "СведенияОВнешнейОбработке()" Функцию обязательная. Определяется в модуле обработки и выполняется на сервере.
Параметры регистрации печатной формы
- Вид - ЗаполнениеОбъекта
- Назначение - массив объектов для которых предназначена обработка
- Наименование - имя для регистрации в справочнике внешних обработок
- Версия - для удобства версирования обработок (1.0, 1.1, и т.д.)
- БезопасныйРежим - в безопасном режиме не доступна COM технология, загрузка внешних компонент, доступ к файловой системе, доступ к Интернету.
- Информация - описание внешней обработки
- Команды - таблица значений содержит команды
Параметры команд
- Представление - имя кнопки в меню заполнить
- Идентификатор - уникальный идентификатор команды
- Использование - ВызовСерверногоМетода или ВызовКлиентскогоМетода
- ПоказыватьОповещение - вывод оповещения при печати
- Модификатор - для печатных форм задаётся значение "ПечатьMXL"
Функция СведенияОВнешнейОбработке() Экспорт ПараметрыРегистрации = Новый Структура; ПараметрыРегистрации.Вставить("Вид", "ЗаполнениеОбъекта"); МассивНазначений = Новый Массив; МассивНазначений.Добавить("Документ.ИмяДокумента"); ПараметрыРегистрации.Вставить("Назначение", МассивНазначений); ПараметрыРегистрации.Вставить("Наименование", "Наименование"); ПараметрыРегистрации.Вставить("Версия", "1.0"); ПараметрыРегистрации.Вставить("БезопасныйРежим", Ложь); ПараметрыРегистрации.Вставить("Информация", "Заполнение объекта ИмяДокумента"); ТаблицаКоманд = Новый ТаблицаЗначений; ТаблицаКоманд.Колонки.Добавить("Представление"); ТаблицаКоманд.Колонки.Добавить("Идентификатор"); ТаблицаКоманд.Колонки.Добавить("Использование"); ТаблицаКоманд.Колонки.Добавить("ПоказыватьОповещение"); ТаблицаКоманд.Колонки.Добавить("Модификатор"); НоваяКоманда = ТаблицаКоманд.Добавить(); НоваяКоманда.Представление = "Представление"; НоваяКоманда.Идентификатор = "ИдентификаторКоманды"; НоваяКоманда.Использование = "ВызовКлиентскогоМетода"; НоваяКоманда.ПоказыватьОповещение = Истина; НоваяКоманда.Модификатор = "";
ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);
Возврат ПараметрыРегистрации; КонецФункции
Экспортная процедура "ВыполнитьКоманду()" Процедура обязательная. Если параметр "Использование" установлен в значение "ВызовСерверногоМетода", то обязательная экспортная функция ВыполнитьКоманду() должна располагаться в модуле обработки и выполняться на стороне сервера. Если установлено значение "ВызовКлиентскогоМетода", то обязательная экспортная функция ВыполнитьКоманду() должна располагаться в модуле основной формы обработки и выполняться на стороне клиента.
Параметры
- ИдентификаторКоманды - идентификатор команды (строка)
- ОбъектыНазначенияМассив - содержит один или несколько объектов, которые нужно измененить
Процедура ВыполнитьКоманду(ИдентификаторКоманды, ОбъектыНазначенияМассив) Экспорт Для каждого СсылкаНаОбъект Из ОбъектыНазначенияМассив Цикл ОбъектНазначения = СсылкаНаОбъект.ПолучитьОбъект(); //Обработка объекта //... //... //... ОбъектНазначения.Записать(); КонецЦикла; КонецПроцедуры
В информационной базе типовой конфигурации, внешние обработки и отчеты хранятся в специальном справочнике. Добавить внешнюю обработку заполнения табличной части для управляемого приложения в информационную базу типовой конфигурации, можно в режиме 1С:Предприятие.
|