Имя: Пароль:
1C
1С v8
УТ 11.5 маршрутный лист вывести в отдельном окне
0 kodblack
 
10.07.23
08:59
У меня небольшой вопрос, пока не могу разобраться, может подскажите?!


Имеется форма с флагами: ТТН, ТН, УПД, ТОРГ12 т.д.
Вывожу все скопом на печать, но маршрутный лист, из-за своего размера - портит всю картину.
Как можно его вывести в отдельном окне от всех остальных печаток? т.е что бы ТТН, УПД - в одной "простыне" вышла, а Маршрутный лист - в отдельным окном....
Например:


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

итд.....
Возврат  ТабДокумент;
КонецФункции

&НаКлиенте
Процедура Печать(Команда)
    Если Дата = '00010101' Тогда
        Сообщить("Не указана дата");
        Возврат;
    КонецЕсли;
    Если Не ВсеНаправления И Направление.Пустая() Тогда
        Сообщить ("Не выбрано направление");
        Возврат;
    КонецЕсли;
    
    Если тРаспределения.Количество() = 0 Тогда
         Сообщить("Не заполнен список документов для печати");
         Возврат;
    КонецЕсли;    
    
    ЕстьДокументы = Ложь;
    Для Каждого стр Из тРаспределения Цикл
        Если стр.Выбор Тогда
            ЕстьДокументы = Истина;
            Прервать;
        КонецЕсли;    
    КонецЦикла;
    
    Если Не ЕстьДокументы Тогда    
         Сообщить("Не выбраны документы для печати");
        Возврат;
    КонецЕсли;            
            ТабДок = ПечатьНаСервере();
            
            
    ЭлементКоллекцииДляПечати = Новый Структура;
    Для Каждого ИмяКолонки Из УправлениеПечатьюКлиентСервер.ИменаПолейКоллекцииПечатныхФорм() Цикл
        ЭлементКоллекцииДляПечати.Вставить(ИмяКолонки);
    КонецЦикла;
    ЭлементКоллекцииДляПечати.ТабличныйДокумент = ТабДок;
    ЭлементКоллекцииДляПечати.Экземпляров = 1;
    КоллекцияПечатныхФорм = Новый Массив;
    КоллекцияПечатныхФорм.Добавить(ЭлементКоллекцииДляПечати);
    ПараметрыОткрытия = Новый Структура("КоллекцияПечатныхФорм,ИсточникДанных,ПараметрыПечати");
    ПараметрыОткрытия.КоллекцияПечатныхФорм = КоллекцияПечатныхФорм;
    ПараметрыОткрытия.ИсточникДанных = КоллекцияПечатныхФорм;
    ПараметрыОткрытия.ПараметрыПечати     = Новый Структура;
    ПараметрыОткрытия.ПараметрыПечати.Вставить("ЗаголовокФормы", "Печать комплекта документов");
    ПараметрыОткрытия.ПараметрыПечати.Вставить("ПереопределитьПользовательскиеНастройкиКоличества", Истина);
    ОткрытьФорму("ОбщаяФорма.ПечатьДокументов", ПараметрыОткрытия, ЭтаФорма, Строка(Новый УникальныйИдентификатор));
КонецПроцедуры
1 PuhUfa
 
10.07.23
09:03
1. Сделать макет маршрутного листа так что бы не портил картину
2. Два раза вызывать ОткрытьФорму("ОбщаяФорма.ПечатьДокументов" передавая туда в первом случае только Маршрутник во втором все остальное.
2 CepeLLlka
 
10.07.23
09:53
"Имеется форма с флагами: ТТН, ТН, УПД, ТОРГ12 т.д." - Не понятно что это такое.

Ну а вообще, попробуйте использовать "Печать комплекта документов"
3 kodblack
 
10.07.23
09:54
(1) 2й вариант более правильный.
Только как передать отдельно ТабличныйДокумент маршрута от всего массива? в отладчике, так и не смог выловить.
4 kodblack
 
10.07.23
09:55
(2) самописный документ, печать комплекта не подходит т.к  данные берутся из самописного документа.
5 CepeLLlka
 
10.07.23
10:35
(4)Да ну ладно придумывать то, у меня в моих доработках почему-то печать комплекта нормально работает.
6 Мимохожий Однако
 
10.07.23
10:39
(5) Не все любят разбираться в механизмах и процедурах типовых документов, чтобы приводить самописные объекты к единому стандарту типовой конфигурации