8.х Печать нескольки макетов

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Mikin, 6 апр 2011.

  1. TopicStarter Overlay
    Mikin
    Offline

    Mikin Опытный в 1С

    Регистрация:
    16 фев 2011
    Сообщения:
    347
    Симпатии:
    0
    Баллы:
    26
    Добрый день! Есть 3 обработки которые печатаю 3 бланка. Как мне объеденить их в один,чтобы при печати ,печатало их 3 сразу ???
  2. Diego
    Offline

    Diego Любитель 1С Команда форума

    Регистрация:
    3 апр 2009
    Сообщения:
    966
    Симпатии:
    2
    Баллы:
    29
    Написать процедуру, в котороый бы последовательно выполнялись все процедуры печати из каждой обработки.
  3. TopicStarter Overlay
    Mikin
    Offline

    Mikin Опытный в 1С

    Регистрация:
    16 фев 2011
    Сообщения:
    347
    Симпатии:
    0
    Баллы:
    26
    Пример бы, а то не совсем понятно ,что писать (
  4. Diego
    Offline

    Diego Любитель 1С Команда форума

    Регистрация:
    3 апр 2009
    Сообщения:
    966
    Симпатии:
    2
    Баллы:
    29
    Так каков вопрос (ни о чём), таков и ответ (ни о чём)... :angry:
    Ни про конфигурацию, ни про обработки и что именно они печатают, откуда обработки вызываются, Вы ничего не сказали.

    А пример...
    Делаете четвертую обработку, в которой при нажатии кнопки "Выполнить", последовательно открывается каждая обработка и в ней выполняется процедура печати.

    Но этот пример - пальцем в небо, т.к. скорее всего печать из обработок идет с определенными параметрами (привязка к документу, или к номенклатуре,или к контрагенту,или к складу, или к вспышкам на солнце), о чем Вы умолчали.
  5. TopicStarter Overlay
    Mikin
    Offline

    Mikin Опытный в 1С

    Регистрация:
    16 фев 2011
    Сообщения:
    347
    Симпатии:
    0
    Баллы:
    26
    Простите за такое информирование . 3 обработки подключены к Документу Заказ покупателя. Каждая обработка печатаей свой бланк(макет) со своими параметрами . Перекинул все Функции с каждой обработки в одну в конце попробовал так :
    Код:
     Функция Печать() Экспорт
    i=0;	
    Пока i < 3  <span style='cursor: pointer; color:red' Onclick="window.open('http://www.1c-pro.ru/wiki/index.php/цикл')">Цикл	</span>
    Если i =  0 <span style='cursor: pointer; color:red' Onclick="window.open('http://www.1c-pro.ru/wiki/index.php/тогда')">Тогда	</span>
    ИмяМакета = "Заказ";
    ТабДокумент = ПечатьЗаказа();
    i = i+1;
    //Возврат ТабДокумент;
    ИначеЕсли i = 1 Тогда 
    ИмяМакета = "Карта";
    ТабДокумент = ПечатьКарты();
    i = i+1;
    //Возврат ТабДокумент;
    Иначе
    ИмяМакета = "Облсуживание";
    ТабДокумент = ПечатьОбслуживания();
    //Возврат ТабДокумент;
    КонецЕсли;
    КонецЦикла;
    
    
    КонецФункции // Печать
    
    
    Что скажите ?
  6. Diego
    Offline

    Diego Любитель 1С Команда форума

    Регистрация:
    3 апр 2009
    Сообщения:
    966
    Симпатии:
    2
    Баллы:
    29
    Ну обработок все таки нету, как я понял.
    Есть разные процедуры в модуле документа "Заказ" или внешние печатные формы.

    Далее Ваш ТабДокумент ведь передаётся в стандартную "Напечатать документ"?

    Тогда может проще так:

    Код:
    Если ИмяМакета = "Все сразу" Тогда
    КоличествоЭкземпляров = 1; //или сколько надо 
    НаПринтер = Истина; //сразу на принтер уйдет задание
    
    ТабДокумент = ПечатьЗаказа();
    НапечататьДокумент(ТабДокумент, КоличествоЭкземпляров, НаПринтер, СформироватьЗаголовокДокумента(ЭтотОбъект, Строка(ВидОперации)), Ссылка);
    
    ТабДокумент = ПечатьКарты();
    НапечататьДокумент(ТабДокумент, КоличествоЭкземпляров, НаПринтер, СформироватьЗаголовокДокумента(ЭтотОбъект, Строка(ВидОперации)), Ссылка);
    
    ТабДокумент = ПечатьОбслуживания();
    НапечататьДокумент(ТабДокумент, КоличествоЭкземпляров, НаПринтер, СформироватьЗаголовокДокумента(ЭтотОбъект, Строка(ВидОперации)), Ссылка);
    КонецЕсли;
    
  7. TopicStarter Overlay
    Mikin
    Offline

    Mikin Опытный в 1С

    Регистрация:
    16 фев 2011
    Сообщения:
    347
    Симпатии:
    0
    Баллы:
    26
    На печать уходит только ПечатьЗаказа() ,остальные нет.
  8. TopicStarter Overlay
    Mikin
    Offline

    Mikin Опытный в 1С

    Регистрация:
    16 фев 2011
    Сообщения:
    347
    Симпатии:
    0
    Баллы:
    26
    Получилось вот так.
    Код:
    КоличествоЭкземпляров = 1; 
    НаПринтер = Ложь; 
    
    ТабДокумент = ПечатьЗаказа();
    УниверсальныеМеханизмы.НапечататьДокумент(ТабДокумент, КоличествоЭкземпляров, НаПринтер, ОбщегоНазначения.СформироватьЗаголовокДокумента(СсылкаНаОбъект));
    
    ТабДокумент2 = ПечатьКарты();
    УниверсальныеМеханизмы.НапечататьДокумент(ТабДокумент2, КоличествоЭкземпляров, НаПринтер, ОбщегоНазначения.СформироватьЗаголовокДокумента(СсылкаНаОбъект));
    
    ТабДокумент3 = ПечатьОбслуживания();
    УниверсальныеМеханизмы.НапечататьДокумент(ТабДокумент2, КоличествоЭкземпляров, НаПринтер, ОбщегоНазначения.СформироватьЗаголовокДокумента(СсылкаНаОбъект));
    
    Возврат  ТабДокумент3;
    
    
  9. Diego
    Offline

    Diego Любитель 1С Команда форума

    Регистрация:
    3 апр 2009
    Сообщения:
    966
    Симпатии:
    2
    Баллы:
    29
    Да, точно.
    Просто я свой пример брал из старой УПП, где еще не использовалась ссылка на общий модуль "УниверсальныеМеханизмы".

    Поскольку Вы свою конфигурацию так и не назвали :angry:

    Кстати, последний вызов НапечататьДокумент(ТабДокумент3....) наверно не нужен,
    так как после "Возврат ТабДокумент3" все равно отработает общая для всех макетов процедура "НапечататьДокумент".
    Сейчас у Вас наверно макет из "ПечатьОбслуживания" два раза печатается...
Похожие темы
  1. sergey198
    Ответов:
    1
    Просмотров:
    1.203
Загрузка...

Поделиться этой страницей