#ifndef _INCLUDE_ERRORS_
#define _INCLUDE_ERRORS_

/*
Описание зарезервированных ALIASES:
terminal    - Сообщение для вывода на экран терминала
notlv       - признак "не конвертировать в tlv"
hint        - Сообщение-подсказка кассиру
hintlink{#} - Сообщение-подсказка кассиру из ошибки номер #

Описание условного оператора:
if (visa || vx675)
  строка, которая появится при запуске скрипта с параметрами --brand visa или --device vx675
else
  строка, которая появится при запуске скрипта в остальных случаях

if (ural)
  строка, которая появится при запуске скрипта с параметрами --brand ural
else
  строка, которая появится при запуске скрипта в остальных случаях
  
Скрипт расположен здесь build\script\parse-doxyxml-error-codes.py
Опциональные агрументы скрипта:
указываем тип сборки                                --brand [visa, ural, что-то своё, что-то новое]
указываем модель                                    --device [vx675, что-то своё, что-то новое]
хотим не только сделать tlv, но и "Коды ошибок.docx" --word (или -w)
doxygen нужно установить отсюда \\amkar1\vol3\UPOS\dev\doxigen\doxygen-X.X.X-setup.exe
python  нужно установить отсюда \\amkar1\vol3\UPOS\dev\python\python-3.4.3.msi
чтобы python мог генерить Word надо установить ещё вот это \\amkar1\vol3\UPOS\dev\python\docx\
Особенности:
1. Условный оператор можно разносить на несколько строк, но он должен быть внутри одного комментария, нельзя его разносить на несколько разных комментариев.
2. endif можно не писать, главное закрыть комментарий

********************************************/

/**
 * @defgroup ERROR_CODES Коды ошибок
 */
 /**@{*/
 
#define ERR_OK                  0 /**< Успешно                                                                */
#define SPS_OK             ERR_OK /**< Успешно                                                                */
#define SPS_WAITING             1 /**< Задача поставлена в очередь                                            */
                                  /**< @notlv */
#define SPS_PROCESSING          3 /**< Задача в процессе выполнения                                           */
                                  /**< @notlv */
#define SPS_BADLRC              4 /**< На терминал передана команда с неверной контрольной суммой             */
                                  /**< @notlv */
#define SPS_SUPPRESS_REPLY      5 /**< Подождать с ответом. Скорее всего терминал выполняет перезагрузку      */
                                  /**< @notlv */
#define SPS_DONT_REPLY          6 /**< Информационное сообщение не требует ответа.                            */
                                  /**< @notlv */
#define SPS_WRONGCMD           12 /**< На терминал передана не корректная команда                             */
                                  /**< @terminal На терм. передана не корр. команда*/
                                  /**< @hint @if (visa || vx675) Пожалуйста, обратитесь в службу технической поддержки VISA на объекте
                                             @else Обратитесь в службу поддержки: 8 (800) 35 00 123
                                             @if vx675<br>Internal Error @endif                               */
#define SPS_WRONGPAR           13 /**< На терминал передана команда не содержащая обязательные параметры      */
                                  /**< @notlv */
#define SPS_UEPSERR            14 /**< Ответ терминала содержит код ошибки                                    */
                                  /**< @notlv */
#define SPS_BAD_REQUEST        15 /**< Задача с указанным номером не найдена в очереди задач                  */
                                  /**< @notlv */
#define SPS_ALREADY_DONE       16 /**< Финансовая операция с таким RequestID уже выполнена                    */
                                  /**< @notlv */
#define SPS_NOCARD             21 /**< Ответ на команду CMD_CARD_TEST при отсутствии карты                    */
                                  /**< @notlv */
#define SPS_BADFRAME           23 /**< На терминал передана команда не полная команда                         */
                                  /**< @notlv */
#define SPS_READFAIL           34 /**< Ошибка чтения магнитной полосы карты                                   */
                                  /**< @notlv */
#define SPS_CMFAIL             35 /**< Ошибка чтения ключей пинпада                                           */
                                  /**< @notlv */
#define SPS_PINERR             36 /**< Ошибка ввод пин-кода. В пинпаде нет ключа в ячейке 9.                  */
                                  /**< @hintlink{12}*/
#define SPS_MACERR             37 /**< Ошибка создания MAC-ключа                                              */
#define SPS_INCOMPL            38 /**< Локальный протокол обмена запрашивает следующий блок данных            */
//#define SPS_ACK                39
#define SPS_NULLPOINTER        40 /**< Передан нулевой указатель */
#define SPS_FILE_NOT_FOUND     41 /**< Файл tlv для передачи на терминал не найден*/
#define SPS_DATA_NOT_TRANSF    42 /**< Данные на терминал не доставлены [в полном объеме]*/
#define SPS_CTLS_NOT_SUPP      43 /**< Пинпад не поддерживает бесконтактный режим*/

#define SPS_TEST_TOOL_ERROR    95 // see test tool log-file
#define SPS_NEED_EDITOR        96 /**< Для выполнения операции требуется запуск утилиты "Редактор Параметров" */
//#define SPS_NEED_LOADER        97
#define SPS_NEED_RESTART       98 /**< Для выполнения операции требуется перезапуск кассы                     */
#define SPS_NOLINK             99 /**< Пинпад не подключен                                                    */
                                  /**< @hint @if (visa || vx675)
                                             Пожалуйста, обратитесь в службу технической поддержки VISA на объекте
                                       @else Проверьте кабели, идущие к пинпаду и перезагрузите терминал. Если не помогло - обратитесь в службу поддержки: 8 (800) 35 00 123 */
#define ERR_NOT_SUPPORTED            101 /**< Операция не поддерживается  */
                                         /**< @hintlink{12}*/
#define ERR_JNI                      102
//#define ERR_PP_CANCELLED             103
//#define ERR_NO_PIN_KEY_LOADED        104
//#define ERR_PP_NO_CARD               105
//#define ERR_PP_WRONG_CARD            106
//#define ERR_PP_PROTOCOL_ERROR        107
//#define ERR_PP_OPER_NOT_ALLOWED      108
//#define ERR_PP_MAGN_READER_BUSY      109
//#define ERR_PP_MAGN_READER_ERROR     110

//#define SPS_HASH                     111

#define ERR_SUPPRESSED               112 /**< Требуется подавить ответ на команду                                   */
                                         /**< @notlv */
#define ERR_LIBRARY_LOAD             113 /**< Ошибка загрузки динамической библиотеки                                */
                                         /**< @notlv */
#define ERR_FUNCTION_NOT_FOUND       114 /**< Указанная функция не найдена в динамической библиотеке                 */
                                         /**< @notlv */
#define ERR_LIBRARY_BUSY             115 /**< Библиотека занята другим процессом, требуется подождать его завершения */
                                         /**< @hintlink{12}*/
#define ERR_CTX_GET                  116 /**< Ошибка чтения параметра. Возможно параметра с таким именем не существует*/
                                         /**< @notlv */
#define ERR_CTX_SET                  117 /**< Ошибка установки параметра */
                                         /**< @notlv */
#define ERR_RFU_A0                   160 /**< Зарезервировано. CMD_MASTERCALL */
                                         /**< @notlv */
