Транзакция 125

Для выгрузки дополнительной информации может использоваться 125 транзакция, после которой следует тэг json_data, в котором записывается текст в формате JSON.
В поле №9 (Секция) записывается тип дополнительной информации.

1 - доп. информация о чеке предоплаты

Транзакция 125 пишется после позиций чека предоплаты (611), но до транзакции закрытия чека предоплаты (655).

99085;03.04.23;15:37:47;125;13;1276;1;;1;0;0;0;
<json_data type="1">
{"Реквизиты": {"ДатаОтгрузки": "2023-04-21T00:00:00Z"}}
</json_data>

2 - банковский слип

Транзакция 125 пишется после транзакции оплаты по банковскому терминалу (40/140).

16;08.10.24;13:36:20;125;13;2957;1;;2;0;0;0;
<json_data type="2">
{
"slip": "some StringForPrint #1\r\nsome StringForPrint #2-----------------Линия отреза-----------------some StringForBuy #3\r\nsome StringForBuy #4",
"RRN": "1"
}
</json_data>

3 - Статистика по ошибкам

Транзакция 125 пишется после возникновения ошибок в моменты:
1. закрытие/отмены/отл чек (после транзакций регистраций, но до 55/56/58)
2. если состав чека пустой - перед записью любых транзакций НЕ чека (типа авторизация, Z отчет и т.д.)
3. перед выходом из программы
4. каждые 10 минут, если не наступило другое событие

10973;19.11.25;19:56:02;125;13;292;1;;3;0;0;0;
<json_data type="3">
{"errors":[{"error_code":1,"item_code":"81","date":"20251119194536","error_text":"Подбор товара","error_text_full":"Продажа запрещена! Превышен срок годности продукта"}]}
</json_data>

date – дата/время возникновения ошибки.

item_code – код товара, если ошибка относилось к позиции чека. Если для данной позиции ведется продажа в разрезе характеристик, то «КодТовара.КодРазрезаХарактеристики».

error_code – код операции, при которой возникла ошибка.

error_text – краткое описание ошибки.

error_text_full – полное описание ошибки (до 2000 символов).

4 - Статистика подтверждения прав

Транзакция 125 пишется в транзакциях чека, если было подтверждение возраста или подтверждение права картой:

10748;18.11.25;12:22:51;125;13;263;4;;4;0;0;0;
<json_data type="4">
{"errors":[{"result":false,"items":[],"date":"20251118122236","type_text":"Регистрация по коду","user_code":0,"type_code":7,"waiting_time":4},{"result":true,"items":[],"date":"20251118122244","user_code":1,"type_text":"Регистрация по коду","type_code":7,"waiting_time":2},{"result":true,"items":[{"code":"1"}],"date":"20251118122247","type_text":"Отмена чека","user_code":1,"type_code":33,"waiting_time":3}]}
</json_data>

date – дата/время возникновения запроса на подтверждение.

items – если подтверждение относилось к позициям чека, например, подтверждение возраста продажи или сторнирование количества в данной строке чека, то в поле передается массив структур с полем code = код номенклатуры позиции. Т.е. если чек содержал алкогольную продукцию и было вызвано подтверждение возраста покупателя, то в данном массиве передаются все коды номенклатуры, которые требуют подтверждение администратора по данному запросу. Если для данной позиции ведется продажа в разрезе характеристик, то «КодТовара.КодРазрезаХарактеристики»

type_code – код типа операции подтверждения ().

type_text – текстовое описание типа операции.

waiting_time – время ожидания подтверждения в секундах.

user_code – код пользователя, выполнившего подтверждение.

result – true, если операция подтверждена. Иначе, если произведена отмена подтверждения, то false.

5 - 99

Зарезервировано.

Коды операций статистики ошибок

КодОперации_ПодборТовара = 1;
ДобавитьОписаниеОперацииПоКоду(КодОперации_ПодборТовара, «Подбор товара»);

КодОперации_Сторно = 2;
ДобавитьОписаниеОперацииПоКоду(КодОперации_Сторно, «Сторно»);

КодОперации_РедактированиеЦены = 3;
ДобавитьОписаниеОперацииПоКоду(КодОперации_РедактированиеЦены, «Редактирование цены»);

КодОперации_РедактированиеКоличества = 4;
ДобавитьОписаниеОперацииПоКоду(КодОперации_РедактированиеКоличества, «Редактирование количества»);

КодОперации_ПодборДисконтнойКарты = 5;
ДобавитьОписаниеОперацииПоКоду(КодОперации_ПодборДисконтнойКарты, «Подбор дисконтной карты»);

КодОперации_ПодборКупона = 6;
ДобавитьОписаниеОперацииПоКоду(КодОперации_ПодборКупона, «Подбор купона»);

КодОперации_ПрименениеРучнойСкидки = 7;
ДобавитьОписаниеОперацииПоКоду(КодОперации_ПрименениеРучнойСкидки, «Применение ручной скидки»);

КодОперации_ПрименениеФиксированнойСкидки = 8;
ДобавитьОписаниеОперацииПоКоду(КодОперации_ПрименениеФиксированнойСкидки, «Применение фиксированной скидки»);

КодОперации_ЗакрытиеЧека = 9;
ДобавитьОписаниеОперацииПоКоду(КодОперации_ЗакрытиеЧека, «Закрытие чека»);

КодОперации_ОтменаЧека = 10;
ДобавитьОписаниеОперацииПоКоду(КодОперации_ОтменаЧека, «Отмена чека»);

КодОперации_ОткладываниеЧека = 11;
ДобавитьОписаниеОперацииПоКоду(КодОперации_ОткладываниеЧека, «Откладывание чека»);

КодОперации_ПродолжениеЧека = 12;
ДобавитьОписаниеОперацииПоКоду(КодОперации_ПродолжениеЧека, «Продолжение чека»);

КодОперации_ОплатаЧека = 13;
ДобавитьОписаниеОперацииПоКоду(КодОперации_ОплатаЧека, «Оплата чека»);

КодОперации_БанковскаяОплатаЧека = 14;
ДобавитьОписаниеОперацииПоКоду(КодОперации_БанковскаяОплатаЧека, «Банковская оплата чека»);

КодОперации_ОтменаБанковскойОплатыЧека = 15;
ДобавитьОписаниеОперацииПоКоду(КодОперации_ОтменаБанковскойОплатыЧека, «Отмена банковской оплаты чека»);

КодОперации_XОтчет = 16;
ДобавитьОписаниеОперацииПоКоду(КодОперации_XОтчет, «Отчет без гашения»);

КодОперации_ZОтчет = 17;
ДобавитьОписаниеОперацииПоКоду(КодОперации_ZОтчет, «Отчет с гашением»);

КодОперации_Авторизация = 18;
ДобавитьОписаниеОперацииПоКоду(КодОперации_Авторизация, «Авторизация»);