Wednesday, January 09, 2008

Требования в внешней обработке, регистрируемой в качестве дополнительной печатной формы (1с восьмая)

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

Функция Печать() Экспорт
ТабДок = Новый ТабличныйДокумент;
Запрос = Новый Запрос;
Запрос.Текст = «
|ВЫБРАТЬ …. ИЗ Документ…
|ГДЕ Ссылка = &СсылкаНаДокумент»;
// передача в запрос значения описанного выше реквизита
Запрос.УстановитьПараметр(«СсылкаНаДокумент», СсылкаНаОбъект);
...
// заполнение табличного документа
...
Возврат ТабДок;
КонецФункции

Дополнительно для внешней обработки определены еще некоторые условия, которые не являются обязательными к выполнению. С их помощью возможно выполнение регистрации внешней обработки в базе полностью в автоматическом режиме.
1. В качестве синонима внешней обработки можно указать пользовательское представление данной печатной формы, которое при регистрации будет автоматически помещено в наименование этой формы
2. Для внешней обработки может быть определен дополнительный макет Параметры_Авторегистрации, которые в первом столбце содержит перечень объектов конфигурации, которым данная форма будет принадлежать. Имя объекта должно совпадать по синтаксису с вызовом соответствующего менеджера объекта, например "Документы.ПоступлениеТоваровУслуг" или "Справочники.ОсновныеСредства".

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


Хотел запостить свой самописный пример, но что-то не нашел.....
Найду - дам...

ЗЫ А потом этот epf подключаешь к конфе, как в 7.7 через сервис-доп печатные формы, но в отличии от 7.7 он хранится сразу в БД и поэтому при изменении надо его переподключать...