На кассе реализована выгрузка запросов и ответов от ЦРПТ в формате XML.
Во внешнюю систему с кассы в XML-формате выгружается:
- время отправки и тело запроса в сервис True-API системы "Честный знак";
- время получения ответа и тело ответа от сервиса True-API системы "Честный знак".
Данные выгружаются после закрытия кассовой смены и не поднимаются на кассовый сервер.
Данные ЦРПТ сохраняются в базу данных в поле sales в таблице crpt_exchange_log со следующими данными:
- id – порядковый номер записи;
- receipt_num – порядковый номер чека в смене;
- receipt_type – тип чека со значениями 0 и 1, где 0 – продажа, 1 – возврат;
- kiz_status – статус обработки марки со значениями: -1, 0 и 1, где -1 – марка не найдена, 0 – марка прошла проверки, 1 – марка не прошла проверки;
- request_url – адрес запроса;
- request_date – дата/время запроса;
- response_date – дата/время ответа;
- request – запрос в ЦРПТ;
- response – ответ от ЦРПТ;
- shift_id – номер смены;
- shift_close_date – дата/время закрытия смены.
Например:
XML-файл состоит из:
- тега crptExchanges со следующими параметрами: ID магазина, номер кассы и номер смены (как в наименовании файла);
- версии (version);
- даты закрытия смены (dateClose);
- самого запроса с ответом из ЦРПТ (exchange).
Запрос (request) состоит из: даты\времени отправки, URL-адреса отправки и самого запроса.
Ответ (response) состоит из: даты\времени получения ответа и самого ответа.
Пример названия файла выгрузки: crtpExchanges_[1144][9876][623]_[1].xml.
В наименовании указаны цифры, обозначающие:
- storeId=1144 – ID магазина;
- posNum=9876 – номер кассы;
- shiftNum=623 – номер смены.
Сам выгруженный XML-файл выглядит так:
Настройка выгрузки на кассе
Настройка выгрузки производится в несколько этапов.
1. На кассовом сервере УКМ 5 по адресу: Магазин – Типы касс нужно выбрать тип кассы и нажать Настройки:
В конфигурационном файле sale.conf (applications/sale/sale.conf) надо раскомментировать следующую строку, после чего сохранить файл:
{include file("conf/applications/sale/crpt_validator.conf")}
2. Также нужно убедиться в том, что сам файл crpt_validator.conf находится в папке sale (applications/sale) и выглядит следующим образом:
3. В файле doc_exporter.conf (services/doc_exporter/doc_exporter.conf) необходимо раскомментировать следующую строку, после чего сохранить файл:
{ include file("conf/services/doc_exporter/xml5_exporter.conf") }
4. Следует убедиться в том, что сам конфигурационный файл xml5_exporter.conf расположен по адресу: services/doc_exporter/xml5_exporter.conf и содержит параметр isExportCrptExchangeData в значении true:
Файл необходимо сохранить.
5. Нужно создать необходимые папки для выгрузки, если таковые отсутствуют. Пути для выгрузки описаны в полях tempFolder и outputFolder конфигурационного файла xml5_exporter.conf:
Если эти папки отсутствуют, то их следует создать.