#define ERR_RFU_C0                   192 /**< Зарезервировано. CMD_RUNSCREEN */
                                         /**< @notlv */
#define ERR_MCL_ERROR                230 /**< Ошибка чтения карты*/
                                         /**< @notlv */
//#define ERR_PP_WRONG_APDU            231
//#define ERR_PP_ABORTED               232
//#define ERR_PP_BAD_FRAME             234

#define ERR_ABORT_STUPID             238 /**< Пинпад отключился.<br>Отправка команды отменена*/
                                         /**< @hint Проверьте кабели, идущие к пинпаду и перезагрузите терминал.Если не помогло - обратитесь в службу поддержки: 8 (800) 35 00 123 */
#define CARD_COLLISION_DETECTED      247 /**< Используйте только 1 карту */
#define DRV_NO_MEMORY                248 /**< Динамическая память закончилась */
                                         /**< @hint Перезагрузите терминал. Если не помогло - обратитесь в службу поддержки: 8 (800) 35 00 123 */
#define DRV_WRONGPAR                 249 /**< На терминал передана команда не содержащая обязательные параметры */
#define DRV_UCANCEL                  250 /**< Внутренняя ошибка: Операция отменена                                   */
                                         /**< @if (visa || vx675) <br>Internal error                    */
                                         /**< @hint Повторите операцию. Если не помогло - обратитесь в службу поддержки: 8 (800) 35 00 123*/
#define DRV_BADMEDIA                 251 /**< Внутренняя ошибка: Ошибка записи данных на диск                        */
#define DRV_NOTSUPP                  252 /**< Внутренняя ошибка: Операция не поддерживается                          */
                                         /**< @if (visa || vx675) <br>Internal error*/
                                         /**< @hintlink{12}*/
#define DRV_FAILURE                  253 /**< Аппаратный сбой.<br>Устройство ещё не готово.                              */
                                         /**< @if (visa || vx675) <br>Hardware failure*/
                                         /**< @hint Перезагрузите терминал и кассу (при наличии). Если не помогло - обратитесь в службу поддержки: 8 (800) 35 00 123*/
#define DRV_TIMEOUT                  254 /**< Внутренняя ошибка: Истекло время ожидания                              */

#define ERR_CRT_FORMAT               255 /**< Ошибка, возникшая при разборе сертификата, (ошибка формата) */
#define ERR_CRT_FPARAM               256 /**< Некорректное значение параметров */
#define ERR_CRT_NOT_RES_FOR_PARSE    257 /**< Недостаточно ресурсов для разбора сертификата */


/**************************************************/
/* range 260...3000 - reserved for BGS errors !!! */
#define CARD_NOT_POWERED_ON             361 /**< Нарушился контакт с чипом карты*/
                                            /**< @hint Протрите чип карты мягкой тканью и повторите операцию. Если не помогло - обратитесь в службу поддержки: 8 (800) 35 00 123*/
#define CARD_IS_MUTE                    362 /**< Карта не читается*/
                                            /**< @if (visa || vx675) <br>Card is not responding*/
                                            /**< @hintlink{250} */
#define CARD_WAS_REMOVED                4190/**< Карта не читается. Попробуйте прокатать карту через магнитный ридер*/
                                            /**< @terminal Карта не читается.<br>Попробуйте магн.ридер.*/
                                            /**< @hintlink{361} */

#define CARD_ERROR                      364 /**< Карта не читается.<br>Попробуйте магн.ридер.*/
                                            /**< @terminal Карта не читается.<br>Попробуйте магн.ридер.*/
                                            /**< @hint Используйте магнитный считыватель для чтения карты*/

#define PASSWORD_NOT_ESTABLISHED        402 /**< Карта не была выдана. Карту следует убрать из обращения*/
                                            /**< @terminal Карта не была выдана.<br>Изымите карту!*/
#define PASSWORD_INCORRECT              403 /**< ПИН неверен*/
                                            /**< @hint Объяснить клиенту его ошибку и повторить операцию*/
#define PASSWORD_IS_CANCELLED           404
#define PASSWORD_LOCKED                 405 /**< ПИН блокирован*/
                                            /**< @hint Операция невозможна. Отказать клиенту в проведении операции и посоветовать обратиться в банк по месту выдачи карты*/

#define NO_MORE_TRX                     505 /**< Карта терминала заполнена. Требуется выполнить инкассацию. */
                                            /**< @terminal Карта терминала заполнена<br>Выполните инкассацию*/
#define CARD_EXPIRED                    507 /**< Срок действия карты истек*/
                                            /**< @hintlink{405} */
#define INVALID_BATCH_DATE              514 /**< На терминале установлена неверная дата*/
                                            /**< @hint Установить правильную дату на терминале и повторить операцию*/
#define INVALID_OPERATION_DATE          518 /**< На терминале установлена неверная дата*/
                                            /**< @hintlink{514} */
#define INSUFFICIENT_FUNDS              521 /**< На карте недостаточно средств*/
                                            /**< @hint Операция невозможна. Отказать клиенту в проведении операции и посоветовать пополнить карту */
#define TSN_ORDER_CORRUPTED             561 /**< Нарушен список операций на карте. Изымите карту!*/
                                            /**< @terminal Нарушен список<br>операций на карте.<br>Изымите карту!*/
#define CARD_LOCKED                     579 /**< Карта блокирована. Изымите карту!*/
                                            /**< @hintlink{405} */
#define TRX_LIMIT_OVER                  584 /**< Сегодня по этой карте больше операций делать нельзя*/
                                            /**< @if visa @hint Операция невозможна. Отказать клиенту в проведении операции и посоветовать обратиться в службу поддержки VISA на объекте
                                                 @else    @hintlink{405} */
#define SERVICE_PERIOD_OVER             585 /**< Период обслуживания истек*/
                                            /**< @hintlink{405} */
#define DEBIT_LIMIT_OVER                586 /**< Превышен лимит, разрешенный без связи с банком*/
                                            /**< @hintlink{405} */
#define APPL_CARD_LOCKED_SYSTEM         705 /**< Карта блокирована.<br>Изымите карту!*/
                                            /**< @hintlink{405} */
#define APPL_CARD_LOCKED_SERVICE        706 /**< Карта блокирована*/
                                            /**< @hintlink{405} */
#define APPL_CARD_LOCKED_CREDIT         708 /**< ПИН зачисления заблокирован*/
                                            /**< @hintlink{405} */
#define APPL_CARD_LOCKED_DEBIT          709 /**< ПИН списания заблокирован*/
                                            /**< @hintlink{405} */
/**************************************************/

/* Do not localize - range of 2000...4000 - are codes returned from server */
#define ERR_CANCEL                2000 /**< Операция отменена клиентом или кассиром                              */
                                       /**< @terminal Операция прервана клиентом*/
                                       /**< @hintlink{250}*/
//#define ERR_CARD_BLOCKED          2001
#define ERR_TIMEOUT               2002 /**< Превышено время ожидания                                             */
                                       /**< @hintlink{250}*/
