Разработано программное обеспечение для миникомпьютера МС-01 с поддержкой Касби-02К для работы ККМ на удаленной торговой точке и взаимодействия с офисом на основе документооборота.
Более подробно данная технология работы рассмотрена в ранее опубликованной статье.
Программное обеспечение (далее k2manager) устанавливается на миникомпьютер МС-01 и работает в комплексе с ККМ Касби-02К и GPRS модемом. Рабочее место очень компактное, возможна установка на ограниченном пространстве торгового объекта.
Назначение и принцип работы.
Данный комплекс обеспечивает:
- обновление базы товаров на удаленной торговой точке непосредственно из центрального офиса;
- учет продаж в режиме реального времени программой товароучета в центральном офисе;
- реализация минимальной схемы документооборота через FTP сервер.
k2manager с установленной периодичностью ищет на FTP сервере входящие документы (накладные) и сохраняет их в собственной базе данных. В базу товаров, которую может использовать ККМ, товары из накладной попадают только после операции проводки. Все операции с накладными генерируют подтверждения для обеспечения обратной связи с центральным офисом.
k2manager предоставляет различные виды отчетов, которые печатаются на принтере ККМ. "Общение" с МС-01/k2manager происходит посредством механизма управляющих кодов/штрихкодов.
Помимо подтверждений операций с накладными, k2mananger отправляет на FTP сервер каждый пробитый чек, а также Z-отчет. Все документы представляют собой XML-файлы. В целях уменьшения трафика все исходящие XML-файлы упаковываются алгоритмом gzip. Входящие файлы могут быть как упакованы, так и нет – k2manager прозрачно работает и с теми и с другими.
Настройки.
Настройка приложения k2manager, осуществляется через WEB-интерфейс. МС-01 должен быть подключен к локальной сети Ethernet. По умолчанию страница настроек МС-01 находится по адресу http://192.168.0.222, но нужно иметь в ввиду, что как IP-адрес, так и маска подсети могут быть изменены в настройках. Далее войдите на страницу Приложение k2manager -> Параметры:
- Сервер FTP
IP-адрес или символьное имя (например, ftp.narod.ru) FTP-сервера;
- Пользователь FTP
Имя пользователя на FTP-сервере (логин);
- Пароль FTP
Пароль для входа на FTP-сервер;
- Периодичность
Период опроса FTP-сервера на предмет входящих (с точки зрения МС-01) документов;
- ID базы товаров
Это, фактически, уникальный идентификатор торговой точки (ну и, понятно, базы товаров на ней). Каждый входящий документ имеет этот ID. Если ID базы товаров в настройках программы не совпадает с ID базы товаров документа, то документ будет проигнорирован;
- Каталог накладных на FTP
Из этого каталога k2manager будет забирать входящие документы (накладные);
- Каталог отчетов на FTP
В этот каталог k2manager будет отправлять результаты продаж (чеки и Z-отчеты в XML-формате), подтверждения о сохранении/удалении/проводке накладных, сообщения об ошибках при обработке входящих документов. Программа товароучета должна их забрать отсюда и обработать;
- Хранить документы
k2manager работает с внутренней реляционной базой данных. Для предотвращения чрезмерного "разбухания" базы данных, что отрицательно скажется на работе всей системы, k2manager при каждом запуске удаляет из базы все накладные и чеки старше указанного в этом пункте срока. Накладные удаляются, независимо от того, были они проведены или нет, и их "возраст" определяется по времени сохранения, а не по времени проведения.
Управляющие код/штрихкоды.
k2manager использует механизм запросов по коду/ШК в обход его основного назначения – передачи в ККМ информации о товаре – для проводки накладных и вывода различных отчетов. Управляющие коды/ШК настраиваются на странице Приложение k2manager -> Управляющие коды/ШК. В каждом пункте указывается один или несколько (через запятую) кодов/ШК, на которые k2manager будет реагировать соответствующим образом. Код/ШК можно вводить с клавиатуры ККМ, либо с помощью сканера ШК.
- Остатки товаров
Вывод информации по выбранным товарам, включая оставшееся количество товара. После ввода управляющего кода/ШК на индикаторе ККМ на короткое время одна за другой появляются надписи:
ОСТАТКИ ТОВАРОВ
ВВЕД. КОД ИЛИ ШК
далее следует с клавиатуры или сканером ШК ввести код/ШК товара, снова появится надпись
ВВЕД. КОД ИЛИ ШК
и так далее. Когда товары выбраны, нужно ввести код/ШК, который указан в пункте Ввод – ККМ распечатает отчет по остаткам. На этапе выбора товаров можно ввести код/ШК, указанный в пункте Отмена, тогда касса вернётся в обычный режим;
- Проведённые накладные
Вывод информации по проведенным накладным за период времени, начиная с какого-то дня в прошлом и до настоящего момента. После ввода управляющего кода/ШК на индикаторе ККМ на короткое время одна за другой появляются надписи:
ПРОВЕДЁН. НАКЛ.
ВВЕД. КОЛ. ДНЕЙ
Далее следует ввести количество дней, в которых нужно искать проведенные накладные. При этом 1 соответствует "сегодня", 2 – "сегодня и вчера" и так далее. После ввода количества дней ККМ распечатает отчет по проведённым накладным;
- Непроведенные накладные
Вывод информации по сохранённым, но непроведённым накладным. Сразу после ввода управляющего кода/ШК ККМ выведет отчет.
- Проводка накладной
После ввода управляющего кода/ШК на индикаторе ККМ на короткое время одна за другой появляются надписи:
ПРОВОДКА НАКЛ.
ВВЕДИТЕ ID НАКЛ.
Далее нужно ввести ID накладной, который указан в любом отчете по накладным. На этом этапе вместо ID накладной можно ввести код "Отмена" – касса вернётся в обычный режим. После ввода ID касса распечатает подтверждение о том, что накладная проведена.
- Удаление накладной
Удаление непроведённой накладной (проведённые накладные удалить нельзя). После ввода управляющего кода/ШК на индикаторе ККМ на короткое время одна за другой появляются надписи:
УДАЛЕНИЕ НАКЛ.
ВВЕДИТЕ ID НАКЛ.
Далее нужно ввести ID накладной, который указан в любом отчете по накладным. На этом этапе вместо ID накладной можно ввести код "Отмена" – касса вернётся в обычный режим. После ввода ID касса распечатает подтверждение о том, что накладная удалена.
- Выписка из накладной
Вывод информации по выбранным товарам из указанной накладной. После ввода управляющего кода/ШК на индикаторе ККМ на короткое время одна за другой появляются надписи:
ТОВАРЫ ИЗ НАКЛ.
ВВЕДИТЕ ID НАКЛ.
Далее после ввода ID накладной появится надпись:
ВВЕД. КОД ИЛИ ШК
в ответ на которую нужно ввести код или ШК товара из данной накладной, потом снова появится надпись и так далее. Как обычно, вместо ID накладной или кода/ШК товара можно ввести код "Отмена". Для вывода отчета необходимо ввести код "Ввод".
- Отмена
Возврат в обычный режим из режима управляющих кодов/ШК. Код/ШК "Отмена" безопасно вводить и в обычном режиме работы ККМ.
- Ввод
Завершение выбора, вывод отчёта. Код/ШК "Ввод" безопасно вводить и в обычном режиме работы ККМ.
- Завершение работы
МС-01 сбрасывает буферы ввода-вывода на карту памяти и останавливает операционную систему. Во избежание потери данных этот код/ШК НЕОБХОДИМО ввести, когда работа с ККМ и МС-01 завершена, дождаться, когда на МС-01 статусный огонёк перестанет мигать, и только потом выключать питание МС-01 и кассы. После ввода кода/ШК "Завершение работы" на индикаторе ККМ появляется надпись:
МС-01 ОСТАНОВЛЕН
Когда ККМ вошла в режим управляющих кодов/ШК и ожидает ввода, любые управляющие коды/ШК игнорируются. Исключения составляют "Отмена" и "Ввод".
Формат входящих документов.
Как входящие, так и исходящие документы представляют собой (возможно) упакованные алгоритмом gzip XML-файлы.
Входящими документами для k2manager являются накладные, которые после операции проводки так или иначе изменяют базу товаров. За основу формата документов принят формат проекта VT:Магазин. Многие поля в контексте МС-01 + ККМ не имеют смысла, однако сохранены для совместимости.
Подробное описание формата приведено в проекте VT:Магазин, а также в инструкции к МС-01.
Отчёты о продажах и Z-отчёт.
Отчет о продаже формируется по пробитии чека кассовым аппаратом.
Z-отчёт формируется, когда закрывается смена на ККМ.
Проводка накладной.
Проводка входящего документа по сути сводится к внесению изменений в базу товаров, которая используется для предоставления информации о товарах в ККМ. Все такие изменения обладают ощим свойством: они полностью заменяют всю информацию о товаре с данным кодом, за исключением цены и количества – с этими параметрами разные виды входящих документов ведут себя по разному:
- приход -
цена товара становится указанной в накладной, а количество увеличивается на величину из накладной;
- расход -
цена товара становится указанной в накладной, а количество уменьшается на величину из накладной;
- переоценка -
цена товара становится указанной в накладной, а количество остается неизменным;
- установка абсолютных значений цены и количества -
и цена товара и его количество становятся равными тому, что указано в накладной.
Вид отчетов на ленте ККМ.
Отчет по остаткам товаров:
[ ОТЧЕТ ПО ]
[ ОСТАТКАМ ]
[ ]
[Товар 199 ]
[КОД 199]
[ШК 1000001991]
[ЦЕНА 1.99]
[КОЛ. 8.000]
[КРАТ. 1]
[СУММА 15.92]
[----------------]
[----------------]
Проведенные накладные:
[ ПРОВЕДЕННЫЕ ]
[ НАКЛАДНЫЕ ]
[ ЗА ПЕРИОД ]
[С 08.05.2008 ]
[ПО 08.05.2008 ]
[ ]
[ ]
[ID 1234567 ]
[СОЗДАНА: ]
[30.04.2008 13:09]
[СОХРАНЕНА: ]
[05.05.2008 17:16]
[ПРОВЕДЕНА: ]
[08.05.2008 09:17]
[ТИП приход]
[СУММА 2010.00]
[----------------]
[----------------]
Непроведенные накладные:
[ НЕПРОВЕДЕННЫЕ ]
[ НАКЛАДНЫЕ ]
[ ]
[ID 2 ]
[СОЗДАНА: ]
[30.04.2008 13:09]
[СОХРАНЕНА: ]
[05.05.2008 18:06]
[ТИП приход]
[СУММА 6010.00]
[----------------]
[----------------]
Проводка накладной:
[ ПРОВОДКА ]
[ НАКЛАДНОЙ ]
[ ]
[ID 2 ]
[СОЗДАНА: ]
[30.04.2008 13:09]
[СОХРАНЕНА: ]
[05.05.2008 18:06]
[ПРОВЕДЕНА: ]
[08.05.2008 11:44]
[ТИП приход]
[СУММА 6010.00]
[----------------]
[----------------]
Удаление накладной:
[ УДАЛЕНИЕ ]
[ НАКЛАДНОЙ ]
[ ]
[ID 20 ]
[СОЗДАНА: ]
[30.04.2008 13:09]
[СОХРАНЕНА: ]
[08.05.2008 11:58]
[ТИП приход]
[СУММА 78010.00]
[----------------]
[----------------]
Выписка из накладной:
[ ТОВАРЫ ]
[ ИЗ НАКЛАДНОЙ ]
[ ID 1234567 ]
[ ]
[Товар 200 ]
[КОД 200]
[ШК 1000002001]
[ЦЕНА 2.00]
[КОЛ. 10]
[КРАТ. 1]
[СУММА 20.00]
[ОТДЕЛ 9]
[ТИП шт.]
[ИЗГОТОВИТЕЛЬ ]
[ Фабрика 200 ]
[АРТ. 20000200]
[ГРУППА ]
[ Бакалея ]
[----------------]
[----------------]