Пакетная печать в строго заданном порядке

19.09.18

Задачи пользователя - Пакетная печать

В силу различных особенностей ПО, ОС, драйверов и т.д. порядок печати документов не всегда совпадает с порядком их отправки на печать. Данный метод позволяет всегда получать на выходе нужный порядок документов.

В чем проблема?

Основная проблема хаотичного порядка печати - это произвольная отправка документов из очереди на печать. При печати одного документа его страницы всегда будут напечатаны в заданном порядке. Идея состоит в том, чтобы сформировать из печатных документов один документ и уже его отправить на печать.

Данная проблема уже обсуждалась, например, вот здесь. Но когда я столкнулся с этой проблемой, предложенные варианты либо не работали, либо не удовлетворяли.

Решение

Начиная с версии 8.3.3 платформы 1С реализован объект ПакетОтображаемыхДокументов, через который и реализована печать во всех современных типовых конфигурациях.

У этого объекта есть замечательная функция ЗаписатьФайлДляПечати(), которая позволяет весь пакет, с учетом порядка и копий отдельных документов, сохранить в PDF-файл. Остается лишь распечатать этот документ.

К сожалению, встроенные средства платформы позволяют только сохранять в PDF, но не читать их, а уж, тем более, печатать.

На помощь могут прийти различные консольные программы, которые позволят отправить файл на печать.

Но для себя я не нашел достойной программы, которая могла бы удовлетворить всем моим потребностям: то проблемы со скоростью, то качеством печати, то авторазворотом страниц, в итоге пришлось написать небольшую компоненту, которая бы удовлетворяла всем моим потребностям Внешняя компонента печати PDF, возможно, и вам она поможет.

Вместо метода Напечатать вызываем ЗаписатьФайлДляПечати, сохраняем PDF во временный файл и отправляем на печать уже PDF:

ИмяВременногоФайла = ПолучитьИмяВременногоФайла("pdf");
ПакетОтображаемыхДокументов.ЗаписатьФайлДляПечати(ИмяВременногоФайла);
КомпонентаПечатиPDF.Печать(ИмяВременногоФайла, "Пакет документов");

 

пакетная печать

См. также

SALE! 25%

Infostart PrintWizard

Пакетная печать Печатные формы Инструментарий разработчика Платформа 1С v8.3 Запросы 1С:Зарплата и кадры бюджетного учреждения 1С:Конвертация данных 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Платные (руб)

Инструмент, позволяющий абсолютно по-новому взглянуть на процесс разработки печатных форм. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и "прозрачность" разработки, а также навести порядок в многообразии корпоративных печатных форм.

18000 15300 руб.

06.10.2023    7343    22    6    

39

Программа групповой печати чеков ККМ Атол и Штрих из текстового файла, поддержка 54-ФЗ от 01.07.19

Пакетная печать ККМ Кассовые операции Загрузка и выгрузка в Excel Россия Бухгалтерский учет Платные (руб)

Предназначена для групповой печати чеков. Что печатать в теле чека описано в текстовом файле с разделителем запятая (CSV) Подходит для любого языка программирования который умеет записывать в текстовый файл

2000 руб.

26.07.2019    24962    38    17    

23

Внешняя компонента печати PDF (Native Win 32/64)

Разработка внешних компонент Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Внешняя компонента позволяет печатать PDF файлы непосредственно из 1С, не используя при этом сторонних программ. Прекрасно работает на сервере, тонком клиенте и веб-клиенте. Основана на проекте PDFium из состава проекта Chromium/Chrome

1500 руб.

17.09.2018    35089    104    123    

111

Групповая печать чеков из банковской выписки с настройкой (БП 3.0)

Пакетная печать Банковские операции Кассовые операции Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Бухгалтерский учет Платные (руб)

Обработка для групповой печати чеков ККМ с настройкой, загруженных из банковской выписки. На основании документа Поступление на расчетный счет!

4800 руб.

21.08.2019    19818    69    10    

23

Журнал учета ТТН (исходящих и от поставщика) для Бухгалтерии предприятия, редакция 3.0

Пакетная печать Документооборот и делопроизводство (СЭД) Оптовая торговля Печатные формы Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Обработка содержит новую форму Транспортной накладной с 01.01.2021 г. (в ред. Постановления Правительства РФ от 30.11.2021 № 2116) В отличие от внешних печатных форм, подключаемых к документу реализации, позволяет вести отдельный журнал документов. Дополнительным преимуществом является возможность формирования документов за поставщика.

2280 руб.

15.04.2014    52570    50    50    

38

Групповая пакетная печать документов "Реализация товаров и услуг" и связанных с ними "Счетов-фактур"

Пакетная печать Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Управление производственным предприятием Россия Платные (руб)

Работаете с сетями, у каждой из которых свои требования к оформлению документов? Клиент попросил перепечатать документы за год? Печатаете по 100-500 документов в день, тогда эта обработка Вам просто необходима. Данная обработка позволит Вам сэкономить время при больших объемах печати документов по отгрузке товаров и не только.