#define ERR_PILOT_RESPONSE_TMO    2004 /**< Превышено время ожидания ответа от пинпада                           */
                                       /**< @hintlink{250}*/
#define ERR_HOT_CLIENT            2004
#define ERR_HOT_REGION            2005
#define ERR_HOT_STAFF             2006
#define ERR_HOT_BANK              2007
#define ERR_BAD_OPER_MASK         2008 /**< Для этой карты операция запрещена                                    */
//#define ERR_OLD_HOTLIST           2018
#define ERR_BAD_HOTLIST           2020
//#define ERR_CANT_WRITE_HOTLIST    2021 /**<  */
#define ERR_BLOCK_PIN1            2404 /**<  */
#define ERR_BLOCK_PIN2            2405 /**<  */
#define ERR_BLOCK_BOTH_PINS       2406 /**<  */
#define ERR_WRONG_LOY_PWD         2601 /**<  */
#define ERR_CLIENT_NOT_IN_LOY     2606 /**<  */
#define ERR_LOW_FUNDS             3001 /**<  */
#define ERR_BIG_TROUBLES          3002 /**<  */
#define ERR_OPERDAY_NOT_OPEN      3019 /**<  */
#define ERR_NO_ACCOUNT            3138 /**<  */
#define ERR_NO_FUNDS_TO_LOAD      3168 /**<  */
/* end of server's range */

/* 4000...MAX_WORD is our range */
#define ERR_IV_FAIL               4046
#define ERR_MK_LOAD_FAIL_0        4060
#define ERR_MK_LOAD_FAIL_1        4061 /**< Загрузка ключей не удалась или неверная разметка памяти.*/
                                       /**< @hintlink{4108}*/
#define ERR_MK_LOAD_FAIL_2        4062
#define ERR_MAC_FAIL              4063

//#define ERR_FINGER_NOT_FOUND      4070
#define ERR_BIO_NO_MATCH_PWD        4070/**< Цифровой пароль не совпадает*/
#define ERR_BIO_USE_DIFFERENT_PWD   4071/**< Используйте другой пароль*/
#define ERR_BIO_ENTER_PWD           4072 /**< Пароль должен быть не менее 5-и символов*/
//#define ERR_BIO_FAILED_SESSION    4072
#define ERR_BIO_NO_SCANNER        4073 /**< Биосканер не подключен*/
                                       /**< @hint Проверьте подключение кабелей. Перезагрузите терминал и кассу (при наличии). Если не помогло - обратитесь в службу поддержки: 8 (800) 35 00 123 */
#define ERR_BIO_CANCEL            4074 /**< Работа с биосканером прервана клиентом*/
                                       /**< @notlv */
#define ERR_BIO_NOT_SUPPORTED     4075 /**< Работа с биосканером не поддерживается*/
                                       /**< @notlv */
#define ERR_BIO_NO_FINGERS        4076 /**< Отпечатков не получено*/
                                       /**< @notlv */
#define ERR_BIOLINK_ERR           4077 /**< Нет связи с сервером Sonda*/

//#define ERR_BAD_SCAN              4078
//#define ERR_BAD_MATCHER           4079
#define ERR_WAIT_PINPAD_RELOAD    4080 /**< Дождитесь перезагрузки пинпада*/

#define ERR_NO_LINK               4100 /**< Нет связи с банком*/
                                       /**< @hint @if (visa || vx675)
                                                  Повторить операцию. Если за 2-3 попытки провести операцию не удается, обратитесь в службу технической поддержки VISA на объекте.
                                            @else @hintlink{12}*/
#define ERR_SBER_NO_HOTLIST       4101 /**< На терминале нет стоп-листа. Выполните инкассацию*/
                                       /**< @hint Выполнить инкассацию карты терминала и повторить операцию. */

#define ERR_SBER_NO_PERCENT       4102 /**< Нет данных для расчета комиссии*/
                                       /**< @terminal На терминале нет таблицы комиссий */
                                       /**< @hintlink{4101} */
#define ERR_EMV_BAD_AC2           4103
#define ERR_WRONG_REPLY           4104 /**< Неверный ответ на команду*/
                                       /**< @hintlink{248} */
#define ERR_PIN_ABSENT            4105
#define ERR_PIN_WRONG             4106/**< ПИН неверен*/
                                      /**< @hint Сообщите клиенту об ошибке и повторите операцию */
#define ERR_PIN_LOCKED            4107/**< ПИН блокирован*/
                                      /**< @hint Предложите клиенту воспользоваться другой картой и посоветуйте ему обратиться в банк выпустивший карту*/
#define ERR_BAD_CHECK_DIGIT       4108/**< Номер карты неверен*/
                                      /**< @hint Повторите операцию с корректным вводом номера карты. Если не помогло - обратитесь в службу поддержки: 8 (800) 35 00 123*/
#define ERR_MERCH_BATCH_FULL      4110/**< Карта терм.заполнена. Выполните инкассацию*/
                                      /**< @hintlink{4101} */
#define ERR_MERCH_BATCH_EXPIRED   4111/**< Стоп-лист устарел. Выполните инкассацию*/
                                      /**< @hintlink{4101} */
#define ERR_WRONG_HOTLIST         4112/**< Неверный стоп-лист. Выполните инкассацию*/
                                      /**< @hintlink{4101} */
#define ERR_FIXED_LIMIT_EXCEEDED  4113/**< Превышен лимит выдачи наличных*/
                                      /**< @hintlink{12} */
#define ERR_ONLINE_FAILED         4114
#define ERR_NO_MANUAL_ENTRY       4115/**< Для таких карт ручной ввод запрещен*/
                                      /**< @hint Повторите операцию, считав карту ридером. Если не помогло, предложите клиенту воспользоваться другой картой*/
#define ERR_WRONG_4DIGITS         4116/**< Четыре последних цифры на карте не совпадают с введенными*/
                                      /**< @terminal Цифры не совпадают!*/
                                      /**< @hint Повторите операцию с корректным вводом 4 последних цифр карты или считайте карту ридером*/
#define ERR_PIN_REFUSED           4117/**< Клиент отказался от ввода ПИНа*/
                                      /**< @terminal Клиент отказался<br>от ввода ПИНа*/
                                      /**< @hint Попросите клиента ввести ПИН-код или предложите клиенту воспользоваться другой картой*/
#define ERR_UNABLE_FIND_REC       4118/**< Операции не найдены*/
                                      /**< @hint Повторите операцию с помощью карты, по которой производилась операция. Если не помогло - обратитесь в службу поддержки: 8 (800) 35 00 123*/
#define ERR_V2R_NOLINK            4119/**< Нет связи с банком*/
                                      /**< @hint Перезагрузите терминал и кассу (при наличии) и выполните операцию СВЕРКА ИТОГОВ. Если не помогло - обратитесь в службу поддержки: 8 (800) 35 00 123 */
#define ERR_V2R_UNABLE_MAC        4120/**< Пинпад не подключен или не загружены ключи*/
                                      /**< @hint Проверьте кабели идущие к пинпаду, перезагрузите терминал и выполните операцию СВЕРКА ИТОГОВ. Если не помогло - обратитесь в службу поддержки: 8 (800) 35 00 123 */
