1с вызвать обработку программно

Просто открыть форму обработки можно так:
Код 1C v 8.2 УП

А вот открыть форму обработки с передачей параметров:

А в форме обработки, которую открыли, эта ссылка будет доступна через коллекцию «Параметры«.
Т.е. так: Код 1C v 8.2 УП

В обработчике ПриСозданииНаСервере() можно проверить наличие переданных параметров с помощью
Код 1C v 8.2 УП

Внимание! : Параметры формы доступны только в событии формы «ПриСозданииНаСервере». Т.е. в других процедурах ты с этой ссылкой работать не получится!

Тут два варианта:
1) Создать реквизит формы, допустим, с именем «СсылкаНаДокумент». И в событии «ПриСозданииНаСервере» заполнить этот реквизит.
Код 1C v 8.2 УП
И дальше уже работать с ним.

2) Создать не реквизит формы, а параметр (закладка «Параметры» — там же рядом с закладками «Реквизиты» и «Команды»). Назвать его надо будет так же, как ключ структуры, используемый в коде открытия формы (в моем примере — «ДокСсылка»). И в свойствах этого параметра установить флаг «Ключевой параметр». Тогда к этому параметру можно будет обращаться так, как я писал выше — Параметры.ДокСсылка
Но уже не только в событии «ПриСозданииНаСервере«, а в любой процедуре модуля формы.

Просто открыть форму обработки можно так:

Открыть форму обработки с передачей параметров:

А в форме обработки, которую открыли, эта ссылка будет доступна через коллекцию «Параметры».

В обработчике ПриСозданииНаСервере() можно проверить наличие переданных параметров с помощью

Внимание! : Параметры формы доступны только в событии формы «ПриСозданииНаСервере». Т.е. в других процедурах, с этой ссылкой работать не получится!

Здесь два варианта:

1) Создать реквизит формы, допустим, с именем «СсылкаНаДокумент». И в событии «ПриСозданииНаСервере» заполнить этот реквизит.

И дальше уже работать с ним.

2) Создать не реквизит формы, а параметр (закладка «Параметры» — там же рядом с закладками «Реквизиты» и «Команды»). Назвать его надо будет так же, как ключ структуры, используемый в коде открытия формы (в моем примере — «ДокСсылка»). И в свойствах этого параметра установить флаг «Ключевой параметр».

Тогда к этому параметру можно будет обращаться так, как указано выше — Параметры.ДокСсылка. Но уже не только в событии «ПриСозданииНаСервере», а в любой процедуре модуля формы.

Начиная из версии 8.2, приложение не работает непосредственно с локальными файлами, расположенными на компьютере. Файлы должны находиться на сервере.

Поэтому для открытия внешней обработки нужно выполнить следующую последовательность действий:

  • Передать файл внешней обработки на сервер
  • Подключить внешнюю обработку
  • Открыть форму внешней обработки

Чтобы передать файл на сервер, его нужно поместить во временное хранилище. Для этого сначала на клиенте, в обработчике команды открытия внешней обработки, методом глобального контекста ПоместитьФайл() мы помещаем файл из локальной файловой системы во временное хранилище.

В четвертом параметре этого метода указывается признак интерактивного режима выбора файла внешней обработки. Если этот параметр Истина, то появляется диалог выбора файла, в котором можно выбрать файл для помещения в хранилище. В нашем примере этот параметр – Ложь, а путь к файлу, данные из которого будут помещены во временное хранилище, явно задан во втором параметре метода.

При вызове метода ПоместитьФайл() первым его параметром, АдресХранилища, мы указываем пустую строку. После выполнения метода в нее будет помещен путь к файлу внешней обработки во временном хранилище. Этот путь мы используем для того, чтобы подключить внешнюю обработку.

Подключение внешней обработки выполняется на сервере методом Подключить() менеджера внешних обработок. В качестве параметра ему передается путь к файлу внешней обработки во временном хранилище – АдресХранилища. Возвращает этот метод имя подключенной внешней обработки, – ИмяОбработки, – которое мы используем для того, чтобы открыть форму этой обработки.

Для открытия формы внешней обработки используется метод глобального контекста ОткрытьФорму(), в который передается имя формы в виде следующей строки: “ВнешняяОбработка.”+ ИмяОбработки +”.Форма”. В приведенном варианте открывается основная форма обработки. Можно открыть также и неосновную форму обработки – об этом рассказывается в вопросе Как получить неосновную форму обработки?.

При работе в внешними обработками нужно учитывать, что по-умолчанию они запускаются в безопасном режиме исполнения программного кода. Это значит, что некоторые возможности встроенного языка будут для них недоступны. Если есть уверенность, что внешняя обработка не содержит вредоносного кода, ее можно подключить в обычном режиме исполнения программного кода. Для этого используется третий параметр метода подключить() менеджера внешних обработок.

Подробнее о режиме безопасного исполнения программного кода можно прочитать в документации: 1С:Предприятие 8.2. Руководство разработчика, Раздел 5.5.4.3: Объекты конфигурацииВетвь конфигурации «Общие»Роли и права доступаБезопасный режим работы.

Подробнее об использовании метода ПоместитьФайл() можно прочитать в синтакс-помощнике: Глобальный контекст – Процедуры и функции работы с файлами.

Подробнее об использовании метода Подключить() можно прочитать в синтакс-помощнике: Прикладные объекты – Внешние обработки и отчеты – ВнешниеОбработкиМенеджер – Методы.

Оцените статью
Добавить комментарий