1000 руб.

29.09.2016    35804    20    5    

22

Печать непроведенных документов для УТ, КА, ERP. Настройка печати по пользователям, документам и печатным формам

Пакетная печать Печатные формы Адаптация типовых решений Универсальные функции Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Абонемент ($m)

Расширение для программ 1С:Управление торговлей, 1С:Комплексная автоматизация, 1С:ERP, которое позволяет распечатывать печатные формы для непроведенных документов. Можно настроить, каким пользователям, какие конкретные формы документов разрешено печатать без проведения документа.

2 стартмани

22.08.2023    2078    21    progmaster    7    

3

Пакетная выгрузка стандартных бухгалтерских отчетов

Пакетная печать Регламентированный учет и отчетность Файловый обмен (TXT, XML, DBF), FTP Загрузка и выгрузка в Excel Платформа 1С v8.3 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Налоговый учет Платные (руб)

Быстрое формирование сразу нескольких видов стандартных бухгалтерских отчетов - .Анализ счета, Карточка счета, Оборотно-сальдовая ведомость по счету, Отчет по проводкам. В периоды проведения проверок со стороны ФНС в деятельности предприятий часто возникает необходимость предоставления сведений из бухгалтерского учета. Обработка сократит время на формирование отчетов бухгалтеру.

6000 руб.

30.03.2023    6078    4    0    

6
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. efin 19.09.18 21:08 Сейчас в теме
Подскажите, пожалуйста, те, кто пользовался этим "Пакетом"...
Вот есть конфа (на БСП, но это не важно), веб-клиент.
Есть печатная форма у документа, а есть где-то снаружи сделанный pdf-файл, прикрепленный к этому документу.

Можно ли сделать команду "Печатать все" таким образом, чтобы в результирующий pdf для печати вывелся и табличный документ, и все страницы прикрепленного pdf'а?
2. efin 19.09.18 21:11 Сейчас в теме
(1) из ИТС я знаю, что Режим пакетной печати предназначен для печати нескольких табличных документов

Может можно как-то извернуться и встроенными средствами запихнуть pdf в табличный документ, а затем уже добавить его в пакет?
3. crazycat 212 20.09.18 02:06 Сейчас в теме
(2) К сожалению, встроенных средств для работы с PDF в 1С нет, есть возможность сохранения в PDF и все.
В вашем случае есть несколько вариантов решения:
1. Внешняя компонента печати PDF для браузера, я сейчас как раз занимаюсь ее разработкой;
2. Конвертация PDF в картинки и размещение их в табличном документе для последующей печати;
3. Вывод PDF в табличный документ - идея в том, чтобы все объекты PDF транслировать в объекты табличного документа (линии, надписи, картинки) - была мысль реализовать такое, но пока даже не знаю насколько это реально, буду пробовать.

У первых двух методов решения есть недостатки, а вот 3-й вариант, кажется, наиболее универсальным и правильным.
5. maxvcb 67 24.09.18 11:22 Сейчас в теме
(3) А как на счет использования командной строки?

"Foxit Reader.exe" PdfFile /t PrinterName
6. crazycat 212 24.09.18 15:49 Сейчас в теме
(5) в публикации я упоминал про это, но меня этот вариант не удовлетворил, у компоненты есть преимущества, например:
1. Скорость выполнения;
2. Нет необходимости в дополнительном ПО;
3. Компонента умеет выводить PDF из памяти, без сохранения файла на диск.
4. crazycat 212 20.09.18 06:48 Сейчас в теме
(2) Я добавил версию внешней компоненты печати PDF для Веб-клиента (поддерживаются браузеры Firefox и Chrome), думаю, Вам должен подойти этот вариант. Вам нужно будет передавать файл с сервера на клиент, сохранять его во временный файл и вызывать печать через компоненту.

Скоро добавлю возможность печати PDF из двоичных данных, чтобы не нужно было сохранять PDF перед печатью.
7. triviumfan 93 28.09.18 12:23 Сейчас в теме
Извините, но ведь прошло уже... "тысячелетие" в 1с.
Достаточно просто воспользоваться https://its.1c.ru/db/metod8dev#content:5792:hdoc
Статья от 08.08.2014
8. crazycat 212 28.09.18 15:46 Сейчас в теме
(7) а Вы читали статью? большой разницы нет как компонуются документы перед печатью и какими методами / объектами, в конечном итоге они отправляются на печать отдельными пакетами и дальше уже платформа 1с не контролирует процесс, проблема существует и я с ней столкнулся, при этом перед печатью документы компоновались как раз-таки через ПакетОтображаемыхДокументов, но в итоге печатались совсем не в том порядке, в каком они были в пакете.
9. triviumfan 93 28.09.18 17:06 Сейчас в теме
(8) Режим совместимости?
https://its.1c.ru/db/v838doc#bookmark:dev:TI000001244

● Поведение метода ПакетОтображаемыхДокументов.Напечатать():
● Используется режим совместимости с версией 8.3.7 – каждый документ печатается в отдельном задании.
● Не используется режим совместимости:
● Для ОС Windows:
● создается одно задание на принтер;
● весь пакет выводится в один файл, имя которого запрашивается перед выводом.
● Для ОС Linux:
● если параметры печати всех документов в пакете совпадают – поведение совпадает с поведением в ОС Windows;
● если параметры различаются – каждый документ печатается в отдельном задании принтера.
10. crazycat 212 28.09.18 23:44 Сейчас в теме
(9) Режим совместимости отключен
11. scherbakovya 03.12.18 12:10 Сейчас в теме
Как решается вопрос двусторонней печати пакета документов? Т.е. если выкинуть пакет в pdf, а потом запустить двустороннюю печать, то следующий документ может распечататься на обратной стороне предыдущего?! Также как решен вопрос с разным количеством экземпляров разных документов пакета, т.е. одних нужно 3 копии других 2 и т.п.?
12. crazycat 212 03.12.18 18:06 Сейчас в теме
(11) С двусторонней печатью попробую, отпишусь. Что касается разного количества экземпляров для разных документов, то при выводе в PDF платформа уже делает несколько копий документов, следующих друг за другом в самом PDF, компонента лишь выводит готовый PDF.
13. scherbakovya 04.12.18 09:07 Сейчас в теме
(12) Насчет вывода в pdf нескольких копий все верно, я видел, но вот заметил одну интересную вещь. Если в ПФ использовать штрихкоды, то при выводе в pdf первая копия выводится отлично, а вот вторая и последующие копии (если их больше 2-х) выводятся с не верным штрихкодом (он размазан). С таким не сталкивались?
14. crazycat 212 09.12.18 06:59 Сейчас в теме
(13) нужно смотреть реализацию печати при выводе штрих-кода, возможно, печать происходит не средствами платформы
15. crazycat 212 09.12.18 06:59 Сейчас в теме
(11) двустороннюю печать реализую в ближайшее время, напишу, пока ее поддержки нет
16. scherbakovya 25.12.18 16:09 Сейчас в теме
(15)Как успехи с реализаций печати в двустороннем варианте?
Еще заметил, что при печати большого количества документов иногда они выходят не по порядку.
17. user619273_alevtina 30.12.18 18:21 Сейчас в теме
Что с реализацией двусторонней печати?
SmArtist; +1 Ответить
20. crazycat 212 27.11.19 19:26 Сейчас в теме
(17) День добрый!

Извиняюсь за долгую реализацию, двусторонняя печать реализована.
Если ещё актуально, просьба обновить компоненту и протестировать.

Спасибо!
18. skyadmin 57 22.11.19 18:03 Сейчас в теме
Я сделал с момощью расширения модуля УправлениеПечатьюКлиент

Процедура РаспечататьТабличныеДокументы(ТабличныеДокументы, .....)

ТабличныеДокументы это список значений, подменил в нем представления (добавил в начале нужные мне цифры)
и отсортировал по представлению, а вместо
//ПакетОтображаемыхДокументов = УправлениеПечатьюВызовСервера.ПакетДокументов(ТабличныеДокументы,
//	ОбъектыПечати, ПечататьКомплектами, КоличествоКопийКомплектов);
//ПакетОтображаемыхДокументов.Напечатать(РежимИспользованияДиалогаПечати.НеИспользовать);

сделал
Для Сч = 1 По КоличествоКопийКомплектов Цикл
	Для Каждого Элемент Из ТабличныеДокументы Цикл
		ТабличныйДокумент = Элемент.Значение;
		ТабличныйДокумент.Напечатать(РежимИспользованияДиалогаПечати.НеИспользовать);
	КонецЦикла;
КонецЦикла;
19. crazycat 212 26.11.19 05:35 Сейчас в теме
(18) спасибо за пример, в Вашем примере табличные документы отправляются на печать как отдельные задания, соответственно проблема с очередью печати сохраняется, т.к. "В силу различных особенностей ПО, ОС, драйверов и т.д. порядок печати документов не всегда совпадает с порядком их отправки на печать".
21. 7OH 69 27.07.20 12:46 Сейчас в теме
А не подскажете, как при сохранении через ПакетОтображаемыхДокументов сделать так, чтобы при открытии файла был активен ОДИН конкретный лист, а не все имеющиеся сразу?
Поясню - сохраняем два листа, открываем файл - кнопка фильтр не работает, так как выделены оба листа. Приходится сначала клацать на один лист, потом на первый и тогда всё работает.
22. Mishy 26.02.21 16:45 Сейчас в теме
Как решается вопрос двусторонней печати пакета документов? Т.е. если выкинуть пакет в pdf, а потом запустить двустороннюю печать, то следующий документ может распечататься на обратной стороне предыдущего?!

Извиняюсь за долгую реализацию, двусторонняя печать реализована.

Каким механизмом реализована двусторонняя печать? Если параметром (ДвусторонняяПечать - необязательный, тип "Число", режим двусторонней печати), то проблема с печатью документа на обратной стороне предыдущего не решена.
Оставьте свое сообщение