#define ERR_V2R_INT_ERR           4121/**< Терминал неисправен!*/
                                      /**< @hintlink{12} */
#define ERR_V2R_KEY_ERROR         4122/**< Ошибка смены ключей!*/
                                      /**< @hintlink{12} */
#define ERR_NO_SKEYS              4123/**< Сначала выполните сверку итогов */
                                      /**< @hintlink{4119} */
#define ERR_NO_MKEYS              4124/**< Не загружены ключи */
                                      /**< @hintlink{4119} */
#define ERR_NEED_CHIP             4125/**< На карте есть чип.Вставьте карту чипом */
                                      /**< @terminal На карте есть чип<br>Вставьте карту чипом*/
                                      /**< @hint Повторите операцию, используя чиповый ридер*/
#define ERR_BAD_TRX_LIST          4126
#define ERR_NEED_SPLIT_TRX        4127
#define ERR_BAD_CONFIG_PARAMS     4128/**< Ошибка настройки терминала */
                                      /**< @hintlink{4119} */
#define ERR_NO_LOG_FILE           4129
#define ERR_DISK_FULL             4130/**< Память заполнена. Сделайте СВЕРКУ ИТОГОВ.*/
                                      /**< @terminal Память заполнена<br>Сделайте сверку<br>итогов*/
                                      /**< @hint Выполните 3-4 раза подряд операцию СВЕРКА ИТОГОВ. Если не помогло - обратитесь в службу поддержки: 8 (800) 35 00 123*/
#define ERR_NEED_PARAMS           4131/**< Пинпад был заменен. Выполните загрузку параметров */
                                      /**< @terminal Пинпад был заменен.<br>Выполните загрузку параметров*/
                                      /**< @hintlink{12} */
#define ERR_REFUSED_BY_CARD       4132/**< Операция отклонена картой*/
                                      /**< @if (visa || vx675) Transaction declined by card*/
                                      /**< @hintlink{250} */
#define ERR_INVALID_RC            4133/**< Неверный код ответа по протоколу VISA2*/
                                      /**< @hintlink{250} */
#define ERR_TIME_FOR_TOTALS       4134/**< Сначала выполните сверку итогов*/
                                      /**< @if (visa || vx675) <br>Totals required*/
                                      /**< @hintlink{4119} */
#define ERR_BAD_DEPT_CFG          4135/**< Неверно настроены отделы в терминале*/
                                      /**< @hintlink{12} */
#define ERR_NEED_NEW_PINPAD       4136/**< Требуется более свежая версия прошивки в пинпаде*/
                                      /**< @hintlink{12} */
#define ERR_WRONG_NEW_PWD         4137/**< ПИНы не совпадают.<br>Попробуйте еще раз.*/
                                      /**< @hint Повторите операцию*/
#define ERR_CARDS_ARE_SAME        4138/**< Карта отправителя и получателя не могут совпадать*/
                                      /**< @hint Повторите операцию. Если не помогло, предложите клиенту ввести другой номер карты получателя*/
#define ERR_NO_SUITABLE_CONN      4139/**< Нет адреса для связи*/
                                      /**< @hintlink{12} */
#define ERR_INVALID_TRX_DATA      4140/**< Не найдена транзакция для выполнения команд Suspend (6003) или Commit (6001). Возможно переданы неправильные параметры или ошибка при записи изменений на диск.*/
                                      /**< @notlv */
#define ERR_SH_FILE_NOT_FOUND     4141/**< Нет данных для отмены. Suspend (6003) или Rollback (6002)*/
                                      /**< @notlv */
#define ERR_ONLINE_CANC_FAILED    4142/**< Ошибка выполнения автоотмены.*/
                                      /**< @hint Дальнейшее проведение операций невозможно. Выполните сверку итогов. При несовпадении итогов передайте отчет в банк.*/
#define ERR_OLD_M_HOTLIST         4143/**< */
#define ERR_BAD_M_HOTLIST_3       4144/**< */
#define ERR_BAD_M_HOTLIST_2       4145/**< */
#define ERR_BAD_M_HOTLIST_1       4146/**< */
#define ERR_BAD_M_HOTLIST         4147/**< */
#define ERR_CARD_IN_HL            4148/**< Карта в стоп-листе*/
                                      /**< @hint Предложите клиенту воспользоваться другой картой*/
#define ERR_NAME_NOT_FOUND        4149/**< На карте нет имени держателя*/
                                      /**< @hint Операция невозможна. Посоветуйте клиенту обратиться в банк, выпустивший карту*/
#define ERR_FLOOR_LIMIT_EXCEEDED  4150/**< Превышен лимит операций*/
                                      /**< @hintlink{4148}*/
#define ERR_CARD_EXPIRED          4151/**< Срок действия карты истек*/
                                      /**< @hintlink{4148}*/
#define ERR_NO_MPAD_HISTORY       4152
#define ERR_BAD_MPAD_HISTORY_FMT  4153
#define ERR_CHIP_REQUIRED         4154
#define ERR_EMPTY_HISTORY         4155

#define ERR_UNABLE_TO_CANCEL      4156
#define ERR_OPER_LIMIT_EXCEEDED   4157/**< Превышена максимальная сумма операции*/
                                      /**< @hint Повторите операцию на меньшую сумму*/
#define ERR_PAYPASS_NO_PIN        4158/**< Карта не поддерживает операции без ПИН*/
                                      /**< @hint Операция должна проводиться с вводом ПИН, но пин не был введен. Используйте другую карту.*/
#define ERR_MULTI_CUR_NOT_SUPP    4159/**< Валюта операции не поддерживается бесконтактным ридером*/ 
                                      /**< @hintlink{12} */

#define ERR_APDU_ERR              4160
#define ERR_NO_CERT_EMUL_FILE     4161  
#define ERR_RSA_PRIVATE_FAIL1     4162
#define ERR_RSA_PRIVATE_FAIL2     4163
#define ERR_BSC_BAD_SKEY          4164
#define ERR_BIO_BAD_EA1           4165
#define ERR_BIO_BAD_EA2           4166
#define ERR_BIO_BAD_EA3           4167
#define ERR_BIO_BAD_TEMPLATE1     4168
#define ERR_BIO_BAD_TEMPLATE2     4169
#define ERR_BIO_NO_IAPPD          4171

#define ERR_BAD_OPER_TYPE         4172/**< Неизвестный код операции.*/
                                      /**< @notlv */
#define ERR_CLASS_NOT_SUPP        4173/**< Данный класс функций не поддерживается. Ошибка возвращается при вызове функций классов 1, 2 и 3*/
                                      /**< @notlv */
#define ERR_FILE_NOT_FOUND        4174/**< Файл не найден*/
                                      /**< @hintlink{12} */
#define ERR_FILE_TOO_BIG          4175/**< Слишком большой файл*/
                                      /**< @hintlink{12} */
#define ERR_VIVO_NO_VERINFO       4176/**< Неизвестная версия Vivopay*/
                                      /**< @hintlink{12} */
#define ERR_UNSUPP_WIFI_MODE      4177/**< Режим сети WiFi не поддерживается*/
                                      /**< @hint Поддерживаются сети WiFi WPA-PSK TKIP, WPA2-PSK TKIP или CCMP(AES). Выбранная сеть не отвечает этим требованиям*/

#define ERR_OPER_DISABLED         4179/**< Для таких карт операция не поддерживается*/
#define ERR_NOT_OWN_CARD          4180/**< Эта операция возможна только по картам Сбербанка*/
#define ERR_OLD_PP_VERSION        4181/**< Нужно обновить версию UPOS в пинпаде*/
                                      /**< @hintlink{12} */
#define ERR_CA_KEY_BAD            4182
#define ERR_SPASIBO_1             4183
#define ERR_SPASIBO_2             4184
#define ERR_WRONG_ADMIN_CARD      4185/**< Неверная карта администратора*/
                                      /**< @hintlink{250} */
#define ERR_KEY_ALREADY_PRESENT   4186/**< Ключ уже введен*/
                                      /**< @hintlink{12} */
#define ERR_WRONG_PAN             4187/**< Неверный номер карты*/
                                      /**< @hint Повторите операцию с корректным вводом номера карты*/
#define ERR_WRONG_VT              4188/**< Неверный <br>срок действия карты*/
                                      /**< @hint Повторите операцию с корректным вводом срока действия карты*/
#define ERR_WRONG_VALUE           4189/**< Недопустимое значение*/
                                      /**< @hint Повторите операцию с корректным вводом значения*/
#define ERR_WRONG_DEPARTMENT      4191

#define ERR_RDL_REBOOT_PINPAD     4198 /**< Требуется перезагрузка пинпада*/
#define ERR_RDL_START_OVER        4199 /**< Повторите удаленную загрузку с начала*/
#define ERR_RDL_START_AGAIN       4200 /**< Повторите удаленную загрузку последней категории*/
#define ERR_RDL_VERSION_OK        4201 /**< Удаленное обновление не требуется*/
#define ERR_RDL_BAD_OFFSET        4202 /**< Нарушение формата сообщений удаленной загрузки*/
#define ERR_RDL_UNKNOWN_DEV       4203 /**< Терминал не зарегистрирован на сервере удаленной загрузки*/
                                       /**< @terminal Терминал не зарегистрирован*/
                                       /**< @hintlink{12} */
#define ERR_RDL_ERROR             4204 /**< Внутренняя ошибка сервера удаленной загрузки*/
                                       /**< @terminal Внутренняя ошибка сервера*/
                                      /**< @hintlink{12} */
#define ERR_RDL_BAD_HOST          4205 /**< Ошибка связи с хостом удаленной загрузки*/
                                       /**< @terminal Ошибка связи с хостом*/
                                      /**< @hintlink{12} */
#define ERR_RDL_BAD_CLIENT        4206 /**< Нарушение протокола удаленной загрузки*/
                                       /**< @terminal Нарушение протокола*/
                                      /**< @hintlink{12} */
#define ERR_RDL_BAD_MESSAGE       4207 /**< Нарушение формата сообщений удаленной загрузки*/
                                       /**< @terminal Нарушение формата сообщений*/
                                      /**< @hintlink{12} */
#define ERR_RDL_BAD_DATABASE      4208 /**< Ошибка базы данных удаленной загрузки*/
                                       /**< @terminal Ошибка базы данных*/
                                      /**< @hintlink{12} */
#define ERR_RDL_BAD_DATA          4209 /**< Некорректные данные удаленной загрузки*/
                                       /**< @terminal Некорректные данные*/
                                      /**< @hintlink{12} */
#define ERR_RDL_BAD_CRYPT         4210 /**< Ошибка шифрования данных удаленной загрузки*/
                                       /**< @terminal Ошибка шифрования данных*/
                                      /**< @hintlink{12} */
#define ERR_RDL_KEY_MISSING       4211 /**< Ключ удаленной загрузки отсутствует*/
                                       /**< @hintlink{12} */
#define ERR_RDL_BAD_PROC          4212
#define ERR_RDL_BUSY              4213 /**< Сервер PSDB слишком нагружен. Повторите позже.*/
                                       /**< @hint Повторите пожалуйста операцию через 2-3 минуты. Если не помогло - обратитесь в службу поддержки: 8 (800) 35 00 123*/
#define ERR_RDL_CATEGORY_APPLY    4214 /**< @terminal Не удалось применить категорию*/
                                       /**< Не удалось применить категорию. Перезагрузки терминала не было.*/
                                       /**< @hintlink{12} */
#define ERR_RDL_CATEGORY_OBSOLETE 4215 /**< @terminal Категория удаленной загрузки не обновлена*/
                                       /**< После перезагрузки обнаружено, что категория не обновлена.*/
                                       /**< @hintlink{12} */
#define ERR_RDL_CATEGORY_VERIFY   4216 /**< @terminal Проверка файла не прошла*/
                                       /**< Подпись файла неверна.*/
                                       /**< @hintlink{12} */
#define ERR_RDL_NO_REGION         4220 /**< Не указан код региона для удаленной загрузки*/
                                       /**< @hintlink{12} */
#define ERR_RDL_KKM_LINK_FAIL     4221 /**< Не удалось восстановить связь с ККМ после удаленной загрузки*/
                                       /**< @hint Перезагрузите терминал и кассу (при наличии). Если не помогло - обратитесь в службу поддержки: 8 (800) 35 00 123*/
#define ERR_NEED_TRANS_CHEQUE     4222 /**< Память заполнена. Необходимо отправить чеки на сервер*/
                                       /**< @terminal Память заполнена.<br>Необходимо отправить<br>чеки на сервер*/
                                       /**< @hint Выполните операцию отправки чеков на сервер и повторите пожалуйста операцию*/
#define ERR_PIL_PAR_MISSING       4300 /**< От ККМ поступило недостаточно параметров*/
                                       /**< @hintlink{250} */
#define ERR_PIL_OT_INVALID        4301
#define ERR_PIL_CT_INVALID        4302
#define ERR_PIL_CT_NOT_SERVICED   4303 /**< @if visa Мы принимаем только Visa
                                            @else    Такая карта не обслуживается*/
                                       /**< @hintlink{12} */
#define ERR_PIL_WRONG_REPLY       4304

#define ERR_INCORRECT_VERSION	  4305
#define ERR_NOT_INITIALISED  	  4306
#define ERR_RESERVED              4307
#define ERR_GENERAL               4308
#define ERR_NO_DOCUMENT           4309

#define ERR_PIL_BAD_TRACK2        4310
#define ERR_PIL_NO_FILES          4311 /**< Операция не найдена*/
                                       /**< @hint Повторите операцию с корректным вводом данных. Если не помогло - обратитесь в службу поддержки: 8 (800) 35 00 123*/
#define ERR_PIL_NO_MORE_TASKS     4312 /**< Все задачи выполнены. Список задач пуст*/
#define ERR_PIL_CARD_NOT_SAME     4313 /**< Номер карты не соответствует исходному*/
                                       /**< @hint Повторите операцию с помощью карты, по которой производилась операция. Если не помогло (или нет возможности использовать карту), обратитесь в службу поддержки: 8 (800) 35 00 123*/
