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

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С 8.3

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

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

18000 руб.

06.10.2023    7774    24    6    

42

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

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

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

20400 руб.

31.05.2023    3976    3    2    

5

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

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

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

2000 руб.

26.07.2019    25016    38    17    

23

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

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

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

4800 руб.

21.08.2019    19838    70    10    

23

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

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

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

2280 руб.

15.04.2014    52627    51    50    

39

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

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

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

1000 руб.

29.09.2016    35844    20    5    

22

Тернистый путь к физической клавиатуре для программиста 1С

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

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

1 стартмани

15.04.2024    5047    madonov    46    

32

[История разработки] Управляем промышленным принтером EBS-1500 из 1С

Периферийные устройства Платформа 1С v8.3 Бесплатно (free)

«У нас было два контроллера Huidu, семьдесят две китайские монохромные панели на светоизлучающих диодах, они же LED, четыре мегабайта flash памяти, 1С и целое море поддерживаемых форматов вывода информации - текстов, картинок, анимаций, а так же литр промывочной жидкости, литр разбавителя, ящик черных чернил, и 12 патч-кордов и различных удлинителей. Не то, чтобы всё это было категорически необходимо в маркировке, но если уж начал собирать маркиратор на 1С, то к делу надо подходить серьёзно.» - Страх и ненависть в Маркировке, 2019 г.

01.04.2024    1333    Interrupted    14    

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