Работа с кассовым аппаратом MG-545T (02) по http протоколу (JSON)

13.04.17

Учетные задачи - Розничная торговля

Программируем базу товаров прямо из 1С 8.х.х в кассовый аппарат , скачиваем напрямую отчеты о проданных товарах. Обработка не подвязана под какую либо конфигурацию, но полностью демонстрирует возможность , как можно заполнить данными БД кассового аппарата и наоборот, как скачать отчеты о проданных товарах или БД товаров, запрограммированных в аппарате.

Скачать файлы

Наименование Файл Версия Размер
1C 8.x.x
.epf 40,27Kb
11
.epf ver.2.0.1 40,27Kb 11 Скачать
Протокол JSON аппарата MG-545 T (02)
.pdf 1,10Mb
5
.pdf 1.0.0.1 1,10Mb 5 Скачать

 Производитель решил углубить идею управления кассовым аппаратом через http протокол. Или другими словами дал упрощенный метод управления кассовым аппаратом в формате JSON.

 Данная обработка пригодиться частным мелким организациям работающим на кассовых аппаратах MG-545T (02) которые хотят быстро программировать свой (т.к. модель всего одна) кассовый аппарат MG-545T(02) удаленно через ETHERNET (не путать с Интернетом, хотя и через И-нет тоже можно - предварительно пробросив порт 80 наружу), либо через кабель USB (в этом случае USB работает в режиме RNDIS - виртуальная сетевая карта).

 Начну с начала. Рассказывать буду подробно и четко (если что поправляйте исправлю).

1) Подключили аппарат вышеуказанным методом (если Windows 7, 8 , 10 - даже через USB драйверов не надо).

( В случае необходимости для Windows 98, Windows XP драйвер USB-RNDIS можно скачать тут или зеркало ).

2) Набрать на кассовом аппарате команду 929   ПС  распечатает все IP адреса по которым можно добраться к заветному аппарату.
Не удивляйтесь он может одновременно откликаться как по Ethernet, USB-RNDIS и быть подключен к GPRS. (последнего конфигурацию не печатает).

3) Теперь мы можем использовать этот аппарат через 1С - указав IP в первой вкладке обработки (см. скриншот).

 

Теперь можем исправить шапку чека - переписать , переименовать заключительную часть чека. Но самое главное мы можем программировать товары из 1С непосредственно в этот аппарат. (Изначально прийдеться правда синхронизировать ID налоговой ставки в аппарате и в 1С.)

mg V545T
В 