#define ERR_PIL_NEED_SBER         4314 /**< Это не карта СБЕРКАРТ */
                                       /**< @hintlink{12} */
#define ERR_PIL_CARD_NOT_SAME_2   4315 /**< Разрешены только отмены в текущей смене*/
                                       /**< @hint Выполните операцию ВОЗВРАТ*/
#define ERR_PIL_AUTOCANCEL        4316 /**< Транзакция помечена к отмене и будет отменена при следующей операции*/
#define ERR_PIL_NOT_CLOSED        4317
#define ERR_PIL_NOT_PROCESSED     4318
#define ERR_PIL_AMOUNT_TOO_BIG    4319 /**< Сумма не должна превышать 42 млн*/
                                       /**< @hint Повторите операцию на меньшую сумму*/
#define ERR_PIL_CARD_NOT_SAME_3   4320
#define ERR_PIL_REMOVE_OLD_CARD   4321
#define ERR_PIL_PRINT_ERROR       4322 /**< Печать чека операции завершилась ошибкой*/
                                       /**< @terminal Ошибка печати чека*/
                                       /**< @hint Повторите операцию (предыдущая будет отменена автоматически).Если не помогло - обратитесь в службу поддержки: 8 (800) 35 00 123*/

#define ERR_PIL_CARD_NOT_SAME_4   4323 /**< Номер карты не совпадает с исходным*/
                                       /**< @hintlink{12} */
#define ERR_PIL_ENROLL_FAILED     4324
#define ERR_PIL_NO_AMOUNT         4325 /**< Сумма операции не указана*/
                                       /**< @hintlink{12} */
#define ERR_PIL_BAD_TRACK1        4326 /**< Карта прочитана не полностью. Повторите считывание карты*/
                                       /**< @terminal Карта прочитана не полностью<br>Повторите считывание карты*/
                                       /**< @hint Повторите операцию. Если не помогло, посоветуйте клиенту обратиться в банк, выпустивший карту*/
#define ERR_NO_GOODS_FOR_DISPLAY  4327 /**< Нет товаров для отображения*/
                                       /**< @hint Произведите настройку СПИСКА ТОВАРОВ И ЦЕН. Если не помогло (или не удалось произвести настройку), обратитесь в службу поддержки: 8 (800) 35 00 123*/
#define ERR_NO_GOODS_IN_ARGS      4328 /**< Информация о товаре отсутствует или неполна*/
                                       /**< @terminal Информация о товаре отсутствует или неполна*/
                                       /**< @hintlink{4327} */
#define ERR_PIL_TOO_MANY_GOODS    4329 /**< Справочник товаров переполнен. Выполните сверку*/
                                       /**< @terminal Справочник товаров переполнен<br>Выполните сверку*/
                                       /**< @hintlink{4327} */
#define ERR_NO_GOODS_FOUND        4330 /**< Товар не найден*/
                                       /**< @hintlink{4327} */

#define ERR_GENERAL1              4331
#define ERR_PIL_INVALID_ARG       4332
#define ERR_GENERAL3              4333 /**< Не удалось распечатать КОНТРОЛЬНУЮ ЛЕНТУ*/
                                       /**< @hintlink{250} */
#define ERR_READ_CARD             4334 /**< Карта не считана. Либо цикл ожидания карты прерван нажатием клавиши ESC, либо истек таймаут*/
                                       /**< @hintlink{250} */
#define ERR_GENERAL5              4335
#define ERR_INVALID_CURRENCY      4336 /**< Валюта указана неверно*/
                                       /**< @hintlink{12} */
#define ERR_GENERAL7              4337 /**< Из кассовой программы передан неверный тип карты*/
                                       /**< @hintlink{12} */
#define ERR_BROKEN_RESPONSE       4338 /**< Ошибка связи с терминалом. От терминала получен неполный ответ на команду кассы*/
                                       /**< @hintlink{12} */
#define ERR_GENERAL9              4339
#define ERR_GENERAL_10            4340
#define ERR_NEW_FEATURE           4341 /**< Неизвестный код операции*/
                                       /**< @hintlink{12} */
                                       /**< @notlv */
#define ERR_GENERAL_12            4342 /**< Невозможно запустить диалоговое окно UPOS*/
                                       /**< @hintlink{12} */
#define ERR_GENERAL_13            4343
#define ERR_SCRID_NOT_FOUND       4344 /**< Экранная форма не найдена */
                                       /**< @hintlink{12} */
#define ERR_NEED_ONLINE_PIN       4345 /**< Карта не поддерживает ввод online ПИН*/
                                       /**< @hint Требуется обязательный ввод ПИН. Возможно карта не поддерживает ввод online ПИН*/
#define ERR_NEED_OFFLINE_PIN      4346 /**< Карта не поддерживает offline ПИН*/
                                       /**< @hint Требуется обязательный ввод ПИН. Возможно, ПИН блокирован или карта не поддерживает ввод offline ПИН*/
#define ERR_ADMIN_CARD            4350
#define ERR_NO_TLV_FILES          4351 /**< Настроечные файлы *.tlv не найдены*/
                                       /**< @hintlink{12} */
#define ERR_CARD_READY            4352 /**< Карта вставлена. Ответ на команды ::OP_PILOT_STATUS и ::KO_TEST_CARD_READ */

#define ERR_THIS_IS_SBER          4353 /**< Промежуточный код ответа для использования баллов спасибо и программ лояльности */

#define ERR_SONDA_CHECK_FINGER    4354
#define ERR_SONDA_FINGER_DUP      4355 /**< Этот палец уже зарегистрирован в базе*/
                                       /**< @hint Предложить клиенту использовать другой палец*/
#define ERR_SONDA_USER_DUP        4356
#define ERR_SONDA_INSUFF_Q        4357
#define ERR_SONDA_FAILED          4358 /**< Палец не опознан*/
                                       /**< @hint Повторите операцию или предложите клиенту воспользоваться зарегистрированным пальцем. Проведите операцию по карте*/
#define ERR_SONDA_UNKNOWN_ERR     4359
#define ERR_SONDA_ENROLL_FAILED   4360
#define ERR_SONDA_NOT_FOUND       4361

#define ERR_PP_NOT_WORKING        4362 /**< Пинпад временно заблокирован. Повторите операцию через 15 сек*/
                                       /**< @hint Повторите операцию через 2-3 минуты. Если не помогло - обратитесь в службу поддержки: 8 (800) 35 00 123*/
#define ERR_AMOUNT_GT_ORIGINAL    4363 /**< Превышена сумма оригинальной операции*/
                                       /**< @hintlink{250} */
#define ERR_SONDAT_WRONG_PIN      4364

#define ERR_SIGN_CAPTURE_NOT_SUPPORTED  4365 /**< Захват подписи не поддерживается*/
                                             /**< @hintlink{12} */
#define ERR_TOO_LOW_DISCOUNT_VALUE      4366 /**< Рассчитанная скидка меньше минимально допустимой*/
                                             /**< @hint Если сумма скидки введена вручную, увеличите сумму скидки и повторите операцию. Если не помогло - обратитесь в службу поддержки: 8 (800) 35 00 123*/
