1CLenta.ru  

Сделать обработку заполнения табличной части для управляемого приложения

Программирование системы     11.05.2016 12:32     24238

Для изменения данных табличных частей, в типовых конфигурациях есть возможность подключать специальные внешние обработки. В управляемом приложении обработки заполнения табличных частей имеют определенную структуру данных. Обработки ТЧ для обычного и управляемого приложений отличаются.
Обработка табличной части для управляемого приложения содержит экспортную функцию СведенияОВнешнейОбработке() и процедуру ВыполнитьКоманду().

Экспортная функция "СведенияОВнешнейОбработке()"


Функцию обязательная. Определяется в модуле обработки и выполняется на сервере.

Параметры регистрации печатной формы
  • Вид - ЗаполнениеОбъекта
  • Назначение - массив объектов для которых предназначена обработка
  • Наименование - имя для регистрации в справочнике внешних обработок
  • Версия - для удобства версирования обработок (1.0, 1.1, и т.д.)
  • БезопасныйРежим - в безопасном режиме не доступна COM технология, загрузка внешних компонент, доступ к файловой системе, доступ к Интернету.
  • Информация - описание внешней обработки
  • Команды - таблица значений содержит команды


Параметры команд
  • Представление - имя кнопки в меню заполнить
  • Идентификатор - уникальный идентификатор команды
  • Использование - ВызовСерверногоМетода или ВызовКлиентскогоМетода
  • ПоказыватьОповещение - вывод оповещения при печати
  • Модификатор - для печатных форм задаётся значение "ПечатьMXL"


Функция СведенияОВнешнейОбработке() Экспорт

ПараметрыРегистрации = Новый Структура;
ПараметрыРегистрации.Вставить("Вид", "ЗаполнениеОбъекта");
МассивНазначений = Новый Массив;
МассивНазначений.Добавить("Документ.ИмяДокумента");
ПараметрыРегистрации.Вставить("Назначение", МассивНазначений);
ПараметрыРегистрации.Вставить("Наименование", "Наименование");
ПараметрыРегистрации.Вставить("Версия", "1.0");
ПараметрыРегистрации.Вставить("БезопасныйРежим", Ложь);
ПараметрыРегистрации.Вставить("Информация", "Заполнение объекта ИмяДокумента");

ТаблицаКоманд = Новый ТаблицаЗначений;
ТаблицаКоманд.Колонки.Добавить("Представление");
ТаблицаКоманд.Колонки.Добавить("Идентификатор");
ТаблицаКоманд.Колонки.Добавить("Использование");
ТаблицаКоманд.Колонки.Добавить("ПоказыватьОповещение");
ТаблицаКоманд.Колонки.Добавить("Модификатор");

НоваяКоманда = ТаблицаКоманд.Добавить();
НоваяКоманда.Представление = "Представление";
НоваяКоманда.Идентификатор = "ИдентификаторКоманды";
НоваяКоманда.Использование = "ВызовКлиентскогоМетода";
НоваяКоманда.ПоказыватьОповещение = Истина;
НоваяКоманда.Модификатор = "";

ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);

Возврат ПараметрыРегистрации;

КонецФункции


Экспортная процедура "ВыполнитьКоманду()"


Процедура обязательная. Если параметр "Использование" установлен в значение "ВызовСерверногоМетода", то обязательная экспортная функция ВыполнитьКоманду() должна располагаться в модуле обработки и выполняться на стороне сервера. Если установлено значение "ВызовКлиентскогоМетода", то обязательная экспортная функция ВыполнитьКоманду() должна располагаться в модуле основной формы обработки и выполняться на стороне клиента.

Параметры
  • ИдентификаторКоманды - идентификатор команды (строка)
  • ОбъектыНазначенияМассив - содержит один или несколько объектов, которые нужно измененить


Процедура ВыполнитьКоманду(ИдентификаторКоманды, ОбъектыНазначенияМассив) Экспорт

Для каждого СсылкаНаОбъект Из ОбъектыНазначенияМассив Цикл

ОбъектНазначения = СсылкаНаОбъект.ПолучитьОбъект();
//Обработка объекта
//...
//...
//...
ОбъектНазначения.Записать();

КонецЦикла;

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


В информационной базе типовой конфигурации, внешние обработки и отчеты хранятся в специальном справочнике. Добавить внешнюю обработку заполнения табличной части для управляемого приложения в информационную базу типовой конфигурации, можно в режиме 1С:Предприятие.

Комментарии (0)