В последние два десятилетия на рынке наблюдается рост продаж новых и пока ещё не очень привычных для нас систем — касс самообслуживания (self-checkout).Они представляют собой электронно-механические устройства, предназначенные для самостоятельного расчета и оплаты товара[1].
Преимущества таких касс относительно классических заключаются в следующем:
1) возможность сократить штат сотрудников за счет организации автоматизированного процесса, что позволит сократить ежемесячные затраты компании;
2) обеспечение чувства защищённости у покупателя за счет того, что все действия он выполняет сам, и покупатель будет уверен, что его не обсчитали;
3) эффективное использование торговой площади, т.к. на месте одной стандартной кассы можно установить от 4 до 6 касс самообслуживания;
4) за счет увеличения количества касс на той же торговой площади, увеличится пропускная способность магазина, и уменьшатся очереди;
Не смотря на то, что стоимость касс самообслуживания в несколько раз выше, окупаемость данного оборудования составляет всего
В результате была поставлено задача — разработать конкурентно способное программное обеспечение для касс самообслуживания. Для её решения было необходимо понять, из чего состоит касса данного типа, и как она работает.
Современная касса самообслуживания состоит из следующих элементов:
1) сенсорного монитора,
2) сканера штрих-кодов,
3) электронных весов,
4) купюроприемника,
5) диспансера купюр,
6) пин-пада, благодаря которому возможно расплатиться за покупку банковской карточкой,
7) карт-ридера,
8) веб-камеры,
9) принтера чеков или же фискального регистратора,
10) монетоприемника,
11) лотка для выдачи сдачи,
12) стола для упаковки товара[3].
Для того чтобы совершить покупку клиенту необходимо совершить следующие действия:
1. Отсканировать товар;
2. Положить товар в пакет, размещённый заранее на весовой платформе (если вес товара будет совпадать, то система его пропустит);
3. Оплатить товар наличными средствами или картами;
4. В случае наличной оплаты при необходимости получить сдачу;
5. Получить чек.
Рассмотрим каждый из этих пунктов более подробно, а именно, как было реализовано взаимодействие данных между модулями кассы самообслуживания.
При сканировании штрих-кода полученная последовательность символов сравнивается с имеющимися строками в базе данных (БД). Штрих-коды хранятся в таблице «BARCODE» (в качестве первичного ключа выступает непосредственно штрих-код). Если запись найдена, то подтягиваются данные («карточка») товара из других таблиц, фотография товара и др. Если же штрих-код не найден, то в пользовательском интерфейсе появится сообщение о необходимости повторного сканирования товара.
Обмен данными сканеров и ПК через RS-232 достаточно прост, и большинство производителей выпускают сканеры c одинаковым протоколом. Сканер по одному байту передает данные до тех пор, пока не поступит символ (байт) перевода строки 13 DEC (CR). Основное отличие сканеров состоит в настроечных параметрах соединения. Такпараметры сканера VMC BurstScan V представлены в таблице 1 [4]:
Таблица 1
Параметры соединения сканера VMC BurstScan V
При формировании новой корзины покупок с платформы весов должны быть убраны все товары и иные предметы (вес не должен превышать установленную погрешность, например, 5 г.). Если вес по модулю (некоторые весы могут показывать отрицательный вес) будет больше погрешности, то в интерфейсе появится соответствующая ошибка и покупатель не сможет сделать никаких действий, пока не освободит платформу. Если же платформа изначально пустая, то появится сообщение-приглашение о необходимости отсканировать первый товар и затем о необходимости его взвешивания.
Сравнение веса происходит следующим образом. Все веса «статических» товаров (вес товара постоянный, например банка кофе определенного производителя) и «динамических» (вес товара может иметь разный вес, например, взвешенные лимоны в торговом зале) имеют соответствующие флаги в таблице «WEIGHT» БД.
Если товар невесовой, то значение текущего веса сравнивается со значением из БД для соответствующего товара.
Для весового товара обработка правильности веса немного иная. Такие товары кодируются в соответствии со стандартом EuropeanArticleNumber— 13 (EAN-13)[5]. Структура кода следующая:
• первая цифра 2, означает, что это весовой штрих-код;
• следующие 6 цифр — это артикул (внутренний код), присвоенный продукции,
• следующие 2 цифры — это вес данной продукции в килограммах;
• следующие 3 цифры — это вес данной продукции в граммах;
• последняя
В случае если веса равны (плюс/минус погрешность), то вес суммируется с предыдущим и, в дальнейшем, сравнение веса осуществляется следующим образом:
ABS(<Значение весов>)>=(<Суммарный вес>+<Правильный вес>) — <Погрешность>,
ABS(<Значение весов>)<=(<Суммарный вес>+<Правильный вес>) +<Погрешность>,
где <Суммарный вес> — запомненное значение прошлого взвешиванию.
Если 2 условия выполняются, то вес корректный.
Обмен данными весов и ПК через RS-232 на примере CAS AD имеет следующий вид. Компьютер посылает управляющий байт ENQ (05 HEX). Весы отвечают байтом ACK (06 HEX). Компьютер посылает запрос DC1. Весы передают данные в формате представленном на рисунке 1:
Рисунок 1- Формат данных, передаваемый весами
STA — признак стабильности веса. Если вес стабилен — значение «S», если нестабилен — «U». SIGN — знак веса: отрицательный вес: «-», нулевой или положительный вес: " «, перегрузка: «F». От W5 до W0 — значение веса, при перегрузке весов — значения «F». UN1 и UN0 — единица измерения kg или lb. BCC — контрольный байт.
После того как покупатель примет решение о завершении покупать товары, то он перейдет на страницу (форму) выбора оплаты. На этом этапе клиенту запрещено сканировать товар или взвешивать его.
Протоколы обменов у большинства поставщиков POS-терминалов разные. Как правило, они поставляют драйвера. Так, например, для подключения терминала от Сбербанка VerifoneVX-820 на ОС Windows необходимо установить соответствующий драйвер, в диспетчере устройств найти порт, на который был установлен терминал и при необходимости в ПО поменять параметры порта (число БОД, четность и т.д.). Для управления POS-терминалом необходимо знать коды, который получает и возвращает пинпад. Так, код 403 означает, что ПИН-код, введенный на терминале является неверным [7].
Последним этапом работы с покупателем является печать чека. С точки зрения технической реализации этот этап достаточно прост. Большинство языков программирования умеют печатать документы. Печать чеков практически ничем не отличается, здесь необходимо найти принтер, который поддерживает печать бумаги небольшой ширины. К ним относятся, например, принтер TSC[8].
В качестве элемента печати выступает HTML-блок (страница). В качестве параметров на HTML-страницу передается код чека, шапка (адрес, ИНН магазина и др.), список приобретенных товаров, общая стоимость, а также дополнительная информация (купоны, скидки и др.). После этого чек «закрывается» в БД.
Библиографический список
- Будущее за кассами самообслуживания — преимущества селф-чекаутов и сферы применения [Электронный ресурс]. — URL: http://kassa-spb.ru/blog/budushchee-za-kassami-samoobsluzhivaniya---preimushchestva-self-chekautov-i... — Дата обращения 05.04.2020.
- Кассы самообслуживанияприменения [Электронный ресурс]. — URL: https://shtrih-m-spb.ru/articles/kassy-samoobsluzhivaniya/- Дата обращения05.04.2020.
- Будущее за кассами самообслуживания — преимущества селф-чекаутов и сферы применения [Электронный ресурс]. — URL: http://kassa-spb.ru/blog/budushchee-za-kassami-samoobsluzhivaniya---preimushchestva-self-chekautov-i... — Дата обращения 07.04.2020.
- Ручные сканеры штрих-кодовBurstScanLitev2 и BurstScanV: Инструкция по эксплуатации / ООО «Видящие машины», 2019. — 19 с.
- EuropeanArticleNumber [Электронный ресурс]. — URL: https://amp.dev.google-info.org/592474/1/european-article-number.html — Дата обращения 22.05.2020.
- Маркирование весовой продукции — Информация [Электронный ресурс]. — URL: https://ean-13.ru/shtrihkodirovanie_ean-13_code_vesovaya_produktsiya.html- Дата обращения 22.05.2020.
- Установка связки терминала оплаты банковской картой (Сбербанк) и программы «Абонемент» — Коды ошибок UPOS (универсального ПО POS-терминалов Сбербанка России) с расшифровками. [Электронный ресурс]. — URL: https://support.ucs.ru/ru/node/9027 — Дата обращения 23.05.2020.
- TSC- Alpha-3R. [Электронный ресурс]. — URL: https://www.tscprinters.com/EN/Product/Series/Mobile_Barcode_Printers/Alpha-3R — Дата обращения 23.05.2020.