- Записки IT специалиста
- 1С:Предприятие 8. Поддержка торгового оборудования в Linux (Debian/Ubuntu)
- Сканер штрихкода
- Считыватели магнитных карт
- Фискальные регистраторы
- Дисплей покупателя
- Эквайринговые терминалы
- Весы с печатью этикеток
- Прочее оборудование
- Рабочее место кассира
- Выводы
- Дополнительные материалы:
- Подключаем торговое оборудование под Linux. Сканеры штрихкодов и другие устройства ввода на обычных формах
- Сканеры. Решение общих проблем с подключением.
- Содержание
- Проверка поддержки сканера в Linux на уровне драйверов.
- Обновление системы с целью получения новых драйверов.
- Проверка распознавания системой сканера, как устройства.
- Предоставление своей учётной записи права на работу со сканером.
- Разрешение сканеру обращаться к ядру системы.
Записки IT специалиста
Технический блог специалистов ООО»Интерфейс»
- Главная
- 1С:Предприятие 8. Поддержка торгового оборудования в Linux (Debian/Ubuntu)
1С:Предприятие 8. Поддержка торгового оборудования в Linux (Debian/Ubuntu)
Последние годы фирма 1С серьезно подошла к обеспечению кроссплатформенности своих продуктов. Появление «родного» клиента для Linux открыло новые возможности к применению этой ОС в рабочем процессе. Сегодня уже ничто не мешает развернуть на базе Linux рабочее место менеджера по продажам или расчетчика заработной платы, но вот с автоматизированными рабочими местами до сих пор все было не очень радужно. В тоже время есть все основания полагать, что в скором будущем ситуация изменится, подробнее в нашей статье.
Начнем с объективных предпосылок использовать Linux на автоматизированных рабочих местах (АРМ). Это не только снижение затрат на ПО, хотя в небольших внедрениях отказ от приобретения даже «домашних» редакций ОС Windows способно принести ощутимую экономию, но и снижение затрат на последующее сопровождение.
В первую очередь это уменьшение количества инцидентов, связанных с вредоносным ПО, ущерб от которого, если это окажется шифровальщик, может быть крайне высок. Также уменьшается количество обращений по причине несанкционированного вмешательства персонала или третьих лиц, что актуально для компьютеров без централизованного управления и за периметром безопасности организации, т.е. расположенных на торговых точках, в офисах продаж и т.д. и т.п.
Что касается «сложности» администрирования и освоения Linux-систем персоналом, то любая система или прикладное ПО сложнее пасьянса требует от администратора определенных технических знаний. При этом для пользователей порог вхождения оказывается достаточно низким, так как они продолжают работать с привычным набором программ: 1С, браузер, офисный пакет, а принцип работы в большинстве графических оболочек ничем существенно не отличается от работы с проводником Windows.
Однако до сих пор оставалось одно большое препятствие на пути применения Linux в автоматизации розницы: рабочее место кассира (РМК) и аналогичные ему АРМ предусматривает применение довольно широкого спектра торгового оборудования, с поддержкой которого в Linux наблюдались большие проблемы. Еще пару лет назад на вопрос о возможности использовать Linux на РМК мы однозначно отвечали: Нет!
Сейчас ситуация начала изменяться в лучшую сторону. Вместо разношерстного набора обработок обслуживания фирма 1С предлагает унифицированный подход к работе с торговым оборудованием в рамках БПО (библиотека подключаемого оборудования) и стремится обеспечить кроссплатформенность этого решения. Чтобы оценить, как далеко зашли ее усилия и как реально обстоят сегодня дела на этом направлении мы решили на практике проверить работу последнего релиза 1С:Розница 2.2 (2.2.4) с торговым оборудованием в среде Ubuntu 16.04 LTS.
Согласно официальным источникам, линейка релизов 1С:Розница 2.2.4.х использует БПО версии 1.2.5.10, которая является наиболее современной на текущий момент, а Ubuntu 16.04 можно рассматривать как некий эталон пользовательских Linux-систем на ближайшие несколько лет в среде базирующихся на Debian дистрибутивов.
Чтобы не растекаться мыслью по дереву рассмотрим, поддержка какого именно оборудования критична для РМК, а какого не критична, но желательна. Исходя из практического опыта, мы составили небольшую схему:
Так к разряду обязательного оборудования относятся: сканер штрихкода, фискальный регистратор или принтер ЕНВД и эквайринговая система. К желательному оборудованию можно отнести дисплей покупателя, считыватель магнитных карт и торговые весы (весы с печатью этикеток).
Если от поддержки дисплея покупателя и считывателя магнитных карт можно без особых проблем отказаться, то необходимость прогружать весы непосредственно с рабочего места кассира часто возникает в небольших магазинах на одну — две кассы сетевого типа, где есть необходимость работы с весовым товаром, но отсутствует рабочее место товароведа, так как эти задачи решаются в центральном офисе.
Сканер штрихкода
Сканер штрихкода наиболее простой тип торгового оборудования, большинство современных моделей работают либо в режиме клавиатуры, либо через RS-232 (COM-порт) или его эмуляцию. Обмен односторонний и весьма простой. БПО в полной мере поддерживает работу сканеров штрихкода в Linux через драйвер 1С:Сканеры штрих-кода (NativeAPI).
Каких-либо проблем в работе подключенного в режиме клавиатуры сканера Datalogic мы не обнаружили.
Считыватели магнитных карт
Новые драйвера 1С (NativeAPI) обеспечивают полноценную работу считывателей как в среде Windows, так и Linux, в том числе с поддержкой режима клавиатуры, что актуально для многих моделей программируемых клавиатур. Прежде для работы данных устройств, даже в среде Windows, требовалось применения платных драйверов от АТОЛ.
Фискальные регистраторы
Фискальный регистратор или принтер ЕНВД можно смело назвать сердцем кассового узла, однако сегодня ни одна из моделей ФР в Linux не поддерживается.
Также вам не удастся установить эмулятор фискального регистратора от 1С, что делает невозможным развертывание полноценного РМК в среде Linux. В принципе это ограничение можно обойти, распечатывая чеки на чековом принтере, но этот способ подойдет только очень небольшим магазинам на спецрежиме, где владелец сам является продавцом и ему не нужен фискальный контроль. Однако и здесь могут возникнуть сложности, отсутствие фискального режима делает невозможным «снять кассу», т.е. достоверно установить какое количество денежных средств должно находиться в ней на текущий момент.
Дисплей покупателя
1С не перестает удивлять и радовать. Появление «родного» драйвера для этого вида оборудования, да еще с неплохой поддержкой моделей способно значительно облегчить жизнь автоматизаторам вне зависимости от платформы.
Учитывая, что дисплей оборудование тоже довольно простое и никакой сложной информации на него не выводится, стандартный драйвер способен обеспечить нормальную работу довольно широкого спектра оборудования, совместимого с одним из перечисленных наборов команд.
Эквайринговые терминалы
Эквайринг был и остается одним из самых проблемных участков, так как работать приходится не только с собственной учетной системой, но и с банковским ПО, а также с его поддержкой. Мы не раз сталкивались со случаями, когда сотрудники банка заявляли нам, что вот наше ПО, вот инструкция, мы уже третий раз по ней сделали, а почему не работает мы не знаем. Учитывая многочисленные проблемы на платформе Windows мы собственно и не ожидали увидеть ничего иного:
С остальными банковскими системами ситуация ничуть не лучше. Говорить о поддержке Linux, когда даже поддержка БПО для этого типа оборудования остается где-то в «прекрасном далеко» как минимум преждевременно. Для небольших магазинов решением этой проблемы могут быть эквайринговые терминалы без подключения к ПК, но для крупных торговых предприятий такое решение будет по меньшей мере неудобно.
Весы с печатью этикеток
Как и с фискальными регистраторами поддержки данного типа оборудования для платформы Linux нет.
Однако весы не являются непреодолимым препятствием для перевода РМК на Linux, в крупных предприятиях с весами работает товаровед, который может продолжать работать на Windows, а в удаленных магазинах, при наличии нормального канала связи это можно делать из основного офиса через VPN (потребуется сетевое подключение весов). Сложности могут возникнуть в небольших магазинах, но они редко покупают весы с печатью этикеток, так как этот вид оборудования достаточно дорог.
Прочее оборудование
В общем и целом, ситуация с поддержкой Linux в БПО такова, что пока это нужно одной фирме 1С, все новые версии ее драйверов (NativeAPI) без проблем работают на этой платформе. Сторонние производители не спешат реализовывать поддержку Linux для своих драйверов, хотя, как тот же АТОЛ, вполне могут использовать эту платформу для своих решений.
С другой стороны, весовая категория фирмы 1С и охват аудитории ее продуктами может служить хорошим стимулом для начала поддержки этого семейства ОС. Так, например, мы с удивлением обнаружили поддержку Linux в драйверах принтера этикеток Godex от компании Сканкод. Правда пока поддерживается только подключение через LAN, но согласитесь, что это лучше, чем ничего.
Потом нашелся Сканкод: Драйвер для ТСД CipherLAB 8×00 (NativeApi), который также работает в среде Linux, что говорит о том, что ситуация медленно, но верно переламывается в сторону поддержки кроссплатформенности со стороны производителей оборудования.
Рабочее место кассира
Рассказывая про поддержку торгового оборудования в среде Linux мы не могли обойти стороной интерфейс РМК (рабочего места кассира). Здесь фирме 1С есть куда приложить свои усилия, шрифты на кнопках выглядят просто ужасно, в то время как к шрифтам в табличной части РМК и остальной программе никаких вопросов у нас не возникло. Кроме того, надписи на кнопках вверху и внизу РМК явно следует сделать побольше, ниже показано как это выглядит при разрешении экрана 1920×1080, которое сейчас можно встретить на мониторах с диагональю от 21″.
Выводы
Подведем небольшие итоги, для этого снова глянем на нашу схему:
Единственное серьезное препятствие — отсутствие поддержки в Linux фискальных регистраторов. Определенные сложности способен доставить эквайринг, но эти проблемы он и так регулярно доставляет вне зависимости от платформы, наконец никто не мешает использовать автономный эквайринговый терминал.
Основные устройства ввода не вызывают никаких вопросов, как и программируемые клавиатуры, о которых мы ничего не сказали выше. Единственный момент — для их программирования, как и для настройки большинства типов торгового оборудования все-таки потребуется Windows система.
Дисплей покупателя мы отметили значком повышенного внимания, так как несмотря на появление стандартного драйвера 1С к выбору данного оборудования следует подойти осмотрительно.
Весы — второй тип оборудования, который пока не позволяет однозначно рекомендовать Linux как платформу для РМК, опять-таки вся надежда здесь на производителей и решимость фирмы 1С требовать поддержки Linux в новых версиях совместимых с БПО драйверов. То, что это вполне осуществимо показывает пример фирмы Сканкод.
Да, Linux сегодня еще не готов занять свое место на автоматизированных рабочих местах, но текущие тенденции позволяют говорить о том, что это только вопрос времени. Уже сегодня реализована поддержка многих типов оборудования и видны определенные подвижки со стороны производителей. Все это разительно отличается от ситуации еще несколько лет назад, когда на вопрос поддержки торгового оборудования в Linux вообще не стоял на повестке дня.
Дополнительные материалы:
Помогла статья? Поддержи автора и новые статьи будут выходить чаще:
Или подпишись на наш Телеграм-канал:
Источник
Подключаем торговое оборудование под Linux. Сканеры штрихкодов и другие устройства ввода на обычных формах
Использование ОС на базе LInux стала набирать популярность в последнее время. В основном на рабочих компьютерах, где его использование позволяет сократить расходы организаций на приобретение ПО. Рабочие окружения стали более удобными и похожими на Windows, а самый главный плюс это стабильная работа системы на протяжении продолжительного времени.
Фирма 1С выпустила клиентские приложения для Linux в технологической платформе 8.3. Поначалу хватало проблем, но в последних релизах уже можно нормально работать в 1С. Конечно, не все еще гладко. Одним из важных моментов использования является торговое оборудование, которое необходимо при работе многих предприятий. В 1С это тоже понимают, и постепенно создают драйвера, которые работают не только в Windows, но и в Linux, и в различных веб-клиентах.
В публикации представлена обработка обслуживания торгового оборудования, работающая с типовым драйвером фирмы 1С из БПО. Данная обработка может использоваться для подключения сканеров как под Linux (Проверялось на ubuntu), так и под Windows.
Для работы в Linux необходимо подключить оборудование и настроить виртуальный com-порт (Если подключение выполняется через USB). Мои сканеры работают через com, поэтому дополнительной настройки не потребовалось. Тест драйвера работает нормально. Данная обработка работает успешно уже больше года. Если возникают какие-то проблемы при подключении, можно попробовать использовать другой драйвер. Сейчас в обработка в макетах есть 2 версии драйверов: (8.1.2.1 и 8.1.8.0). На моих компьютерах старая версия драйвера работает стабильнее, чем новая. Платформу использую последнюю на момент публикации 8.3.10.
Надеюсь, кому-нибудь поможет при подключении оборудования в Linux.
Источник
Сканеры. Решение общих проблем с подключением.
Содержание
Проверка поддержки сканера в Linux на уровне драйверов.
Прежде всего стоит проверить, поддерживается ли подключенный или планируемый к покупке сканер на уровне драйверов. Данную информацию можно получить на сайте проекта SANE:
http://www.sane-project.org.
В частности, на странице раздела со стабильной поддержкой:
http://www.sane-project.org/sane-mfgs.html, где проще всего искать по производителю (заголовок «Scanners», список «Manufacturers».)
Данные о сканерах представлены в таблицах, где наибольший интерес представляет столбец «Статус». Вот его легенда:
Если «Статус» имеет последние два значения, то придётся отказаться от покупки и/или использования данного сканера.
Если по данным сайта сканер поддерживается, но, в данный момент, не сканирует, то можно применить следующие рекомендации. И так, сначала самое простое.
Обновление системы с целью получения новых драйверов.
В Linux-дистрибутивах, к которым относиться и Ubuntu, большинство драйверов встроенно в ядро системы (собственно, в сам Linux). Поэтому следует регулярно устанавливать обновления системы, так как на ряду с другими обновлениями могут прийти новые версии ядра, а следовательно, и новые драйвера для компьютера и периферии.
Установить обновления можно с помощью системного приложения «Программы и обновления» (для классической Ubuntu с Unity) или с помощью «Менеджера обновлений Muon» (для KDE). О том, как использовать «Менеджер обновлений» можно прочитать, например, здесь:
Репозитории и обновления
(заголовок «Управление обновлениями» во второй части страницы).
«Менеджер обновлений Muon» в KDE работает аналогично, хотя немного и отличается интерфейсом и наличием доп. функций.
Даже если в списке устанавливаемых обновлений не было новых версий ядра, то ничего страшного. В любом случае, обновления всегда полезны.
Если с обновлениями пришли новые ядра, то после окончания установки обновлений компьютер попросит его перезагрузить, на что надо согласиться. После перезагрузки можно ещё раз проверить работоспособность сканера.
Если сканер по-прежнему не работает, то потребуются применить более серьёзные методы решения проблемы.
Проверка распознавания системой сканера, как устройства.
Сначала нужно посмотреть, определяется ли сканер физически. Большинство сканеров сейчас подключается по USB, поэтому необходимо открыть Терминал и ввести команду, показывающую все подключенные USB-устройства:
Если среди них нет искомого сканера, то, скорее всего, проблема аппаратная. Стоит проверить, подключён ли сканер по USB, не переломился ли кабель и вообще, исправен ли сам сканер. Так же могут быть проблемы с распознаваем сканера в BIOS или UEFI компьютера. Часто помогает отключение XHCI в UEFI.
Если же в выводе Терминала есть строчка подобная этой:
то уже хорошо — система видит сканер как USB-устройство и можно двигаться дальше. Естественно, что все цифры и наименование сканера могут быть другими. Важно то, что такая строка есть в принципе.
Теперь нужно ввести в Терминале:
Если система не может выполнить команду, то, вероятно, не установлен пакет sane-utils , о чём и сообщит Терминал. Установить этот пакет можно командой:
а затем повторить ввод:
Положительным ответом будет считаться строка, аналогичная этой:
Собственно, на этом можно и остановиться. Сканер подключен и распознаётся, можно сканировать.
Если же Терминал выдаёт отрицательный ответ примерно в таком виде:
то это может означать:
Решать проблемы лучше в этом же порядке. Про решение аппаратных проблем уже было сказано выше, поэтому можно сразу перейти к настройке прав учётки пользователя.
Предоставление своей учётной записи права на работу со сканером.
Введённая в Терминал команда
покажет логин активного в данный момент пользователя.
Далее, нужно узнать, в каких группах состоит этот пользователь:
где — логин, полученный по команде whoami .
Если в этом списке указаны группы plugdev и scanner , то всё в порядке. Это означает, что проблем с правами на доступ пользователя к сканеру нет и можно переходить к следующему решению.
Если же групп plugdev и scanner нет в списке, то нужно добавить текущего пользователя в эти группы. Например:
где user1 — логин добавляемого пользователя.
Управление группами можно организовать и через графический интерфейс. К сожалению, в современных версиях Ubuntu удалены графические оболочки для управления группами, поэтому сначала придётся их поставить.
Для Ubuntu с Unity и GNOME:
Для Kubuntu или для KDE, являющимся в системе дополнительным рабочим окружением:
Запустить графическую утилиту управления группами в Unity можно через Главное меню→линза Приложения→фильтр Система→раздел Установленные→программа Пользователи и группы
Запуск в KDE: Главное меню→Приложения→Система→программа KUsers (Управление пользователями)
Подробнее о пользователях и группах можно прочитать, например, здесь: Пользователи и группы
После включения пользователя в нужные группы снова ввести в Терминал:
Если в ответ появляется строка, аналогичная этой, то проблема решена:
Иначе следует применить следующий метод решения проблемы.
Разрешение сканеру обращаться к ядру системы.
Если ответ Терминала по прежнему отрицательный, то, возможно, сканеру запрещено обращаться к ядру. Разрешение можно дать, отредактировав конфигурационный файл «40-libsane.rules», или если такого файла нет, «60-libsane.rules» в текстовом редакторе, запущенном с правами Суперпользователя:
В открывшемся тексте наверняка найдётся строка с параметрами сканера со схожим названием. Нужно скопировать строчку с этими данными и вставить её копию сразу под найденной, заменив в копии название сканера и номера idVendor и idProduct на полученные ранее по команде lsusb .
Вот как это будет выглядеть подробнее.
Строка с похожим сканером в файле «40-libsane.rules»:
Данные от lsusb :
В файле «40-libsane.rules» в копии строки, в заголовке меняется номер модели сканера с 60 на 25, а двойной ID 04a9:2220, полученный от lsusb нужно разделить на idVendor — 04a9 и idProduct — 2220. В результате, основная и новая строки, друг за другом, будут выглядеть так:
Остаётся только сохранить файл и закрыть его.
Теперь снова вводим в Терминале:
Теперь уже ответ должен быть положительным:
Проблема решена. Можно приступать к сканированию.
Источник