На скриншоте 2 показанно все это. (Результат можно тут-же увидеть на самом аппарате в его таблице
http://IP-addres/index.html#plu или для тех кто понимает JSON по адресу http://IP-addres/cgi/tbl/PLU  
(последний слеш не ставиться !!!).

Теперь вытянуть продажи... существует масса вариатов , я постраюсь на пальцах (ну сколько у меня хватит терпения и пальцев Laughing ).

Вариант 1 Чтение таблицы продаж за текущую ОТКРЫТУЮ смену. (до снятия Z отчета).

Даем запрос на чтение по GET http://IP-addres/cgi/chk (незабывайте что аппарат отдает ответы в UTF-8 так что русские символы я декодирую в понятную кодировку для чтения) 

В ответ нам прийдет JSON который прийдеться распарсить и получим все чеки которые пробивались на данном аппарате.
Кто желает углубиться, тот читает протокол JSON котоый я так-же прикрутил к этой статье.

Для тех кто не хочет изучать как и что, может получить значения чеков перейдя на вкладку Служебные функции и нажать на скромно стаящую кнопку Таблица чеков (на данном этапе я все вывожу в окно служебных сообщений, т.к. не знаю на какой конфигурации и куда надо данные записывать в 1С) . 

Вариант 2 Чтение таблиц электронного журнала за любой Z отчет.
Сразу банальный вопрос - а почему не за дату, и откуда я буду знать нумерацию Z отчетов? Да тут все очевидно просто за одну и ту-же дату работники умудряются делать несколько Z отчетов , что в принципе позволительно - поэтому логичнее делать этот отчет по номерам Z отчетов который печатается на ленте самого отчета при его снятии (каждый кассир знает ГДЕ).

Теперь о самом процессе... вызываем  GET http://IP-addres/cgi/ejournal?Z=НОМЕР ,

где НОМЕР - это и есть ВАШ номер интересующей смены в рамках Z отчета 
получаемые данные и будут содержать необходимые чеки  в рамках от номера(Z-1) до номера(Z) (т.е. за всю закрытую смену).

Ответ как ВЫ догадались приходит опять JSON-ом котрый распарсив мы (ВЫ) получим всю необходимую информацию.

Распарсив получим например:

Z >-> 3 (Номер Z отчета - именно тот который Я и посылал
id >-> 1
oper_id >-> 1
datetime >-> 1465475700   (Дата время в UNIX формате)

id >-> 22  (Номер операции кому надо берите...)
no >-> 1
beg_id >-> 1
oper_id >-> 1  
datetime >-> 1465475702     (Дата время в UNIX формате)
DI >-> 14
code >-> 1        (Код товара который я пробил ради теста)
name >-> Товар ТЕСТ 1  (Его название кстати было запрограммировано в аппарат из коробки заводом)
qty >-> 1.000  (Кол-во проданных товаров)
price >-> 99.88  (Цена - это я поменял ему цену - изначально была 0грн)
sum >-> 99.88   (Сумма сделки)
tax >-> 1            (Налог 1 - что соответствует А налогу - а вот к чему он привязан? см. ниже оборву мысль...)
no >-> 1  (Номер вида оплаты)
name >-> ГОТIВКОЮ  (вид оплаты - НАЛОМ конечно-же) 
sum >-> 99.88 (Вся эта сумма по налу - хотя могли быть и другие варианты, частичная оплата и сдача...)
id >-> 33
no >-> 2
beg_id >-> 23
oper_id >-> 1

Для этого аппарат должен быть зафискализирован и в его памяти есть как минимум 1 (один) снятый Z отчет.

Не производите сами фискализацию процесс необратим !!! (аппарат становиться на учет в налоговую).

Полученные данные я вывожу в окно служебных сообщений. Вы естественно можете манипулировать с этими данными и даже формировать расходные документы, а можете ...

Вернусь к оборванной мысли , то где взять налоговые ставки :

по GET http://IP-addres/cgi/tbl/Tax в ответ ВЫ получите JSON с заранее запрогрммированными налогами.
Рекомендуется не менять эти ставки в дальнейшем ! 

Пример выглядитвот так:

По адресу URL http://IP-addres/cgi/tbl/Tax
2)Результат=[
{"id":1,"Prc":20.00,"Extra":5.00,"SMode":2,"SName":"ЗБІР"},
{"id":2,"Prc":0.00,"Extra":0.00,"SMode":0,"SName":"ЗБІР"},
{"id":3,"Prc":0.00,"Extra":0.00,"SMode":0,"SName":"ЗБІР"},
{"id":4,"Prc":0.00,"Extra":0.00,"SMode":0,"SName":"ЗБІР"},
{"id":5,"Prc":0.00,"Extra":0.00,"SMode":0,"SName":"ЗБІР"}]

Или если распарсить:

id >-> 1     (Идентификатор налога)
Prc >-> 20.00 (Процент налоговой ставки)
Extra >-> 5.00 (Процент акцизного сбора )
SMode >-> 2    (Режим по которому начисляется процент акциза т.е. (БазаЦена+НДС)+Акциз = КонечнаяЦена )
SName >-> ЗБІР (То что печатается на виде акциза)
id >-> 2  
Prc >-> 0.00
Extra >-> 0.00
SMode >-> 0
SName >-> ЗБІР  

и т.д.

Остальные варианты чтения ВЫ можно получить изучив протокол обмена и используя команды получить то ,что необходимо из аппарата.

Так например можно прочитать всю поднаготную аппрата за всю историю (или часть истории)
вызвав GET http://IP-addres/cgi/tbl/FDay  - это таблица фискальной памяти , внешне она выглядит приблизительно так

[
{"id":1,"valid":1,"Date":1465419600,"STax0":0.00,"STax1":699.82,"STax2":0.00,"STax3":0.00,"STax4":0.00,"SRet0":0.00,"SRet1":0.00,"SRet2":0.00,"SRet3":0.00,"SRet4":0.00,"NChk":6,"NRet":0},
{"id":2,"valid":1,"Date":1465419600,"STax0":0.00,"STax1":111.10,"STax2":0.00,"STax3":0.00,"STax4":0.00,"SRet0":0.00,"SRet1":0.00,"SRet2":0.00,"SRet3":0.00,"SRet4":0.00,"NChk":2,"NRet":0},
{"id":3,"valid":1,"Date":1465506000,"STax0":0.00,"STax1":111.10,"STax2":0.00,"STax3":0.00,"STax4":0.00,"SRet0":0.00,"SRet1":0.00,"SRet2":0.00,"SRet3":0.00,"SRet4":0.00,"NChk":2,"NRet":0},
{"id":4,"valid":1,"Date":1465765200,"STax0":0.00,"STax1":99.88,"STax2":0.00,"STax3":0.00,"STax4":0.00,"SRet0":0.00,"SRet1":0.00,"SRet2":0.00,"SRet3":0.00,"SRet4":0.00,"NChk":1,"NRet":0}]
Выделил строку которую внимательный читатель заметил что я ее разбирал ВЫШЕ в качестве примера.
На самом деле важными параметрами тут являются всего 2(два), а именно ДАТА-ВРЕМЯ "Date":1465506000,
и номер Z отчета "id":3. 
Предположим Вам надо выудить инфу о всем, что продавалось на этом аппарате с 09.06.2016 по 12.06.2016
Легко перевести эти данные в UNIX формат (т.е. кто посмотрит код в 1С удивиться как 
просто это выполнить на уровне 1С)отберем номера ID которые попадают в наш разрез 
дат начиная с 1465430400 секунды по 1465689600 секунду. 
Как видим из примера у нас попадают 2 отчета (всего) 
это с id=3 и id=4 , т.к. 1465506000 больше или равен искомому 1465430400
с другой стороны ограничение  1465689600 сек. 
Теперь осталось обратиться по GET http://IP-addres/cgi/ejournal?Z=3 , потом  
GET http://IP-addres/cgi/ejournal?Z=4
получить данные и распарсить , результат записать в нужные места ВАШЕЙ конфигурации. 

Теперь о главном :

Аппарат можно было-бы запрограммировать и ввести товары старым способом - через WEB консоль обратившись по его IP...
но это наверное не так интересно ?

Надеюсь это все ВАМ действительно понадобилось.

кассовый аппарат ККМ касса синхронизация с кассой 545 MG545 MG-545 MG545T MG-545T

См. также

SALE! 20%

Автоматический заказ поставщику в 1С: загрузка прайсов и анализ цен поставщиков для УТ 10.3, УТ 11, КА2, УНФ, УПП, ERP, Розница 2

Бюджетирование и планирование Оптовая торговля Розничная торговля Логистика, склад и ТМЦ Анализ продаж Платформа 1С v7.7 Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Беларусь Украина Россия Казахстан Управленческий учет Платные (руб)

Система управления запасами для 1С помогает работать с запасами правильно: автоматически рассчитывает потребность и делает заказ поставщику, загружает прайсы, перемещает товары по филиалам, анализирует продажи и позволяет управлять ассортиментом.

28500 22800 руб.

21.04.2017    90186    105    39    

191

ККТ-ОНЛАЙН 54-ФЗ: Обработка для работы онлайн касс АТОЛ, ШТРИХ, VIKI PRINT и т.д. МАРКИРОВКА + ЭКВАЙРИНГ + БЕСПЛАТНЫЙ ДЕМО

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

Универсальная обработка для обслуживания любых фискальных регистраторов (ККТ), в том числе Веб сервер АТОЛ. Работает в соответствии с 54-ФЗ. (ФФД 1.0, ФФД 1.05, ФФД 1.1). Подключайте любую онлайн кассу к практически любой конфигурации. Нет необходимости обновлять 1С. Можно бесплатно скачать и протестировать. Может работать одновременно с несколькими онлайн-кассами, либо одной с разных рабочих мест. (через RDP, TCP\IP или веб-сервер) Позволяет разделить один чек сразу на несколько ККТ или на несколько систем налогообложения. Можно настроить собственный шаблонов чека. Можно использовать эквайринг там, где он не поддерживается. Работает на LINUX и Windows ЭМУЛЯТОР + ЭКВАЙРИНГ + МАРКИРОВКА + ПОДДЕРЖКА ФФД 1.2

4800 руб.

27.02.2017    763217    4668    9495    

2781

Перенос данных из Парус 8 в ЗГУ 3

Зарплата Внешние источники данных Бюджетный учет Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры государственного учреждения 3 Государственные, бюджетные структуры Россия Бухгалтерский учет Бюджетный учет Платные (руб)

Обработка позволяет перенести кадровую информацию и данные по заработной плате, фактических удержаниях, НДФЛ, вычетах, страховых взносах из базы Парус 8 учреждений в конфигурацию 1С:Зарплата и кадры государственного учреждения ред. 3 (ЗГУ) и начать с ней работать с любого месяца года.

84000 руб.

19.08.2020    22452    19    1    

22

ЕГАИС++. Опт, производство, импорт

Оптовая торговля Розничная торговля Обмен с ГосИС Платформа 1С v8.3 1С:Управление торговлей 10 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Рестораны, кафе и фаст-фуд Россия Бухгалтерский учет Управленческий учет Акцизы Платные (руб)

Полнофункциональное расширение (ранее известное как Модуль 1С-ЕГАИС) для взаимодействия типовых конфигураций 1С и ЕГАИС, предоставляющее максимум возможностей по работе с УТМ. Получение и отправка ТТН, отправка акта о постановке на баланс и акта о списании. Получение остатков. Загрузка и сопоставление номенклатуры и контрагентов. Оправка в ЕГАИС отчетов о производстве и импорте.

8970 руб.

15.12.2015    165978    679    362    

386

Перенос данных из Парус 10 в ЗГУ ред.3

Внешние источники данных Кадровый учет Файловый обмен (TXT, XML, DBF), FTP Обмен между базами 1C Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры государственного учреждения 3 Государственные, бюджетные структуры Россия Бухгалтерский учет Бюджетный учет Платные (руб)

Обработка позволяет перенести кадровую информацию и данные по заработной плате, фактических удержаниях, НДФЛ, вычетах, страховых взносах из базы Парус 10 учреждений в конфигурацию 1С:Зарплата и кадры государственного учреждения ред. 3 (ЗГУ) и начать с ней работать с любого месяца года.

60000 руб.

05.10.2022    9212    9    8    

10

SALE! 10%

Загрузка номенклатуры из Excel в УТ11, КА 2, ERP 2, Розница 2. Дополнительные реквизиты и сведения, характеристики, картинки, цены, остатки

Загрузка и выгрузка в Excel Розничная торговля Логистика, склад и ТМЦ Ценообразование, анализ цен Прайсы Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Розница 2 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Управленческий учет Платные (руб)

Загрузка из файлов xls, xlsx, ods, csv, mxl в УТ11, КА 2, ERP 2, Розница 2. Задействованы все возможности конфигурации - заполнение реквизитов номенклатуры, дополнительных реквизитов и сведений, характеристики, доп.реквизиты и сведения характеристик. Дополнительные обработки для расширения возможностей.

10560 9504 руб.

29.10.2014    210189    620    524    

439

Обмен с системой ЦРПТ (Универсальная конфигурация ХамелеонЦРПТ + маркировка табака, обуви, одежды, лекарств, фото, молока, духов(парфюма), питьевой воды, велосипедов и шин)

Оптовая торговля Розничная торговля Обмен с ГосИС Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Россия Бухгалтерский учет Управленческий учет Платные (руб)

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

104000 руб.

18.03.2019    110332    34    114    

178
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. leon2785 02.07.20 13:42 Сейчас в теме
Доработка под типовую УТ/УТП обычные формы обсуждаема? с загрузкой чеков за период?
Оставьте свое сообщение