====== Транзакция 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;\\ ДобавитьОписаниеОперацииПоКоду(КодОперации_Авторизация, "Авторизация");\\