|
Внешняя печатная форма: печать по условию | ☑ | ||
---|---|---|---|---|
0
Kifsif
01.11.14
✎
12:31
|
Бухгалтерия предприятия, редакция 3.0.36.18.
Внешняя печатная форма. По выводу на печать выполняются определенные проверки. Если все условия не выполнены, то пользователю выдается сообщение: вот там нужно твое внимание. И документ не печатается. Технически я планировал это сделать тем, что процедура ЗаполнитьТабДок выдает либо подготовленный к печати табличный документ, либо Ложь. И уже в процедуре Печать я думал эту Ложь поймать: Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт ЗаполненныйТабДок = ЗаполнитьТабДок(МассивОбъектов[0]); Если ЗаполненныйТабДок = Ложь Тогда // ТабДок может получить значение Ложь. Возврат; // Нельзя передать Ложь в модуль УправлениеПечатью. КонецЕсли; // Если ложь, то просто не печатаем ничего (пользователю выдается сообщение). УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "Макет", // ИмяМакета - Строка - имя макета; "Макет", // СинонимМакета - Строка - представление макета; ЗаполненныйТабДок); // ТабличныйДокумент - ТабличныйДокумент - печатная форма документа; КонецПроцедуры Однако, получаю ошибку периода исполнения: {ОбщийМодуль.ДополнительныеОтчетыИОбработки.Модуль(233)}: В обработчике печати не был сформирован табличный документ для: Макет ВызватьИсключение(ТекстСообщенияОбОшибке); Если провалиться в Конфигуратор, то там попадаем вот на этот кусочек: // Проверим, все ли макеты были сформированы Для Каждого Стр Из КоллекцияПечатныхФорм Цикл Если Стр.ТабличныйДокумент = Неопределено Тогда ТекстСообщенияОбОшибке = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( НСтр("ru = 'В обработчике печати не был сформирован табличный документ для: %1'"), Стр.ИмяМакета); ВызватьИсключение(ТекстСообщенияОбОшибке); КонецЕсли; Стр.ТабличныйДокумент.КоличествоЭкземпляров = Стр.Экземпляров; КонецЦикла; Точнее, попадаем на строку ВызватьИсключение в этом кусочке. По идее, в процедуре Печать есть некие ПараметрыВывода: Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Но я ими пользоваться не умею. Был бы признателен за совет - как мне подавить вывод на печать, но чтобы он не душился на исключении? |
|||
1
Новенький_2009
05.11.14
✎
11:17
|
Апну, в ключе: думал как решить эту интересную задачку.
На ум пришло сделать внешнюю обработку с клиентским вызовом, где выдавать алярм пользователю. Что умный люд скажет? |
|||
2
Kamas
05.11.14
✎
11:23
|
(1) я бы не парился и в менеджере раньше вызывал исключения что то типа ВызватьИсключение("организация не проставлена ")
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |