HelpF.pro

Как программно открыть обработку с передачей параметра?

Просто открыть форму обработки можно так:
Код 1C v 8.2 УП
 &НаКлиенте
Процедура ОткрытьОбработку(Команда)
ОткрытьФорму("Обработка.ОбработкаВводБланкЗаказа.Форма");
КонецПроцедуры



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

Код 1C v 8.2 УП
 ПараметрыФормы = Новый Структура;
ПараметрыФормы.Вставить("ДокСсылка", НужнаяСсылка);

ОткрытьФорму("Обработка.ПечатьНаправления.Форма", ПараметрыФормы);


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


В обработчике ПриСозданииНаСервере() можно проверить наличие переданных параметров с помощью
Код 1C v 8.2 УП
 Если Параметры.Свойство("ЛюбойПараметр") Тогда
// ваш код
КонецЕсли


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

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

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

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


Еще посмотрите: Как программно открыть внешнюю обработку?
Опубликовано на сайте: https://HelpF.pro
Прямая ссылка: https://HelpF.pro/faq82/view/1398.html