Insider12 @ Today, 11:48
необходимо зарегистрироваться для просмотра ссылки
,
1. В программном интерфейсе добавляем команду типа "ОткрытиеФормы".
2. Рисуем форму с нужными полями ввода данных. В ПриСозданииНаСервере обязательно считываем и записываем в реквизиты формы параметры "ДополнительнаяОбработкаСсылка", "ИдентификаторКоманды" и "ОбъектыНазначения".
3. Пользователь вводит данные и жмет кнопку печати.
4. В обработчике кнопки печати пишем:
ПараметрыОткрытия = Новый Структура("ИсточникДанных, ПараметрыИсточника");
ПараметрыОткрытия.ПараметрыИсточника = Новый Структура("ИдентификаторКоманды, ОбъектыНазначения");
ПараметрыОткрытия.ИсточникДанных = Параметр_ДополнительнаяОбработкаСсылка;
ПараметрыОткрытия.ПараметрыИсточника.ИдентификаторКоманды = Параметр_ИдентификаторКоманды;
ПараметрыОткрытия.ПараметрыИсточника.ОбъектыНазначения = Параметр_ОбъектыНазначения;
ДопПараметры = Новый Структура;
//* заполняем введенными пользователем данными
//...
ПараметрыОткрытия.ПараметрыИсточника.ОбъектыНазначения.Добавить(ДопПараметры, "Доп. параметры");
ОткрытьФорму("ОбщаяФорма.ПечатьДокументов", ПараметрыОткрытия);
ЭтаФорма.Закрыть();
5. В модуле объекта в процедуре формирования печатной формы вставляем код:
//* поиск доп. параметров
ДопПараметры = Неопределено;
Для Каждого ПотЕлемент Из МассивОбъектов Цикл
Если ТипЗнч(ПотЕлемент.Значение) = Тип("Структура") Тогда
ДопПараметры = ПотЕлемент.Значение;
МассивОбъектов.Удалить(ПотЕлемент);
Прервать;
КонецЕсли;
КонецЦикла;
Т. е. в форме пользователь только вводит данные. Эти данные передаются таким хитрым способом в модуль объекта внешней обработки.