#define ERR_RKL_INVALID_REQ_FMT   4367  /**< RKL: неверный формат запроса*/
                                        /**< @hintlink{12} */
#define ERR_RKL_NO_CA_KEY         4368  /**< RKL: не создана ключевая пара СА*/
                                        /**< @hintlink{12} */
#define ERR_RKL_NO_HOST_CERT      4369  /**< RKL: не загружен сертификат хоста*/
                                        /**< @hintlink{12} */
#define ERR_RKL_NO_CA_PK          4370  /**< RKL: не загружен публичный ключ СА*/
                                        /**< @hintlink{12} */
#define ERR_RKL_KEYGEN_FAIL       4371  /**< Текущая версия ОС не поддерживает RKL*/
                                        /**< @hintlink{12} */
#define ERR_RKL_B2B_FAIL          4372  /**< RKL: хост CA дает некорректный ответ. Необходимо перезагрузить терминал*/
                                        /**< @hint Необходимо перезагрузить терминал */
#define ERR_RKL_LENGTH_SERT       4373

#define ERR_CASHINFO_NO_NUM_TRX   4375 /**< Некорректная (нулевая) сумма операции*/
#define ERR_CASHINFO_NO_AMOUNT    4376 /**< Отсутсвует PAN карты в данных операции*/
#define ERR_CASHINFO_NO_SHIFT_ID  4377 /**< Отсутсвует RRN в данных операции*/
#define ERR_CASHINFO_BAD_AMOUNT   4378 /**< Ошибка при проверке данных операции*/
//#define ERR_USE_ME_PLEASE       4379
#define ERR_DAY_SHOULD_BE_CLOSED  4380 /**< Штатная сверка итогов не выполнена*/
                                       /**< @hintlink{250} */
#define ERR_QR_BAD_FORMAT         4381 /**< Неверный формат QR-кода*/
                                       /**< @hint QR-код поврежден, либо финансовая операция по нему не предусмотрена */
#define ERR_VOLUME_TOO_BIG        4382 /**< Количество товара не должно превышать 4 млн. 200 тыс. единиц*/
                                       /**< @hint Повторите пожалуйста операцию на меньшее количество позиций*/
#define ERR_CANT_OPEN_SCANER      4383 /**< Не удалось открыть сканирующее устройство*/
                                       /**< @hintlink{253} */
#define ERR_MORE_DATA             4384 /**< Не все данные считаны/получены */
                                       /**< @terminal Считаны не все данные */
                                       /**< @hintlink{4137} */
#define ERR_WRONG_USER            4385 /**< Неверный номер пользователя*/
                                       /**< @hint Введите корректное значение и повторите операцию*/
#define ERR_PUBLIC_KEY_HASH       4386
#define ERR_PUBLIC_KEY_EXPIRED    4387
#define ERR_SEND_CHEQUES_TO_SERVER 4388 /**< Место закончилось. Передайте чеки в банк*/
                                        /**< @hint Выполните операцию отправки чеков в банк и повторите операцию*/
#define ERR_CHEQUE_ALREADY_PRESENT 4389 /**< Торговый чек передан в терминал */
                                        /**< @terminal Чек уже успешно передан */
                                        /**< @hint Действия не требуются*/
#define ERR_V2R_INT_PIN_CONF       4390 /**< Ошибка подтверждения установки или смены ПИН */
                                        /**< @hint Терминал не может сохранить в файл данные для подтверждения результата операции. Устраните проблему с файловой системой и повторите операцию, используя старый ПИН*/
#define ERR_V2R_INT_TOPUP_CONF     4391 /**< Ошибка записи файла подтверждения записи файла предавторзованного лимита */
                                        /**< @terminal Ошибка подтверждения установки offline лимита*/
                                        /**< @hint Терминал не может сохранить в файл данные для подтверждения результата операции. Обратитесь в службу поддержки*/
#define ERR_V2R_INT_CASHIN_CONF    4392 /**< Ошибка записи в батч транзакции подтверждения взноса наличных */
                                        /**< @terminal Ошибка записи данных в журнал */
                                        /**< @hint Операция подтверждения взноса наличных не может быть завершена. Транзакция успешно отправлена на хост, но при записи в журнал терминала возникла ошибка. Требуется направить письменное заявление на отмену операции взноса наличных в процессинге. Внимание! До момента обработки заявления при повторном проведении взноса наличных может возникнуть риск двойного зачисления суммы клиенту*/
#define ERROR_XML_PARSING          4393 /**< Выходные данные XML-формата неверны */
#define ERR_CASHOUT_INVALID_AMOUNT 4394 /**< Сумма выдачи наличных не кратна номиналу меньшей купюры */
                                        /**< @hint Сумма выдачи наличных должна быть кратна значению параметра 'Номинал меньшей купюры'*/

#define ERR_V2R_AUTH_DECLINED     4400  /**< Возможно, карта преждевременно вынута*/
                                        /**< @hintlink{12} */
#define ERR_V2R_AUTH_CALL_ISS     4401  /**< Позвоните в банк по т.(800)775-55-55 (495)544-45-46 (495)788-92-74*/
                                        /**< @terminal Позвоните в банк<br>по т.(800)775-55-55<br>(495)544-45-46<br>(495)788-92-74*/
                                        /**< @hint Позвонить в службу авторизации Сбербанка и следовать указаниям оператора.*/
#define ERR_V2R_NEED_CALL_BANK    4402  /**< Позвоните в банк*/
                                        /**< @hintlink{4401} */
#define ERR_V2R_TERMINAL_BLOCKED  4403  /**< Терминал заблокирован.<br>Обратитесь в банк*/
                                        /**< @hintlink{12} */
#define ERR_V2R_CATCH_CARD04      4404  /**< Изымите карту*/
                                        /**< @hintlink{4401} */
#define ERR_V2R_DECLINED05        4405  /**< Отказано*/
                                        /**< @hintlink{12} */
#define ERR_V2R_COMMON_ERROR      4406  /**< Общая ошибка*/
                                        /**< @hintlink{12} */
#define ERR_V2R_CATCH_CARD07      4407  /**< Изымите карту 
                                             @hint Изъять карту и отказать клиенту в проведении операции */
#define ERR_V2R_DECLINED08        4408  /**< Отказано*/
                                        /**< @hintlink{405} */
#define ERR_V2R_NEED_CALL_AMEX    4410  /**< Отказано*/
                                        /**< @hintlink{405} */
#define ERR_V2R_DECLINED11        4411  /**< Отказано*/
                                        /**< @hintlink{405} */
#define ERR_V2R_INVALID_TRX       4412  /**< Транзакция неверна */
                                        /**< @hintlink{12} */
#define ERR_V2R_INVALID_AMOUNT    4413  /**< Сумма неверна */
                                        /**< @hintlink{12} */
#define ERR_V2R_INVALID_CARD      4414  /**< Карта неверна*/
                                        /**< @hintlink{405} */
#define ERR_V2R_TRY_LATER1        4419  /**< Повторите позже*/
                                        /**< @hint Операция в данный момент невозможна. Повторить операцию через 10-15 минут.*/
