![]() |
![]() |
|
Внешняя печатная форма на УФ с параметрами | ☑ | ||
---|---|---|---|---|
0
animatic
26.08.15
✎
00:09
|
Есть две внешние печатные формы, по-сути отличающиеся в мелочах в макетах. Хотел объединить их в одну обработку с двумя макетами и в зависимости от параметра выводит либо один, либо другой макет. Как такое реализовать на УФ, параметры не нужно располагать на отдельной форме, должно быть по аналогии с ТОРГ-12, т.е. две команды, одна вызывает один макет, другая второй. В обычных формах для этого использовались параметры, тут чет не разберусь как это сделать.
|
|||
1
PaulBC
26.08.15
✎
02:58
|
(0) Ну так через команды и делай, в процедуре Печать(ИдентификаторКоманды, ОбъектыНазначенияМассив) проверяй ИдентификаторКоманды
|
|||
2
animatic
26.08.15
✎
08:32
|
(1) подробней можно, я с уф не очень дружу еще
|
|||
3
PaulBC
26.08.15
✎
08:53
|
В модуле объекта обработки, в Функция СведенияОВнешнейОбработке() добавляешь две команды с разными идентификаторами, в процедуре Печать() эти идентификаторы отлавливаешь.
https://its.1c.ru/db/bspdoc#content:427:1:issogl1_использование_при_разработке_конфигурации |
|||
4
animatic
26.08.15
✎
09:57
|
(3) спасибо
|
|||
5
animatic
26.08.15
✎
10:19
|
(3) сделал так, вроде работает
в Функция СведенияОВнешнейОбработке() добавил две команды: НоваяКоманда = ПараметрыРегистрации.Команды.Добавить(); НоваяКоманда.Представление = НСтр("ru = 'Договор поставки (материал)'"); НоваяКоманда.Идентификатор = "ДоговорПоставкиМатериал"; НоваяКоманда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыВызовСерверногоМетода(); НоваяКоманда.ПоказыватьОповещение = Истина; НоваяКоманда.Модификатор = "ПечатьMXL"; НоваяКоманда = ПараметрыРегистрации.Команды.Добавить(); НоваяКоманда.Представление = НСтр("ru = 'Договор поставки (инструмент)'"); НоваяКоманда.Идентификатор = "ДоговорПоставкиИнструмент"; НоваяКоманда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыВызовСерверногоМетода(); НоваяКоманда.ПоказыватьОповещение = Истина; НоваяКоманда.Модификатор = "ПечатьMXL"; В процедуре Печать() прописал так: Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "ДоговорПоставкиМатериал") Тогда УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию( КоллекцияПечатныхФорм, "ДоговорПоставкиМатериал", НСтр("ru = 'Договор поставки (материал)'"), СформироватьПечатнуюФормуДоговорПоставки(МассивОбъектов, ОбъектыПечати, Истина), , "ПФ_MXL_ДоговорПоставкиМатериал"); КонецЕсли; Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "ДоговорПоставкиИнструмент") Тогда УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию( КоллекцияПечатныхФорм, "ДоговорПоставкиИнструмент", НСтр("ru = 'Договор поставки (инструмент)'"), СформироватьПечатнуюФормуДоговорПоставки(МассивОбъектов, ОбъектыПечати), , "ПФ_MXL_ДоговорПоставкиИнструмент"); КонецЕсли; |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |