Распределение печатных форм при пакетной печати на различные лотки принтера

28.12.17

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

Печать на различные лотки принтера при пакетной печати.

Скачать файлы

Наименование Файл Версия Размер
Пример пакетной печати
.epf 9,45Kb
1
.epf 9,45Kb 1 Скачать
Обработка настройки лотков
.epf 8,17Kb
4
.epf 8,17Kb 4 Скачать

Доброго времени суток, Уважаемые Дамы и Господа.

Моя первая публикация, поэтому прошу строго не судить.

Итак, после создания пакетной печати документов реализации (в зависимости от вида покупателя - Физ. лицо/Юр. лицо) заказчик попросил распределить печатаемые листы на различные лотки принтера.

Вариант, который предлагают на многих ветках многих форумов, который заключается в подключении одного физического принтера несколько раз, настройки каждого экземпляра принтера на свой лоток, с последующим выбором того или иного экземпляра,  заказчик отмел сразу с логичным вопросом - "Зачем плодить принтеры на ПК? Разве 1С не умеет работать с настройками принтера?".

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

Покопавшись в интернете нашел интересную, и думаю, широко используемую системными администраторами команду работы с принтерами: rundll32 printui.dll,PrintUIEntry.

Этой командой я и решил воспользоваться.

Полный список ключей и флагов можно прочитать, если набрать rundll32 printui.dll,PrintUIEntry /?

Я же воспользовался только двумя командами:

1) rundll32 printui.dll,PrintUIEntry /Ss /n "Имя принтера" /a "Файл настроек" - сохраняет настройки принтера "Имя принтера" в файл, указанный в переменной "Файл настроек";

2) rundll32 printui.dll,PrintUIEntry /Sr /n "Имя принтера" /a "Файл настроек" - восстанавливает настройки принтера "Имя принтера" из файла, указанный в переменной "Файл настроек";

Вкратце принцип работы:

1) Были внесены изменения в конфигурацию в справочнике "Пользователи" (как не жаль, но без добавления доп реквизитов не обошлось)

Были добавлены следующие объекты:

Табличная часть справочника "НастройкиПринтеров"

Данная табличная часть содержит следующие реквизиты

  • РабочееМесто - Тип "Строка" - записывает имя ПК, так как пользователь может работать за несколькими ПК;
  • Принтер - Тип "Строка" - Наименование принтера в системе;
  • Лоток - Тип "Число" - у меня данный реквизит может иметь значения только либо "1", либо "2" по номеру лотков;
  • НастройкиПринтера - Тип - "Хранилище значения" - содержит в себе файл настроек принтера для последующего восстановления

2) Была создана обработка "Настройка лотков.epf", которая загружает файлы настроек в базу 1С. При запуске обработки будет получен список принтеров, зарегистрированных в системе, и список спозиционируется на принтере по умолчанию. Есть 2 объекта работы с первым и вторым лотком. Для сохранения настроек необходимо выполнить настройки под первый лоток в стандартном окне настроек принтера Windows (или драйвера принтера) и нажать кнопку "Сохранить настройки 1 лотка" произойдет выгрузка файла настроек во временную директорию и сохранение этого файла в базу 1С. То же самое и для второго лотка. При необходимости можно удалить настройки.

3) При пакетной печати, перед сменой лотков, 1С выгружает файл текущих настроек в файл, после этого выгружает из базы файл настроек (который храниться в базе в виде двоичных данных), например, для печати из лотка 1, восстанавливает настройки принтера из этого файла, отправляет на печать необходимую Печатную форму, повторяет то же самое (выгрузка файла настроек из базы, восстановление настроек из файла) для второго лотка, ну и так далее. У меня был жестко прописан алгоритм, какие документы на какой лоток печатать, так что доп хранилища информации о том, какие данные на какой лоток бросать не потребовалось.

4) Ну и после окончания печати 1С восстанавливает изначальные настройки из файла настроек, который был сформирован до печати.

Вот вкратце и все описание принципа работы данного механизма.

Не обошлось конечно без подводных камней.

Так на MS Server 2008 при выполнении данных команд появлялась ошибка 0x0000000C с отказом восстановления настроек. Лечиться установкой обновления по ссылке из оф. источника: MS

На ОС Windows XP восстановление настроек происходит, но после выполнения команды возникает ошибка "Невозможно завершение операции". Лечиться добавлением в команду флага "/q" - тихий режим.

Пример:

rundll32 printui.dll,PrintUIEntry /Sr /n "Имя принтера" /a "Файл настроек" /q

На ОС Windows 7, Windows 10 ошибок не наблюдается.

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

Данная обработка тестировалась на УТ версии 10.3.46.1.

В принципе все :)

Критика приветствуется, варианты альтернативных вариантов решения данного функционала приветствуется вдвойне.

Благодарю за прочтение публикации :)

P.S. Таким образом можно сохранять информацию не только о лотках, но и любые настройки, которые поддерживает принтер, например, цветная ч/б печать, качество печати и т. д.

Пакетная печать настройки принтера

См. также

Infostart PrintWizard

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

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

18000 руб.

06.10.2023    6647    16    5    

36

Распознавание номеров автомашин с ip - камер, видео, фото

Распознавание документов и образов Периферийные устройства Автомобили, автосервисы Россия Платные (руб)

Программа считывает кадры с ip-камер (http - запрос к камере), видео, фото (источники кадров (нет ограничения на их количество) настраивается в конфигурационном файле), находит и распознает номера автомашин и сохраняет в базу db, с сохранением фото номера и автомашины, а также времени детекции.

20400 руб.

31.05.2023    3636    2    1    

3

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

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

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

2280 руб.

15.04.2014    52482    50    50    

38

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

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

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

4800 руб.

21.08.2019    19785    69    10    

23

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

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

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

1000 руб.

29.09.2016    35763    20    5    

22

HotKeys на Python для 1С

Периферийные устройства Конфигурации 1cv8 Бесплатно (free)

Недавно прочитал статью на Инфостарте о KeyPad и вначале захотел себе такой, но через какое-то время я понял, что дополнительная даже маленькая клавиатура занимает место, и нужно все время держать ее под рукой. Это все создает дополнительные неудобства.

20.12.2023    4630    John_d    25    

70

Очистка очереди печати конкретного принтера

Периферийные устройства Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

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

1 стартмани

07.11.2023    1199    1    vsnazarov    1    

26

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

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

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

2 стартмани

22.08.2023    1919    17    progmaster    7    

3
Оставьте свое сообщение