Имя: Пароль:
1C
 
Комплект печати УАС
0 Альбатрос
 
18.05.17
09:40
Конфигурация Управление аптечной сетью, редакция 1.2 УФ

Есть внешняя обработка для печати комплекта документа РТУ. Я добавил еще одну внешнюю обработку печати для Торг-12 и хочу вывести ее в комплект. Все получается, в комплекте она формируется, но не печатается. Если отключить галки в комплекте и оставить только Торг12, она печатается. Нашел вот такой кусок кода:

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


Затык вот тут:
Область = ПечатнаяФорма.Области.Найти(ИмяОбласти);
                Если Область = Неопределено Тогда
                    Продолжить;
                КонецЕсли;
То есть, если я галками оставляю СФ и Торг12 происходит следующее: для СФ ИмяОбласти = "Док_1", Область <> неопределено, ибо у ее ТабДока откуда-то появляется область "Док_1". У Торг12 ИмяОбласти = "Док_2", Область = неопределено, ибо такой области у ее ТабДока нет.
Надеюсь, понятно объяснил :) Кто сталкивался с подобной системой печати комплекта?
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс