====== Транзакция 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;
{"Реквизиты": {"ДатаОтгрузки": "2023-04-21T00:00:00Z"}}
=== 2 - банковский слип ===
Транзакция 125 пишется после транзакции оплаты по банковскому терминалу (40/140).
16;08.10.24;13:36:20;125;13;2957;1;;2;0;0;0;
{
"slip": "some StringForPrint #1\r\nsome StringForPrint #2-----------------Линия отреза-----------------some StringForBuy #3\r\nsome StringForBuy #4",
"RRN": "1"
}
=== 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;
{"errors":[{"error_code":1,"item_code":"81","date":"20251119194536","error_text":"Подбор товара","error_text_full":"Продажа запрещена! Превышен срок годности продукта"}]}
* 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;
{"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}]}
* 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;\\
ДобавитьОписаниеОперацииПоКоду(КодОперации_Авторизация, "Авторизация");\\