|
0
Альбатрос
18.05.17
✎
09:40
|
Конфигурация Управление аптечной сетью, редакция 1.2 УФ
Есть внешняя обработка для печати комплекта документа РТУ. Я добавил еще одну внешнюю обработку печати для Торг-12 и хочу вывести ее в комплект. Все получается, в комплекте она формируется, но не печатается. Если отключить галки в комплекте и оставить только Торг12, она печатается. Нашел вот такой кусок кода:
Функция ПакетДокументов(ТабличныеДокументы, ОбъектыПечати, ПечататьКомплектами, КоличествоЭкземпляров = 1) Экспорт
ПакетОтображаемыхДокументов = Новый ПакетОтображаемыхДокументов;
КоллекцияПечатныхФорм = ТабличныеДокументы.ВыгрузитьЗначения();
Для Каждого ПечатнаяФорма Из КоллекцияПечатныхФорм Цикл
ПечататьКомплектами = ПечататьКомплектами Или ПечатнаяФорма.ДвусторонняяПечать <> ТипДвустороннейПечати.Нет;
КонецЦикла;
Если ПечататьКомплектами И ОбъектыПечати.Количество() > 0 Тогда
Для Каждого ОбъектПечати Из ОбъектыПечати Цикл
ИмяОбласти = ОбъектПечати.Представление;
Для Каждого ПечатнаяФорма Из КоллекцияПечатныхФорм Цикл
Область = ПечатнаяФорма.Области.Найти(ИмяОбласти);
Если Область = Неопределено Тогда
Продолжить;
КонецЕсли;
ТабличныйДокумент = ПечатнаяФорма.ПолучитьОбласть(Область.Верх, , Область.Низ);
ЗаполнитьЗначенияСвойств(ТабличныйДокумент, ПечатнаяФорма, "АвтоМасштаб,Вывод,ВысотаСтраницы,ДвусторонняяПечать,Защита,ИмяПринтера,КодЯзыкаМакета,КоличествоЭкземпляров,МасштабПечати,ОриентацияСтраницы,ПолеСверху,ПолеСлева,ПолеСнизу,ПолеСправа,РазборПоКопиям,РазмерКолонтитулаСверху,РазмерКолонтитулаСнизу,РазмерСтраницы,ТочностьПечати,ЧерноБелаяПечать,ШиринаСтраницы,ЭкземпляровНаСтранице");
ПакетОтображаемыхДокументов.Состав.Добавить().Данные = ПакетСОднимТабличнымДокументом(ТабличныйДокумент);
КонецЦикла;
КонецЦикла;
Иначе
Для Каждого ПечатнаяФорма Из КоллекцияПечатныхФорм Цикл
ТабличныйДокумент = Новый ТабличныйДокумент;
ТабличныйДокумент.Вывести(ПечатнаяФорма);
ЗаполнитьЗначенияСвойств(ТабличныйДокумент, ПечатнаяФорма, "АвтоМасштаб,Вывод,ВысотаСтраницы,ДвусторонняяПечать,Защита,ИмяПринтера,КодЯзыкаМакета,КоличествоЭкземпляров,МасштабПечати,ОриентацияСтраницы,ПолеСверху,ПолеСлева,ПолеСнизу,ПолеСправа,РазборПоКопиям,РазмерКолонтитулаСверху,РазмерКолонтитулаСнизу,РазмерСтраницы,ТочностьПечати,ЧерноБелаяПечать,ШиринаСтраницы,ЭкземпляровНаСтранице");
ПакетОтображаемыхДокументов.Состав.Добавить().Данные = ПакетСОднимТабличнымДокументом(ТабличныйДокумент);
КонецЦикла;
КонецЕсли;
ПакетКомплектов = Новый ПакетОтображаемыхДокументов;
Для Номер = 1 По КоличествоЭкземпляров Цикл
ПакетКомплектов.Состав.Добавить().Данные = ПакетОтображаемыхДокументов;
КонецЦикла;
Возврат ПакетКомплектов;
КонецФункции
Затык вот тут:
Область = ПечатнаяФорма.Области.Найти(ИмяОбласти);
Если Область = Неопределено Тогда
Продолжить;
КонецЕсли;
То есть, если я галками оставляю СФ и Торг12 происходит следующее: для СФ ИмяОбласти = "Док_1", Область <> неопределено, ибо у ее ТабДока откуда-то появляется область "Док_1". У Торг12 ИмяОбласти = "Док_2", Область = неопределено, ибо такой области у ее ТабДока нет.
Надеюсь, понятно объяснил :) Кто сталкивался с подобной системой печати комплекта?
|
|