Как программно открыть внешнюю обработку, внешнюю печатную форму в 1С

Для работы с внешними обработками (а внешняя печатная форма тоже является внешней обработкой) существует объект ВнешниеОбработки.

Рассмотрим два возможных случая:

Внешняя обработка хранится на диске отдельно от информационной базы

Для программного открытия внешней обработки в 1С нужно знать адрес ее файла. Зная его, можно либо открыть форму обработки, либо получить объект обработки для проведения с ним дальнейших действий (например, для вызова экспортных функций из модуля объекта).

Открытие формы внешней обработки

Для программного открытия формы внешней обработки в 1С используется функция ПолучитьФорму() объекта ВнешниеОбработки. Функция имеет несколько параметров. Рассмотрим простое открытие основной формы обработки:

//В переменной АдресФайла находится полный путь к файлу внешней обработки
Форма=ВнешниеОбработки.ПолучитьФорму(АдресФайла);
Форма.Открыть();

Для открытия неосновной формы внешней обработки необходимо указать ее имя.

//В переменной АдресФайла находится полный путь к файлу внешней обработки
Форма=ВнешниеОбработки.ПолучитьФорму(АдресФайла, "НеосновнаяФорма");
Форма.Открыть();

Открытие внешней обработки как объекта

Для того чтобы получить внешнюю обработку как объект используется функция Создать() объекта ВнешниеОбработки.

//В переменной АдресФайла находится полный путь к файлу внешней обработки
ОбъектОбработки=ВнешниеОбработки.Создать(АдресФайла);

По умолчанию все обработки открываются в безопасном режиме. Чтобы его отключить, используются следующие параметры:

//В переменной АдресФайла находится полный путь к файлу внешней обработки
ОбъектОбработки=ВнешниеОбработки.Создать(АдресФайла, Ложь);

Внешняя обработка или печатная форма сохранена в информационной базе

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

Для открытия внешней обработки нужно:

  1. Получить ее из хранилища.
  2. Сохранить файл с обработкой на диск.
  3. Открыть форму или получить объект обработки.
  4. Если мы имеем дело с внешней печатной формой, то можно заполнить стандартный реквизит СсылкаНаОбъект и вызвать экспортную функцию Печать.
//В переменной СпрСсылка находится ссылка на элемент справочника ВнешниеОбработки
ДвДанные=СпрСсылка.ХранилищеВнешнейОбработки.Получить();
АдресФайла=ПолучитьИмяВременногоФайла();
ДвДанные.Записать(АдресФайла);
ОбъектОбработки=ВнешниеОбработки.Создать(АдресФайла, Ложь);

//Для внешней печатной формы. СсылкаНаОбъект содержит ссылку на элемент, которому принадлежит печатная форма

ОбъектОбработки.СсылкаНаОбъект=СсылкаНаОбъект;
ТабДок=ОбъектОбработки.Печать();

Как программно открыть внешнюю обработку, внешнюю печатную форму в 1С: 1 комментарий

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *