Дерево страниц
Перейти к концу метаданных
Переход к началу метаданных

На кассе реализована выгрузка запросов и ответов от ЦРПТ в формате XML.

Во внешнюю систему с кассы в XML-формате выгружается:

  • время отправки и тело запроса в сервис True-API системы "Честный знак";
  • время получения ответа и тело ответа от сервиса True-API системы "Честный знак".

Данные выгружаются после закрытия кассовой смены и не поднимаются на кассовый сервер.

Данные ЦРПТ сохраняются в базу данных в поле sales в таблице crpt_exchange_log со следующими данными:

  • id – порядковый номер записи;
  • receipt_num – порядковый номер чека в смене;
  • receipt_type – тип чека со значениями 0 и 1, где 0 – продажа, – возврат;
  • 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-файл выглядит так:

<?xml version="1.0" encoding="utf-8"?>
<crptExchanges storeId="3001" posNum="12" shiftNum="186">
    <version>1.0</version>
    <dateClose> 2024-04-12T00:40:22 </dateClose>
    <exchange id="2" storeId="3001" posNum="12" shiftNum="186" receiptNum="1" receiptType="0" kizStatus="1">
        <request dateSend="2024-04-12T00:38:46.767" url="https://cdn01.am.crptech.ru:20001/api/v4/true-api/codes/check">
            <![CDATA[{"codes":["0104670540176099215LnOjv\u001D93dGVz"],"fiscalDriveNumber":"9999078902016843"}]]>
        </request>
        <response dateReceived="2024-04-12T00:38:46.969">
            <![CDATA[{"code":0,"description":"ok","codes":[{"cis":"0104670540176099215LnOjv\u001D93dGVz","valid":true,"printView":"0104670540176099215LnOjv","gtin":"04670540176099","groupIds":[8],"verified":true,"found":true,"realizable":false,"utilised":true,"expireDate":"2024-04-30T00:00:00.000Z","isOwner":true,"isBlocked":false,"errorCode":0,"isTracking":false,"sold":false,"packageType":"UNIT","producerInn":"7725344604","grayZone":false}],"reqId":"688787a6-2701-43d8-b4f4-b82ccffb0c88","reqTimestamp":1712871526945}]]>
        </response>
    </exchange>
</crptExchanges>

Здесь:

dateClose – дата и время закрытия чека;
exchange id="123";
storeId="1144"'
posNum="666";
shiftNum="478";
receiptNum="1"'
receiptType="0": 0 – продажа, 1 - возврат
requestStatus="0": -1 – ошибка на ответ, 0 – ответ был, 1 – ответа не было в заданное время;
kizStatus="1">: -1 – марка не найдена, 0 – марка прошла проверки, 1 – марка не прошла проверки.

Настройка выгрузки на кассе

Настройка выгрузки производится в несколько этапов.

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 и содержит параметр isExportCrptExchangeData в значении true:

Файл необходимо сохранить.

Важно! Поля isExportReceipts, isExportMoneyOperations, isExportCrptExchangeData, isExportShiftOpens, isExportCancelledReceipts в конфигурационном файле xml5_exporter.conf являются необязательными и их можно, при желании, удалить, однако в таком случае, значение отсутствующих полей будет false.

5. Нужно создать необходимые папки для выгрузки, если таковые отсутствуют. Пути для выгрузки описаны в полях tempFolder и outputFolder конфигурационного файла xml5_exporter.conf:

Если эти папки отсутствуют, то их следует создать.