#define ERR_V2R_CATCH_CARD33      4433  /**< Изымите карту*/
                                        /**< @hintlink{4407} */
#define ERR_V2R_CATCH_CARD38      4438  /**< Изымите карту*/
                                        /**< @hintlink{4407} */
#define ERR_V2R_CATCH_CARD41      4441  /**< Изымите карту*/
                                        /**< @hintlink{4407} */
#define ERR_V2R_CATCH_CARD43      4443  /**< Изымите карту*/
                                        /**< @hintlink{4407} */
#define ERR_V2R_DECLINED50        4450  /**< Отказано*/
#define ERR_V2R_NO_MONEY          4451  /**< Недостаточно средств*/
                                        /**< @hint Отказать клиенту в проведении операции*/
#define ERR_V2R_CARD_EXPIRED      4454  /**< Срок действия карты истек*/
                                        /**< @hintlink{4451} */
#define ERR_V2R_WRONG_PIN         4455  /**< ПИН неверен*/
                                        /**< @hint Объяснить клиенту его ошибку и повторить операцию*/
#define ERR_V2R_DECLINED_BY_CARD  4457  /**< Транзакция не разрешена клиенту*/
                                        /**< @hintlink{405} */
#define ERR_V2R_DECLINED_BY_TERM  4458  /**< Транзакция не разрешена терминалу*/
                                        /**< @hintlink{12} */
#define ERR_V2R_LIMIT_REACHED1    4461  /**< Исчерпан лимит*/
#define ERR_V2R_CARD_LIMITED      4462  /**< Карта ограничена*/
#define ERR_V2R_LIMIT_REACHED2    4465  /**< Исчерпан лимит*/
#define ERR_V2R_TRY_LATER2        4468 /**< Повторите позже*/
                                        /**< @hintlink{4419} */
#define ERR_V2R_BLOKED_PIN        4475  /**< ПИН заблокирован*/
                                        /**< @hintlink{405} */
#define ERR_V2R_NOT_FOUND         4476  /**< Нет исходной операции*/
#define ERR_V2R_BANK_AC_INCORRECT 4478  /**< Счет неверен*/
#define ERR_V2R_TRY_LATER3        4481  /**< Повторите позже*/
#define ERR_V2R_DECLINED82        4482  /**< Отказано*/
#define ERR_V2R_PIN_ERROR1        4483  /**< Ошибка обработки ПИНа*/
                                        /**< @hintlink{12} */
#define ERR_V2R_PIN_ERROR2        4486  /**< Ошибка обработки ПИНа*/
                                        /**< @hintlink{12} */
#define ERR_V2R_PIN_ERROR3        4488  /**< Ошибка обработки ПИНа*/
                                        /**< @hintlink{12} */
#define ERR_V2R_WRONG_MAC1        4489  /**< МАС-код неверен*/
#define ERR_V2R_WRONG_CONTROL_INF 4490  /**< Неверная контрольная информация*/
#define ERR_V2R_BANK_UNAVAILABLE  4491  /**< Сторонний банк-эмитент недоступен*/
                                        /**< @terminal Эмитент недоступен*/
#define ERR_V2R_TRX_DEPRECATED    4493  /**< Транзакция запрещена*/
#define ERR_V2R_TRX_REPEATED      4494  /**< Повторная запрещена*/
#define ERR_V2R_DECLINED95        4495  /**< Отказано*/
#define ERR_V2R_SYSTEM_ERROR      4496  /**< Ошибка системы*/
                                        /**< @hintlink{12} */
#define ERR_V2R_WAY4_UNAVAILABLE  4497  /**< Повторите операцию позже*/
                                        /**< @hintlink{4419} */
#define ERR_V2R_WRONG_MAC98       4498  /**< МАС-код неверен*/
                                        /**< @hintlink{12} */
#define ERR_V2R_WRONG_MAC99       4499  /**< Ошибка формата*/
                                        /**< @hintlink{12} */
//#define SPS_CANCEL   ERR_PP_ABORTED
//vivopay reserved one byte for error status, error range is 4700 - 4955
#define ERR_MEDIA_NOT_SUPPORTED   4501  /**< Носитель не поддерживается*/
#define ERR_NOT_LLT_CARD          4502  /**< На карте нет нужной программы лояльности*/

#define ERR_VV_ERROR              4700
#define ERR_CARD_NOT_SERVICED     4710  /**< Ошибка работы Vivo*/
                                        /**< @hintlink{12} */
#define ERR_VV_LAST_ERROR         (ERR_VV_ERROR+0xFF)

#define ERR_FORMING_PATH_STRING   4956  /**< Ошибка нахождения файла по заданному пути*/
#define ERR_FILE_LOADING_ERROR    4957  /**< Ошибка загрузки ПО в пинпад*/
                                        /**< @hint Необходимо убедиться в том, что соединение пинпада и терминала надёжно. После перезагрузки будет проведена повтореная попытка распаковки.*/



//VENDING reserved for error status, error range is 7400 – 7999
//#define ERR_VENDING_BEGIN     7400 /**< */

#define ERR_OPER_BLOCKED          7400  /**< Операция заблокирована для пользователя*/
                                        /**< @hint Смените пользователя для проведения операции */
                                        /**< @notlv */
#define ERR_WRONG_LOGIN_PASSWORD  7401  /**< Неверные логин или пароль*/
                                        /**< @hint Повторите попытку */
                                        /**< @notlv */
#define ERR_HOTLIST_OLD           7402  /**< Черный список устарел */
                                        /**< @hint Проверьте наличие сим-карты на терминале, удостоверьтесь в хорошем уровне связи. Перезагрузите терминал. Подождите немного и повторите попытку */
                                        /**< @notlv */
#define ERR_SHIFT_NEED_OPEN       7403  /**< Операция возможна только при открытой смене*/
                                        /**< @hint Откройте смену для проведения операции */
                                        /**< @notlv */
#define ERR_SHIFT_CARD_LIMIT      7404  /**< Превышено количество операций по данной карте*/
                                        /**< @hint Используйте другую карту. В текущей смене дальнейшее проведение операций по данной карте невозможно */
                                        /**< @notlv */

//#define ERR_VENDING_END       7999 /**< */

#define ERR_MENU_OK               8000 /**< На пинпаде нажата клавиша 'OK'. Дальнейшие действия определяются экранной формой, которая была показа клиенту. @see MENU_R_OK*/
#define ERR_MENU_SELECTION        8300 /**< На пинпаде нажата клавиша 'меню'. Дальнейшие действия определяются экранной формой, которая была показа клиенту. @see MENU_R_SELECTION*/
#define ERR_MENU_NEXT             8301 /**< На пинпаде нажата клавиша 'далее/next'.*/
#define ERR_MENU_PREVIOUS         8302 /**< На пинпаде нажата клавиша 'назад/previous'.*/


/**@} */

#define IsError(error_code) ((error_code != ERR_OK) && (error_code != ERR_THIS_IS_SBER) && (error_code != ERR_CARD_READY))
#define IsTimeoutError(error_code) ((error_code == MENU_R_TIMEOUT) || (error_code == MENU_R_CONTINUE))

#endif /**< // _INCLUDE_ERRORS_ */ 

