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