В практике автоматизации часто возникает потребность в быстрой и эффективной печати разного рода оперативной информации: сведений о заказе, предварительных счетов, марок на кухню, скидочных купонов и т.д., и т.п. Так как длительное хранение таких данных не подразумевается, а сам процесс печати должен быть предельно прост и недорог, то правильным решением будет использование специализированного устройства - чекового принтера. Сегодня мы рассмотрим, как обеспечить совместную работу данного типа оборудования и 1С:Предприятия 8.3.
Онлайн-курс по устройству компьютерных сетей
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.
Наиболее широко данный тип оборудования известен в общепите, там даже есть для него собственное обозначение - "кухонный принтер". В данной отрасли он широко используется для печати кухонных марок (заказов на кухню), а также предварительных чеков для гостей. Печать на термобумаге позволяет значительно удешевить процесс и сделать максимально простым его обслуживание. За пределами общепита чековые принтеры встречаются гораздо реже, но во многом это связано с более низкой степенью автоматизации иных отраслей и использования для печати дополнительной информации обычных принтеров.
Тем не менее чековый принтер идеально подходит для печати любой нефискальной информации которая не требует длительного хранения или допускает печать на термобумагу. Например, различного рода талоны, билеты, скидочные купоны, товарные чеки, словом все, что должно быть быстро напечатано и отдано клиенту, желательно с минимальными затратами. К достоинствам термопечати относится предельная дешевизна расходных материалов: вам понадобится только термобумага, никаких красящих лент, заправок картриджей и т.д., и т.п. Но есть и недостатки, основной из них - неустойчивость напечатанного образца к воздействию прямых солнечных лучей, высокой температуры, а также некоторых типов химических веществ.
Однако в большинстве случаев достоинства перевешивают недостатки, а дополнительным аргументом в пользу принтера чеков является его возможность работать в неблагоприятных внешних условиях: на кухне, в цеху, на складе. А возможность сопровождать печать звуковым сигналом или задействовать при этом внешнее оборудование позволяет успешно решать сопутствующие задачи, например, привлечения внимания сотрудников к появлению нового задания.
Также принтер чеков можно использовать в ряде случаев для печати нефискальных чеков, но для данного сценария мы бы рекомендовали приобретение принтера документов (принтера ЕНВД), так как принтер чеков не содержит фискальной памяти и снять с его помощью стандартные кассовые отчеты (Z-отчет и X-отчет), а, следовательно, проконтролировать кассовую дисциплину, не представляется возможным.
Подключение и настройка Posiflex Aura-6900
Перейдем непосредственно к оборудованию. В нашей статье мы рассмотрим работу с одной из самых популярных и зарекомендовавших себя моделей Posiflex Aura-6900.
Принтер представляет собой достаточно простое и компактное устройство, допускающее установку как в горизонтальном, так и в вертикальном положении, оснащен автоотрезом и позволяет осуществлять загрузку термобумаги по принципу "положил и печатай". Предельная простота данной операции снижает порог освоения устройства персоналом и практически исключает возможность вывода устройства из строя неквалифицированными действиями оператора.
Но нам, как автоматизаторам, значительно интереснее иное, обратим внимание на заднюю панель принтера:
Слева расположены USB-интерфейс, порт для подключения периферийных устройств (RJ-11) и разъем питания. Справа дополнительная плата ввода-вывода с интерфейсом последовательного порта. В зависимости от типа дополнительной платы различают несколько моделей устройства:
- PP-6900 - базовая модель, дополнительная плата ввода-вывода отсутствует
- PP-6900S - оснащена дополнительно последовательным портом (COM)
- PP-6900P - установлен дополнительный параллельный порт (LPT)
- PP-6900L - сетевой вариант, установлен LAN-адаптер
- PP-6900W - комплектуется беспроводным Wi-Fi-адаптером
Как видим, производитель предлагает довольно широкий выбор вариантов подключения, но обратите внимание, что базовая модель имеет только USB-интерфейс и если вам нужен принтер для подключения по последовательному интерфейсу, то вам нужно выбрать модель с индексом S. Эта особенность очень часто играет с начинающими автоматизаторами злую шутку, привыкнув, что COM-порт является штатным интерфейсом фискального регистратора или принтера документов, они переносят свои ожидания на принтер чеков и получают неприятный сюрприз.
Следует помнить, что в большинстве товароучетных программ штатным интерфейсом подключения принтера чеков является COM-порт, поэтому вам понадобится или базовая модель, которая умеет работать в режиме эмуляции COM-порта или модель с дополнительным последовательным интерфейсом. Вторые широко применяются в случаях, когда принтер надо установить на некотором удалении от управляющего ПК, в этом случае можно просто удлинить последовательный интерфейс обычной витой парой.
В ряде случае для этих целей можно использовать и сетевые варианты принтера, которые даже более привлекательны, так как не требуют наличия управляющего ПК, но поддержка сетевой печати на принтеры чеков должна быть реализована в товароучетном ПО, поэтому обязательно уточните такую возможность перед покупкой.
Следующий важный момент - выясните какие драйвера торгового оборудования (не путать с драйверами для ОС) понадобятся для подключения принтера к вашей товароучетной системе, учтите, что во многих случаях могут потребоваться платные драйвера. Сразу предупредим, не следует голословно верить утверждениям продавцов или иных заинтересованных лиц о том, что оборудование работает с "бесплатным" драйвером. Очень часто бывает так, что бесплатный драйвер не предусматривает законченного решения, в этом случае вам потребуется доработка товароучетной системы, стоимость которой может превысить затраты на приобретение платного драйвера.
Будем надеяться, что вы сразу проявили разумную предусмотрительность и приобрели принтер именно той модели, которая вам необходима. Но не спешите подключать его к компьютеру. На дне устройства есть небольшое окно, закрытое металлической крышкой, под которым находится 8 переключателей. Перемычки имеют следующие установки по умолчанию:
Полное назначение перемычек описано в документации и часть их них перекрывается программными настройками, поэтому нас интересует только положение переключателей 1,2 и 6. Первые два переключателя задают скорость передачи данных и показанное их положение (1 - OFF, 2 - ON) соответствует скорости 115200 бит/с. Гораздо интереснее переключатель 6, точнее его положение по умолчанию, в выключенном состоянии он обозначает использование дополнительного интерфейса.
Этот момент достаточно важен. Несмотря на то, что основным является USB-интерфейс, с завода принтеры настроены на использование дополнительной платы ввода-вывода, даже в ее отсутствие. Это означает что базовые модели, которые имеют только USB-интерфейс, приходят с завода имея его в отключенном состоянии.
Парадокс? Возможно, но мы в очередной раз хотим напомнить, чековые принтеры, в отличие от массового железа, являются специализированным оборудованием и имеют свои особенности применения. Поэтому при работе с подобным оборудованием, особенно если это первый раз, необходимо внимательно изучить инструкцию.
В нашем случае для включения интерфейса USB потребуется установить переключатель 6 в положение ON, а если необходима работа в режиме виртуального COM-порта, то дополнительно перевести во включенное состояние потребуется также переключатель 1.
После того, как вы правильно установили перемычки принтер можно подключить к ПК и, если необходимо, установить драйвера. Но это только первый этап, обеспечивающий взаимодействие принтера с операционной системой. Для подключения оборудования к 1С:Предприятие нам потребуется дополнительный программный посредник - драйвер торгового оборудования.
В актуальных конфигурациях 1С:Предприятие использующих в своем составе Библиотеку подключаемого оборудования осуществляется штатная поддержка принтеров чеков работающих по протоколу ESC\POS. Для добавления нового принтера чеков достаточно перейти в Администрирование - Подключаемое оборудование и выбрать нужный тип в предлагаемом списке:
Драйвер от 1С поддерживает два типа подключения: Windows POS Printer и COM-Port POS Printer. Первый тип предназначен для работы с принтерами чеков установленными в системе как обычный Windows-принтер, это дает возможность печатать на принтере, не имеющем COM-порта (USB, LAN, Wi-Fi и т.д.), в настройках вы должны выбрать установленный в системе принтер, указать ширину ленты, кодовую таблицу и кодировку строки. Поля Порт и Скорость для данного типа подключения игнорируются.
Особое внимание обратите на кодовую таблицу принтера, в списке присутствует две кодовых таблицы кириллицы Page07 и Page17, в случае с Posiflex Aura-6900 нужно выбрать вторую - Page17, кодировка строки должна быть CP866.
Тип подключения COM-Port POS Printer позволяет работать с принтером непосредственно через СOM-порт (физический или виртуальный) и данный режим является предпочтительным, так как позволяет 1С напрямую взаимодействовать с оборудованием и получать от него обратную связь. Настроек данного режима аналогичны предыдущим, но теперь вместо принтера вам потребуется указать Порт и Скорость подключения, а поле Принтер в данном случае игнорируется.
Важным моментом здесь является соответствие указанной в настройках скорости подключения и значения, установленного на принтере при помощи перемычек - они должны совпадать. Если вам требуется понизить скорость, например, для обеспечения стабильной работы на большой длине кабеля, то делать это нужно одновременно и в программе, и в принтере.
По окончании настройки проверьте ее правильность, нажав вверху формы кнопку Тест устройства, если все сделано без ошибок, то вы увидите следующую "тестовую страницу":
Если вы смогли прочитать четверостишие, то ваш чековый принтер полностью готов к работе.
Настройка Posiflex Aura-6900 в Linux
Последние тенденции показывают, что фирма 1С плотно взяла курс на обеспечение кроссплатформенности 1С:Предприятие, а это предусматривает в том числе и поддержку торгового оборудования для альтернативных ОС. Драйвер принтера чеков выполнен по технологии NativeAPI, а, следовательно, поддерживает работу в среде Linux.
Небольшое ограничение: в Linux возможна работа только с подключением типа COM-Port POS Printer, поэтому нам подойдут только модели с последовательным интерфейсом или с подключением по USB в режиме виртуального COM-порта.
Если вы подключаете устройство с интерфейсом USB, то прежде всего следует убедиться, что оно правильно определилось системой, для этого выполните команду:
lsusb
Несложно увидеть, что устройство нормально определилось в системе и следующим шагом следует выяснить какой именно последовательный порт оно занимает. Выполним еще одну команду:
dmesg | grep tty
Для того, чтобы вы могли осознанно разобрать ее вывод, сделаем небольшое отступление. В Linux последовательные порты являются стандартными терминалами ввода-вывода, что позволяет очень просто работать с ними используя потоки. Для обозначения терминалов используется обозначение tty, физические последовательные порты обозначаются как ttySn, где n - номер порта начиная с нуля. Виртуальные COM-порты, в зависимости от реализации, обозначаются как ttyACMn и ttyUSBn.
Если коротко, то отличие ttyACM-устройств от ttyUSB сводится к тому, что первые имеют аппаратную реализацию последовательного интерфейса поверх USB и представляются системе стандартными устройствами связи (модемами, хотя могут таковыми не являться). Устройства ttyUSВ являются простыми преобразователями интерфейса, т.е. не имеют собственного контроллера последовательного порта, возлагая все коммуникационные задачи на драйвер и устройство находящееся на другой стороне кабеля.
Как можно видеть из вывода, к нашей системе подключены два физических COM-порта (ttyS0 и ttyS1), один переходник на микросхеме PL-2303 (ttyUSB0) и один виртуальный порт (ttyACM0). Путем несложных логических умозаключений можно определить, что наш принтер подключен именно к ttyACM0.
Помня о том, что последовательный порт - это терминал, мы можем попробовать что-нибудь послать принтеру, но если мы попробуем выполнить команду:
echo "TEST" > /dev/ttyACM0
то получим сообщение "Отказано в доступе", если же выполнить эту команду от имени суперпользователя, то принтер успешно напечатает слово TEST. Очевидно, что не хватает прав, но каких? Самое время вспомнить, что в Linux всё есть файл, в том числе и устройства ввода-вывода. Это упрощает задачу, наберем в терминале:
ls -l /dev/ttyACM0
Вывод команды сообщает нам, что права на чтение и запись в устройство имеют пользователь root (владелец) и группа dialout, чтобы наш пользователь, а, следовательно, и работающая от его имени 1С могли работать с портом надо включить его в группу dialout. Для этого выполним команду:
sudo usermod -a -G dialout username
где username - имя вашего пользователя. Чтобы изменения вступили в силу нужно завершить сеанс пользователя или перезагрузить систему.
Выходим, заходим, проверяем - принтер должен напечатать отправленную на него строку. Убедившись, что у вас есть права для работы с принтером, можно переходить к настройке 1С. Особых сложностей там нет, но 1С решила использовать собственные обозначения для COM-портов, представив ttyS - как просто COM, ttyACM - как Virtual COM, а ttyUSB - как USB COM.
Также обратите внимание, что нумерация портов начинается не с нуля, а с единицы. Таким образом ttyACM0 в обозначениях 1С будет Virtual COM1, а скажем ttyS1 - COM2. В остальном настойки ничем не отличаются от тех, что мы рассматривали для платформы Windows.
В принципе каких-либо особых сложностей с подключением принтера чеков в Linux нет, для более-менее грамотного Linux-администратора не составит труда справиться с данной задачей самостоятельно. Но учитывая, что администраторы 1С часто недостаточно хорошо знают Linux этот момент было бы неплохо отразить в документации или добавлять пользователя в нужную группу автоматически при регистрации компоненты драйвера.
Встроенная справка предельно лаконична и вряд ли сможет реально помочь с подключением оборудования. Поэтому мы еще раз выразим свою убежденность, что хороший профессионал должен знать не только свою узкую область (в данном случае 1С), но и основы администрирования системы, в которой ему приходится работать. В противном случае даже простые вопросы могут вызвать нешуточные сложности.
Онлайн-курс по устройству компьютерных сетей
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.
Последние комментарии