Содержание:
1. Общие понятия про обработку в 1С 8.3
2. Внешняя обработка находится на диске, без ИБ
3. Обработка с печатными формами сохранены внутри информационной базы
1. Общие понятия про обработку в 1С 8.3
Здравствуйте, коллеги! В этой статья я расскажу о том, как открыть внешнюю обработку в 1С через код программы. Однако перво-наперво, все же, считаю необходимым рассмотреть понятие обработки, чтобы в дальнейшем у читателя не осталось никаких вопросов.
Обработка – это прикладной объект внутри конфигурации, который нужен, чтобы выполнять разные действия с информацией. Пример: при помощи обработки выполняется удаление старой информации и данных. Обработка содержит в себе формы, при помощи которых происходит ввод переменных и параметров, которые в дальнейшем будут иметь значение. Отличаются обработка с отчётом тем, что отчёт использует схему, чтобы компоновать данные, а обработка – нет.
А программно это означает, что нужно открывать внешнюю обработку не нажатием кнопок, а «вызывая» её при помощи кода программы.
В 1С предусмотрен специальный объект под названием «ВнешниеОбработки», необходимый, что следует из его названия, для работы именно с внешними обработками.
Существует два возможных варианта развития событий:
1. Когда внешняя обработка находится на диске (без информационной базы);
2. Форма для печати/внешняя обработка сохранена внутри информационной базы.
2. Внешняя обработка находится на диске, без ИБ
Согласно условию, необходимо открыть внешнюю обработку при помощи кода программы. Для этого в системе 1С необходимо узнать адрес файла, в котором она сохранена. После этого можем открывать форму внешней обработки, получать её объекты и так далее.
Чтобы открыть программно форму из обработки воспользуемся специальной функцией «ПолучитьФорму()» в объекте «ВнешниеОбработки». Внутри функции содержатся различные параметры. Рассмотри наипростейшее открытие внешней формы в обработке, пример которого показан на скриншоте ниже.
Рис. 1 Открытие внешней формы в обработке
Чтобы открыть не основную форму во внешней обработке, необходимо обязательно указать её название:
Рис. 2 Открытие внешней обработки – не основной формы
Рассмотрим случай, в котором необходимо вызвать внешнюю обработку в виде объекта. Для этого есть функция «Создать()» в объекте «ВнешниеОбработки».
Рис. 3 Функция «Создать()» в объекте «ВнешниеОбработки»
Согласно стандартным настройкам, любая обработка будет открыта только в безопасном режиме. При необходимости его можно отключить, как показано на скриншоте ниже.
Рис. 4 Отключение безопасного режима обработки 1С 8.3
3. Обработка с печатными формами сохранены внутри информационной базы
В некоторых конфигурациях есть возможность сохранить обработки с печатными формами в самой базе с информацией. Чтобы воспользоваться данной возможностью следует вызвать справочник с названием «ВнешниеОбработки». Внешняя обработка в 1С 8 хранится обычно в:
· в реквизите с наименованием «ХранилищеВнешнейОбработки»;
· как двоичный код;
· внутри таблицы в части «Принадлежность» внутри реквизита «ХранилищеВнешнейОбработки».
Для того чтобы открыть внешнюю обработку, следуйте приведенной ниже инструкции:
1. взять в хранилище саму обработку;
2. файл, в котором находится нужная обработка, сохранить;
3. запустить форму, либо получить объект в обработке;
4. в случае, если это внешняя печатная форма, заполнить реквизит по умолчанию «СсылкаНаОбъект» и вызывать функцию «Печать», которая сработает на экспорт.
Рис. 5 Как открыть внешнюю обработку
Рис. 6 Заполнение реквизит СсылкаНаОбъект
В данной статье была проведена полная инструкция по открытию внешней обработки при помощи кода программы. Были рассмотрены два случая: когда обработка хранится отдельно на диске и когда обработка сохранена вместе с ИБ. Для каждого из случаев был написан код, при помощи которого можно открыть обработку. Надеюсь, данная информация оказалась для вас полезной. Однако хочется отметить, что в работе с 1С очень часто возникают сложные вопросы, и если у Вас есть трудности с чем-либо, Вы всегда можете обратиться к нам за помощью. Наши специалисты помогут решить любую проблему, связанную с работой в 1С.
Специалист компании «Кодерлайн»
Айдар Фархутдинов