Просто открыть форму обработки можно так:
Код 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: Объекты конфигурации – Ветвь конфигурации «Общие» – Роли и права доступа – Безопасный режим работы.
Подробнее об использовании метода ПоместитьФайл() можно прочитать в синтакс-помощнике: Глобальный контекст – Процедуры и функции работы с файлами.
Подробнее об использовании метода Подключить() можно прочитать в синтакс-помощнике: Прикладные объекты – Внешние обработки и отчеты – ВнешниеОбработкиМенеджер – Методы.