from libfptr10 import IFptr

DTO_ERROR_DESCRIPTIONS = {
    IFptr.LIBFPTR_OK: "Ошибок нет",
    IFptr.LIBFPTR_ERROR_CONNECTION_DISABLED: "Соединение не установлено",
    IFptr.LIBFPTR_ERROR_NO_CONNECTION: "Нет связи",
    IFptr.LIBFPTR_ERROR_PORT_BUSY: "Порт занят",
    IFptr.LIBFPTR_ERROR_PORT_NOT_AVAILABLE: "Порт недоступен",
    IFptr.LIBFPTR_ERROR_INCORRECT_DATA: "Некорректные данные от устройства",
    IFptr.LIBFPTR_ERROR_INTERNAL: "Внутренняя ошибка библиотеки",
    IFptr.LIBFPTR_ERROR_UNSUPPORTED_CAST: "Неподдерживаемое преобразование типа параметра",
    IFptr.LIBFPTR_ERROR_NO_REQUIRED_PARAM: "Не найден обязательный параметр",
    IFptr.LIBFPTR_ERROR_INVALID_SETTINGS: "Некорректные настройки",
    IFptr.LIBFPTR_ERROR_NOT_CONFIGURED: "Драйвер не настроен",
    IFptr.LIBFPTR_ERROR_NOT_SUPPORTED: "Не поддерживается в данной версии",  # (драйвера или ККТ)
    IFptr.LIBFPTR_ERROR_INVALID_MODE: "Не поддерживается в данном режиме",
    IFptr.LIBFPTR_ERROR_INVALID_PARAM: "Нeкорректное значение параметра",
    IFptr.LIBFPTR_ERROR_NOT_LOADED: "Не удалось загрузить библиотеку",
    IFptr.LIBFPTR_ERROR_UNKNOWN: "Неизвестная ошибка",
    IFptr.LIBFPTR_ERROR_INVALID_SUM: "Неверная цена (сумма)",
    IFptr.LIBFPTR_ERROR_INVALID_QUANTITY: "Неверное количество",
    IFptr.LIBFPTR_ERROR_CASH_COUNTER_OVERFLOW: "Переполнение счетчика наличности",
    IFptr.LIBFPTR_ERROR_LAST_OPERATION_STORNO_DENIED: "Невозможно сторно последней операции",
    IFptr.LIBFPTR_ERROR_STORNO_BY_CODE_DENIED: "Сторно по коду невозможно",
    IFptr.LIBFPTR_ERROR_LAST_OPERATION_NOT_REPEATABLE: "Невозможен повтор последней операции",
    IFptr.LIBFPTR_ERROR_DISCOUNT_NOT_REPEATABLE: "Повторная скидка на операцию невозможна",
    IFptr.LIBFPTR_ERROR_DISCOUNT_DENIED: "Невозможно начислить скидку/надбавку",
    IFptr.LIBFPTR_ERROR_INVALID_COMMODITY_CODE: "Неверный код товара",
    IFptr.LIBFPTR_ERROR_INVALID_COMMODITY_BARCODE: "Неверный штрихкод товара",
    IFptr.LIBFPTR_ERROR_INVALID_COMMAND_FORMAT: "Неверный формат команды",
    IFptr.LIBFPTR_ERROR_INVALID_COMMAND_LENGTH: "Неверная длина",
    IFptr.LIBFPTR_ERROR_BLOCKED_IN_DATE_INPUT_MODE: "ККТ заблокирована в режиме ввода даты",
    IFptr.LIBFPTR_ERROR_NEED_DATE_ACCEPT: "Требуется подтверждение ввода даты",
    IFptr.LIBFPTR_ERROR_NO_MORE_DATA: "Нет больше данных",
    IFptr.LIBFPTR_ERROR_NO_ACCEPT_OR_CANCEL: "Нет подтверждения или отмены продажи",
    IFptr.LIBFPTR_ERROR_BLOCKED_BY_REPORT_INTERRUPTION: "Отчет о закрытии смены прерван",
    IFptr.LIBFPTR_ERROR_DISABLE_CASH_CONTROL_DENIED: "Отключение контроля наличности невозможно "
    "(не настроены необходимые типы оплаты)",
    IFptr.LIBFPTR_ERROR_MODE_BLOCKED: "Вход в режим заблокирован",
    IFptr.LIBFPTR_ERROR_CHECK_DATE_TIME: "Проверьте дату и время",
    IFptr.LIBFPTR_ERROR_DATE_TIME_LESS_THAN_FS: "Переданные дата/время меньше "
    "даты/времени последнего фискального документа",
    IFptr.LIBFPTR_ERROR_CLOSE_ARCHIVE_DENIED: "Невозможно закрыть архив",
    IFptr.LIBFPTR_ERROR_COMMODITY_NOT_FOUND: "Товар не найден",
    IFptr.LIBFPTR_ERROR_WEIGHT_BARCODE_WITH_INVALID_QUANTITY: "Весовой штрихкод с количеством <> 1.000",
    IFptr.LIBFPTR_ERROR_RECEIPT_BUFFER_OVERFLOW: "Переполнение буфера чека",
    IFptr.LIBFPTR_ERROR_QUANTITY_TOO_FEW: "Недостаточное количество товара",
    IFptr.LIBFPTR_ERROR_STORNO_TOO_MUCH: "Сторнируемое количество больше проданного",
    IFptr.LIBFPTR_ERROR_BLOCKED_COMMODITY_NOT_FOUND: "Товар не найден",
    IFptr.LIBFPTR_ERROR_NO_PAPER: "Нет бумаги",
    IFptr.LIBFPTR_ERROR_COVER_OPENED: "Открыта крышка",
    IFptr.LIBFPTR_ERROR_PRINTER_FAULT: "Нет связи с принтером чеков",
    IFptr.LIBFPTR_ERROR_MECHANICAL_FAULT: "Механическая ошибка печатающего устройства",
    IFptr.LIBFPTR_ERROR_INVALID_RECEIPT_TYPE: "Неверный тип чека",
    IFptr.LIBFPTR_ERROR_INVALID_UNIT_TYPE: "Недопустимое целевое устройство",
    IFptr.LIBFPTR_ERROR_NO_MEMORY: "Нет места в массиве картинок/штрихкодов",
    IFptr.LIBFPTR_ERROR_PICTURE_NOT_FOUND: "Неверный номер картинки/штрихкода (картинка/штрихкод отсутствует)",
    IFptr.LIBFPTR_ERROR_NONCACH_PAYMENTS_TOO_MUCH: "Сумма не наличных платежей превышает сумму чека",
    IFptr.LIBFPTR_ERROR_RETURN_DENIED: "Накопление меньше суммы возврата или аннулирования",
    IFptr.LIBFPTR_ERROR_PAYMENTS_OVERFLOW: "Переполнение суммы платежей",
    IFptr.LIBFPTR_ERROR_BUSY: "Предыдущая операция незавершена",
    IFptr.LIBFPTR_ERROR_GSM: "Ошибка GSM-модуля",
    IFptr.LIBFPTR_ERROR_INVALID_DISCOUNT: "Неверная величина скидки / надбавки",
    IFptr.LIBFPTR_ERROR_OPERATION_AFTER_DISCOUNT_DENIED: "Операция после скидки / надбавки невозможна",
    IFptr.LIBFPTR_ERROR_INVALID_DEPARTMENT: "Неверная секция",
    IFptr.LIBFPTR_ERROR_INVALID_PAYMENT_TYPE: "Неверный вид оплаты",
    IFptr.LIBFPTR_ERROR_MULTIPLICATION_OVERFLOW: "Переполнение при умножении",
    IFptr.LIBFPTR_ERROR_DENIED_BY_SETTINGS: "Операция запрещена в таблице настроек",
    IFptr.LIBFPTR_ERROR_TOTAL_OVERFLOW: "Переполнение итога чека",
    IFptr.LIBFPTR_ERROR_DENIED_IN_ANNULATION_RECEIPT: "Открыт чек аннулирования – операция невозможна",
    IFptr.LIBFPTR_ERROR_JOURNAL_OVERFLOW: "Переполнение буфера ЭЖ",
    IFptr.LIBFPTR_ERROR_NOT_FULLY_PAID: "Чек оплачен не полностью",
    IFptr.LIBFPTR_ERROR_DENIED_IN_RETURN_RECEIPT: "Открыт чек возврата – операция невозможна",
    IFptr.LIBFPTR_ERROR_SHIFT_EXPIRED: "Смена превысила 24 часа",
    IFptr.LIBFPTR_ERROR_DENIED_IN_SELL_RECEIPT: "Открыт чек продажи – операция невозможна",
    IFptr.LIBFPTR_ERROR_FISCAL_MEMORY_OVERFLOW: "Переполнение ФП",
    IFptr.LIBFPTR_ERROR_INVALID_PASSWORD: "Неверный пароль",
    IFptr.LIBFPTR_ERROR_JOURNAL_BUSY: "Идет обработка ЭЖ",
    IFptr.LIBFPTR_ERROR_DENIED_IN_CLOSED_SHIFT: "Смена закрыта - операция невозможна",
    IFptr.LIBFPTR_ERROR_INVALID_TABLE_NUMBER: "Неверный номер таблицы",
    IFptr.LIBFPTR_ERROR_INVALID_ROW_NUMBER: "Неверный номер ряда",
    IFptr.LIBFPTR_ERROR_INVALID_FIELD_NUMBER: "Неверный номер поля",
    IFptr.LIBFPTR_ERROR_INVALID_DATE_TIME: "Неверная дата и/или время",
    IFptr.LIBFPTR_ERROR_INVALID_STORNO_SUM: "Неверная сумма сторно",
    IFptr.LIBFPTR_ERROR_CHANGE_CALCULATION: "Подсчет суммы сдачи невозможен",
    IFptr.LIBFPTR_ERROR_NO_CASH: "В ККТ нет денег для выплаты",
    IFptr.LIBFPTR_ERROR_DENIED_IN_CLOSED_RECEIPT: "Чек закрыт – операция невозможна",
    IFptr.LIBFPTR_ERROR_DENIED_IN_OPENED_RECEIPT: "Чек открыт – операция невозможна",
    IFptr.LIBFPTR_ERROR_DENIED_IN_OPENED_SHIFT: "Смена открыта, операция невозможна",
    IFptr.LIBFPTR_ERROR_SERIAL_NUMBER_ALREADY_ENTERED: "Серийный номер / MAC-адрес уже задан",
    IFptr.LIBFPTR_ERROR_TOO_MUCH_REREGISTRATIONS: "Исчерпан лимит перерегистраций",
    IFptr.LIBFPTR_ERROR_INVALID_SHIFT_NUMBER: "Неверный номер смены",
    IFptr.LIBFPTR_ERROR_INVALID_SERIAL_NUMBER: "Недопустимый серийный номер ККТ",
    IFptr.LIBFPTR_ERROR_INVALID_RNM_VATIN: "Недопустимый РНМ и/или ИНН",
    IFptr.LIBFPTR_ERROR_FISCAL_PRINTER_NOT_ACTIVATED: "ККТ не зарегистрирована",
    IFptr.LIBFPTR_ERROR_SERIAL_NUMBER_NOT_ENTERED: "Не задан серийный номер",
    IFptr.LIBFPTR_ERROR_NO_MORE_REPORTS: "Нет отчетов",
    IFptr.LIBFPTR_ERROR_MODE_NOT_ACTIVATED: "Режим не активизирован",
    IFptr.LIBFPTR_ERROR_RECORD_NOT_FOUND_IN_JOURNAL: "Данные документа отсутствуют",
    IFptr.LIBFPTR_ERROR_INVALID_LICENSE: "Некорректный код защиты / лицензия или номер",
    IFptr.LIBFPTR_ERROR_NEED_FULL_RESET: "Требуется выполнение общего гашения",
    IFptr.LIBFPTR_ERROR_DENIED_BY_LICENSE: "Команда не разрешена введенными кодами защиты / лицензиями ККТ",
    IFptr.LIBFPTR_ERROR_DISCOUNT_CANCELLATION_DENIED: "Невозможна отмена скидки/надбавки",
    IFptr.LIBFPTR_ERROR_CLOSE_RECEIPT_DENIED: "Невозможно закрыть чек данным типом оплаты",
    IFptr.LIBFPTR_ERROR_INVALID_ROUTE_NUMBER: "Неверный номер маршрута",
    IFptr.LIBFPTR_ERROR_INVALID_START_ZONE_NUMBER: "Неверный номер начальной зоны",
    IFptr.LIBFPTR_ERROR_INVALID_END_ZONE_NUMBER: "Неверный номер конечной зоны",
    IFptr.LIBFPTR_ERROR_INVALID_RATE_TYPE: "Неверный тип тарифа",
    IFptr.LIBFPTR_ERROR_INVALID_RATE: "Неверный тариф",
    IFptr.LIBFPTR_ERROR_FISCAL_MODULE_EXCHANGE: "Ошибка обмена с фискальным модулем",
    IFptr.LIBFPTR_ERROR_NEED_TECHNICAL_SUPPORT: "Необходимо провести профилактические работы",
    IFptr.LIBFPTR_ERROR_SHIFT_NUMBERS_DID_NOT_MATCH: "Неверные номера смен в ККТ и ФН",
    IFptr.LIBFPTR_ERROR_DEVICE_NOT_FOUND: "Нет устройства, обрабатывающего данную команду",
    IFptr.LIBFPTR_ERROR_EXTERNAL_DEVICE_CONNECTION: "Нет связи с внешним устройством",
    IFptr.LIBFPTR_ERROR_DISPENSER_INVALID_STATE: "Ошибочное состояние ТРК",
    IFptr.LIBFPTR_ERROR_INVALID_POSITIONS_COUNT: "Недопустимое кол-во позиций в чеке",
    IFptr.LIBFPTR_ERROR_DISPENSER_INVALID_NUMBER: "Ошибочный номер ТРК",
    IFptr.LIBFPTR_ERROR_INVALID_DIVIDER: "Неверный делитель",
    IFptr.LIBFPTR_ERROR_FN_ACTIVATION_DENIED: "Активация данного ФН в составе данной ККТ невозможна",
    IFptr.LIBFPTR_ERROR_PRINTER_OVERHEAT: "Перегрев головки принтера",
    IFptr.LIBFPTR_ERROR_FN_EXCHANGE: "Ошибка обмена с ФН на уровне интерфейса I2C",
    IFptr.LIBFPTR_ERROR_FN_INVALID_FORMAT: "Ошибка формата передачи ФН",
    IFptr.LIBFPTR_ERROR_FN_INVALID_STATE: "Неверное состояние ФН",
    IFptr.LIBFPTR_ERROR_FN_FAULT: "Неисправимая ошибка ФН",
    IFptr.LIBFPTR_ERROR_FN_CRYPTO_FAULT: "Ошибка КС ФН",
    IFptr.LIBFPTR_ERROR_FN_EXPIRED: "Закончен срок эксплуатации ФН",
    IFptr.LIBFPTR_ERROR_FN_OVERFLOW: "Архив ФН переполнен",
    IFptr.LIBFPTR_ERROR_FN_INVALID_DATE_TIME: "В ФН переданы неверная дата или время",
    IFptr.LIBFPTR_ERROR_FN_NO_MORE_DATA: "В ФН нет запрошенных данных",
    IFptr.LIBFPTR_ERROR_FN_TOTAL_OVERFLOW: "Переполнение ФН (итог чека)",
    IFptr.LIBFPTR_ERROR_BUFFER_OVERFLOW: "Буфер переполнен",
    IFptr.LIBFPTR_ERROR_PRINT_SECOND_COPY_DENIED: "Невозможно напечатать вторую фискальную копию",
    IFptr.LIBFPTR_ERROR_NEED_RESET_JOURNAL: "Требуется гашение ЭЖ",
    IFptr.LIBFPTR_ERROR_TAX_SUM_TOO_MUCH: "Некорректная сумма налога",
    IFptr.LIBFPTR_ERROR_TAX_ON_LAST_OPERATION_DENIED: "Начисление налога на последнюю операцию невозможно",
    IFptr.LIBFPTR_ERROR_INVALID_FN_NUMBER: "Неверный номер ФН",
    IFptr.LIBFPTR_ERROR_TAX_CANCEL_DENIED: "Сумма сторно налога больше суммы зарегистрированного налога данного типа",
    IFptr.LIBFPTR_ERROR_LOW_BATTERY: "Операция невозможна, недостаточно питания",
    IFptr.LIBFPTR_ERROR_FN_INVALID_COMMAND: "Некорректное значение параметров команды ФН",
    IFptr.LIBFPTR_ERROR_FN_COMMAND_OVERFLOW: "Превышение размеров TLV данных ФН",
    IFptr.LIBFPTR_ERROR_FN_NO_TRANSPORT_CONNECTION: "Нет транспортного соединения ФН",
    IFptr.LIBFPTR_ERROR_FN_CRYPTO_HAS_EXPIRED: "Исчерпан ресурс КС ФН",
    IFptr.LIBFPTR_ERROR_FN_RESOURCE_HAS_EXPIRED: "Ресурс хранения ФД исчерпан",
    IFptr.LIBFPTR_ERROR_INVALID_MESSAGE_FROM_OFD: "Сообщение от ОФД не может быть принято ФН",
    IFptr.LIBFPTR_ERROR_FN_HAS_NOT_SEND_DOCUMENTS: "В ФН есть неотправленные ФД",
    IFptr.LIBFPTR_ERROR_FN_TIMEOUT: "Исчерпан ресурс ожидания передачи сообщения в ФН",
    IFptr.LIBFPTR_ERROR_FN_SHIFT_EXPIRED: "Продолжительность смены ФН более 24 часов",
    IFptr.LIBFPTR_ERROR_FN_INVALID_TIME_DIFFERENCE: "Неверная разница во времени между двумя операциями ФН",
    IFptr.LIBFPTR_ERROR_INVALID_TAXATION_TYPE: "Некорректная СНО",
    IFptr.LIBFPTR_ERROR_INVALID_TAX_TYPE: "Недопустимый номер ставки налога",
    IFptr.LIBFPTR_ERROR_INVALID_COMMODITY_PAYMENT_TYPE: "Недопустимый тип оплаты товара",
    IFptr.LIBFPTR_ERROR_INVALID_COMMODITY_CODE_TYPE: "Недопустимый тип кода товара",
    IFptr.LIBFPTR_ERROR_EXCISABLE_COMMODITY_DENIED: "Недопустима регистрация подакцизного товара",
    IFptr.LIBFPTR_ERROR_FISCAL_PROPERTY_WRITE: "Ошибка программирования реквизита",
    IFptr.LIBFPTR_ERROR_INVALID_COUNTER_TYPE: "Неверный тип счетчика",
    IFptr.LIBFPTR_ERROR_CUTTER_FAULT: "Ошибка отрезчика",
    IFptr.LIBFPTR_ERROR_REPORT_INTERRUPTED: "Снятие отчета прервалось",
    IFptr.LIBFPTR_ERROR_INVALID_LEFT_MARGIN: "Недопустимое значение отступа слева",
    IFptr.LIBFPTR_ERROR_INVALID_ALIGNMENT: "Недопустимое значение выравнивания",
    IFptr.LIBFPTR_ERROR_INVALID_TAX_MODE: "Недопустимое значение режима работы с налогом",
    IFptr.LIBFPTR_ERROR_FILE_NOT_FOUND: "Файл не найден или неверный формат",
    IFptr.LIBFPTR_ERROR_PICTURE_TOO_BIG: "Размер картинки слишком большой",
    IFptr.LIBFPTR_ERROR_INVALID_BARCODE_PARAMS: "Не удалось сформировать штрихкод",
    IFptr.LIBFPTR_ERROR_FISCAL_PROPERTY_DENIED: "Неразрешенные реквизиты",
    IFptr.LIBFPTR_ERROR_FN_INTERFACE: "Ошибка интерфейса ФН",
    IFptr.LIBFPTR_ERROR_DATA_DUPLICATE: "Дублирование данных",
    IFptr.LIBFPTR_ERROR_NO_REQUIRED_FISCAL_PROPERTY: "Не указаны обязательные реквизиты",
    IFptr.LIBFPTR_ERROR_FN_READ_DOCUMENT: "Ошибка чтения документа из ФН",
    IFptr.LIBFPTR_ERROR_FLOAT_OVERFLOW: "Переполнение чисел с плавающей точкой",
    IFptr.LIBFPTR_ERROR_INVALID_SETTING_VALUE: "Неверное значение параметра ККТ",
    IFptr.LIBFPTR_ERROR_HARD_FAULT: "Внутренняя ошибка ККТ",
    IFptr.LIBFPTR_ERROR_FN_NOT_FOUND: "ФН не найден",
    IFptr.LIBFPTR_ERROR_INVALID_AGENT_FISCAL_PROPERTY: "Невозможно записать реквизит агента",
    IFptr.LIBFPTR_ERROR_INVALID_FISCAL_PROPERTY_VALUE_1002_1056: "Недопустимое сочетание реквизитов 1002 и 1056",
    IFptr.LIBFPTR_ERROR_INVALID_FISCAL_PROPERTY_VALUE_1002_1017: "Недопустимое сочетание реквизитов 1002 и 1017",
    IFptr.LIBFPTR_ERROR_SCRIPT: "Ошибка скриптового движка ККТ",
    IFptr.LIBFPTR_ERROR_INVALID_USER_MEMORY_INDEX: "Неверный номер пользовательской ячейки памяти",
    IFptr.LIBFPTR_ERROR_NO_ACTIVE_OPERATOR: "Кассир не зарегистрирован",
    IFptr.LIBFPTR_ERROR_REGISTRATION_REPORT_INTERRUPTED: "Отчет о регистрации ККТ прерван",
    IFptr.LIBFPTR_ERROR_CLOSE_FN_REPORT_INTERRUPTED: "Отчет о закрытии ФН прерван",
    IFptr.LIBFPTR_ERROR_OPEN_SHIFT_REPORT_INTERRUPTED: "Отчет об открытии смены прерван",
    IFptr.LIBFPTR_ERROR_OFD_EXCHANGE_REPORT_INTERRUPTED: "Отчет о состоянии расчетов прерван",
    IFptr.LIBFPTR_ERROR_CLOSE_RECEIPT_INTERRUPTED: "Закрытие чека прервано",
    IFptr.LIBFPTR_ERROR_FN_QUERY_INTERRUPTED: "Получение документа из ФН прервано",
    IFptr.LIBFPTR_ERROR_RTC_FAULT: "Сбой часов",
    IFptr.LIBFPTR_ERROR_MEMORY_FAULT: "Сбой памяти",
    IFptr.LIBFPTR_ERROR_CHIP_FAULT: "Сбой микросхемы",
    IFptr.LIBFPTR_ERROR_TEMPLATES_CORRUPTED: "Ошибка шаблонов документов",
    IFptr.LIBFPTR_ERROR_INVALID_MAC_ADDRESS: "Недопустимое значение MAC-адреса",
    IFptr.LIBFPTR_ERROR_INVALID_SCRIPT_NUMBER: "Неверный тип (номер) шаблона",
    IFptr.LIBFPTR_ERROR_SCRIPTS_FAULT: "Загруженные шаблоны повреждены или отсутствуют",
    IFptr.LIBFPTR_ERROR_INVALID_SCRIPTS_VERSION: "Несовместимая версия загруженных шаблонов",
    IFptr.LIBFPTR_ERROR_INVALID_CLICHE_FORMAT: "Ошибка в формате клише",
    IFptr.LIBFPTR_ERROR_WAIT_FOR_REBOOT: "Требуется перезагрузка ККТ",
    IFptr.LIBFPTR_ERROR_NO_LICENSE: "Подходящие лицензии не найдены",
    IFptr.LIBFPTR_ERROR_INVALID_FFD_VERSION: "Неверная версия ФФД",
    IFptr.LIBFPTR_ERROR_CHANGE_SETTING_DENIED: "Параметр доступен только для чтения",
    IFptr.LIBFPTR_ERROR_INVALID_NOMENCLATURE_TYPE: "Неверный тип кода товара",
    IFptr.LIBFPTR_ERROR_INVALID_GTIN: "Неверное значение GTIN",
    IFptr.LIBFPTR_ERROR_NEGATIVE_MATH_RESULT: "Отрицательный результат математической операции",
    IFptr.LIBFPTR_ERROR_FISCAL_PROPERTIES_COMBINATION: "Недопустимое сочетание реквизитов",
    IFptr.LIBFPTR_ERROR_OPERATOR_LOGIN: "Не удалось зарегистрировать кассира",
    IFptr.LIBFPTR_ERROR_INVALID_INTERNET_CHANNEL: "Данный канал Интернет отсутствует в ККТ",
    IFptr.LIBFPTR_ERROR_DATETIME_NOT_SYNCRONIZED: "Дата и время не синхронизированы",
    IFptr.LIBFPTR_ERROR_JOURNAL: "Ошибка электронного журнала",
    IFptr.LIBFPTR_ERROR_DENIED_IN_OPENED_DOC: "Документ открыт - операция невозможна",
    IFptr.LIBFPTR_ERROR_DENIED_IN_CLOSED_DOC: "Документ закрыт - операция невозможна",
    IFptr.LIBFPTR_ERROR_LICENSE_MEMORY_OVERFLOW: "Нет места для сохранения лицензий",
    IFptr.LIBFPTR_ERROR_NEED_CANCEL_DOCUMENT: "Произошла критичная ошибка, документ необходимо отменить",
    IFptr.LIBFPTR_ERROR_REGISTERS_NOT_INITIALIZED: "Регистры ККТ еще не инициализированы",
    IFptr.LIBFPTR_ERROR_TOTAL_REQUIRED: "Требуется регистрация итога",
    IFptr.LIBFPTR_ERROR_SETTINGS_FAULT: "Сбой таблицы настроек",
    IFptr.LIBFPTR_ERROR_COUNTERS_FAULT: "Сбой счетчиков и регистров ККТ",
    IFptr.LIBFPTR_ERROR_USER_MEMORY_FAULT: "Сбой пользовательской памяти",
    IFptr.LIBFPTR_ERROR_SERVICE_COUNTERS_FAULT: "Сбой сервисных регистров",
    IFptr.LIBFPTR_ERROR_ATTRIBUTES_FAULT: "Сбой реквизитов ККТ",
    IFptr.LIBFPTR_ERROR_ALREADY_IN_UPDATE_MODE: "ККТ уже в режиме обновления конфигурации",
    IFptr.LIBFPTR_ERROR_INVALID_FIRMWARE: "Конфигурация не прошла проверку",
    IFptr.LIBFPTR_ERROR_INVALID_CHANNEL: "Аппаратный канал отсутствует, выключен или ещё не проинициализирован",
    IFptr.LIBFPTR_ERROR_INTERFACE_DOWN: "Сетевой интерфейс не подключен, или на нём не получен IP-адрес",
    IFptr.LIBFPTR_ERROR_INVALID_FISCAL_PROPERTY_VALUE_1212_1030: "Недопустимое сочетание реквизитов 1212 и 1030",
    IFptr.LIBFPTR_ERROR_INVALID_FISCAL_PROPERTY_VALUE_1214: "Некорректный признак способа расчета",
    IFptr.LIBFPTR_ERROR_INVALID_FISCAL_PROPERTY_VALUE_1212: "Некорректный признак предмета расчета",
    IFptr.LIBFPTR_ERROR_SYNC_TIME: "Ошибка синхронизации времени",
    IFptr.LIBFPTR_ERROR_VAT18_VAT20_IN_RECEIPT: "В одном чеке одновременно не может быть позиций с НДС 18% (18/118) и "
    "НДС 20% (20/120)",
    IFptr.LIBFPTR_ERROR_PICTURE_NOT_CLOSED: "Картинка не закрыта",
    IFptr.LIBFPTR_ERROR_INTERFACE_BUSY: "Сетевой интерфейс занят",
    IFptr.LIBFPTR_ERROR_INVALID_PICTURE_NUMBER: "Неверный номер картинки",
    IFptr.LIBFPTR_ERROR_INVALID_CONTAINER: "Ошибка проверки контейнера",
    IFptr.LIBFPTR_ERROR_ARCHIVE_CLOSED: "Архив ФН закрыт",
    IFptr.LIBFPTR_ERROR_NEED_REGISTRATION: "Нужно выполнить регистрацию / перерегистрацию",
    IFptr.LIBFPTR_ERROR_DENIED_DURING_UPDATE: "Операция невозможна, идет обновление ПО ККТ",
    IFptr.LIBFPTR_ERROR_INVALID_TOTAL: "Неверный итог чека",
    IFptr.LIBFPTR_ERROR_MARKING_CODE_CONFLICT: "Запрещена одновременная передача КМ и реквизита 1162",
    IFptr.LIBFPTR_ERROR_INVALID_RECORDS_ID: "Набор записей по заданному идентификатору не найден",
    IFptr.LIBFPTR_ERROR_INVALID_SIGNATURE: "Ошибка цифровой подписи",
    IFptr.LIBFPTR_ERROR_INVALID_EXCISE_SUM: "Некорректная сумма акциза",
    IFptr.LIBFPTR_ERROR_NO_DOCUMENTS_FOUND_IN_JOURNAL: "Заданный диапазон документов не найден в БД документов",
    IFptr.LIBFPTR_ERROR_INVALID_SCRIPT_TYPE: "Неподдерживаемый тип скрипта",
    IFptr.LIBFPTR_ERROR_INVALID_SCRIPT_NAME: "Некорректный идентификатор скрипта",
    IFptr.LIBFPTR_ERROR_INVALID_POSITIONS_COUNT_WITH_1162: "Кол-во позиций с реквизитом 1162/1163 в автономном режиме "
    "превысило разрешенный лимит",
    IFptr.LIBFPTR_ERROR_INVALID_UC_COUNTER: "Универсальный счетчик с заданными параметрами недоступен",
    IFptr.LIBFPTR_ERROR_INVALID_UC_TAG: "Неподдерживаемый тег для универсальных счетчиков",
    IFptr.LIBFPTR_ERROR_INVALID_UC_IDX: "Некорректный индекс для универсальных счетчиков",
    IFptr.LIBFPTR_ERROR_INVALID_UC_SIZE: "Неверный размер универсального счетчика",
    IFptr.LIBFPTR_ERROR_INVALID_UC_CONFIG: "Неверная конфигурация универсальных счетчиков",
    IFptr.LIBFPTR_ERROR_CONNECTION_LOST: "Соединение с ККТ потеряно",
    IFptr.LIBFPTR_ERROR_UNIVERSAL_COUNTERS_FAULT: "Ошибка универсальных счетчиков",
    IFptr.LIBFPTR_ERROR_INVALID_TAX_SUM: "Некорректная сумма налога",
    IFptr.LIBFPTR_ERROR_INVALID_MARKING_CODE_TYPE: "Некорректное значение типа кода маркировки",
    IFptr.LIBFPTR_ERROR_LICENSE_HARD_FAULT: "Аппаратная ошибка при сохранении лицензии",
    IFptr.LIBFPTR_ERROR_LICENSE_INVALID_SIGN: "Подпись лицензии некорректна",
    IFptr.LIBFPTR_ERROR_LICENSE_INVALID_SERIAL: "Лицензия не подходит для данной ККТ",
    IFptr.LIBFPTR_ERROR_LICENSE_INVALID_TIME: "Срок действия лицензии истёк",
    IFptr.LIBFPTR_ERROR_DOCUMENT_CANCELED: "Документ был отменен",
    IFptr.LIBFPTR_ERROR_INVALID_SCRIPT_PARAMS: "Некорректные параметры скрипта",
    IFptr.LIBFPTR_ERROR_CLICHE_TOO_LONG: "Длина клише превышает максимальное значение",
    IFptr.LIBFPTR_ERROR_COMMODITIES_TABLE_FAULT: "Ошибка таблицы товаров",
    IFptr.LIBFPTR_ERROR_COMMODITIES_TABLE: "Общая ошибка таблицы товаров",
    IFptr.LIBFPTR_ERROR_COMMODITIES_TABLE_INVALID_TAG: "Некорректный тег для таблицы товаров",
    IFptr.LIBFPTR_ERROR_COMMODITIES_TABLE_INVALID_TAG_SIZE: "Некорректный размер тега для таблицы товаров",
    IFptr.LIBFPTR_ERROR_COMMODITIES_TABLE_NO_TAG_DATA: "Нет данных по тегу в таблице товаров",
    IFptr.LIBFPTR_ERROR_COMMODITIES_TABLE_NO_FREE_MEMORY: "Нет места в динамической области памяти таблицы товаров",
    IFptr.LIBFPTR_ERROR_INVALID_CACHE: "Ошибка чтения/записи данных кеша",
    IFptr.LIBFPTR_ERROR_SCHEDULER_NOT_READY: "Функции планировщика заданий не доступны",
    IFptr.LIBFPTR_ERROR_SCHEDULER_INVALID_TASK: "Неизвестный тип задания планировщика",
    IFptr.LIBFPTR_ERROR_MINIPOS_NO_POSITION_PAYMENT: "Отсутствует позиция оплаты",
    IFptr.LIBFPTR_ERROR_MINIPOS_COMMAND_TIME_OUT: "Таймаут выполнения команды истек",
    IFptr.LIBFPTR_ERROR_MINIPOS_MODE_FR_DISABLED: "Режим ФР выключен",
    IFptr.LIBFPTR_ERROR_ENTRY_NOT_FOUND_IN_OTP: "Не найдена запись в OTP",
    IFptr.LIBFPTR_ERROR_EXCISABLE_COMMODITY_WITHOUT_EXCISE: "Подакцизный товар без акциза зарегистрирован в чеке",
    IFptr.LIBFPTR_ERROR_BARCODE_TYPE_NOT_SUPPORTED: "Данный тип штрихкода не поддерживается",
    IFptr.LIBFPTR_ERROR_OVERLAY_DATA_OVERFLOW: "Размер данных штрихкода и текста превышает допустимый",
    IFptr.LIBFPTR_ERROR_INVALID_MODULE_ADDRESS: "Ошибка чтения адреса модуля и сегмента",
    IFptr.LIBFPTR_ERROR_ECR_MODEL_NOT_SUPPORTED: "Данная модель ККТ не поддерживается",
    IFptr.LIBFPTR_ERROR_MARKING_CODE_VALIDATION_IN_PROGRESS: "Процедура проверки КМ уже запущена",
    IFptr.LIBFPTR_ERROR_NO_CONNECTION_WITH_SERVER: "Ошибка соединения с сервером",
    IFptr.LIBFPTR_ERROR_MARKING_CODE_VALIDATION_CANCELED: "Процедура проверки КМ прервана",
    IFptr.LIBFPTR_ERROR_INVALID_MARKING_CODE_STATUS: "Некорректное значение статуса КМ",
    IFptr.LIBFPTR_ERROR_INVALID_GS1: "Неверный код GS1",
    IFptr.LIBFPTR_ERROR_MARKING_WORK_DENIED: "Запрещена работа с маркированным товарами",
    IFptr.LIBFPTR_ERROR_MARKING_WORK_TEMPORARY_BLOCKED: "Работа с маркированными товарами временно заблокирована",
    IFptr.LIBFPTR_ERROR_MARKS_OVERFLOW: "Переполнена таблица хранения КМ",
    IFptr.LIBFPTR_ERROR_INVALID_MARKING_CODE: "Некорректный код маркировки",
    IFptr.LIBFPTR_ERROR_INVALID_STATE: "Неверное состояние",
    IFptr.LIBFPTR_ERROR_OFD_EXCHANGE: "Ошибка обмена с сервером ОФД или ИСМ",
    IFptr.LIBFPTR_ERROR_INVALID_MEASUREMENT_UNIT: "Некорректное значение единиц измерения",
    IFptr.LIBFPTR_ERROR_OPERATION_DENIED_IN_CURRENT_FFD: "Операция не разрешена в данной версии ФФД",
    IFptr.LIBFPTR_ERROR_MARKING_OPERATION_DENIED: "Операция не разрешена, "
    "при регистрации не был установлен признак ТМТ",
    IFptr.LIBFPTR_ERROR_NO_DATA_TO_SEND: "Нет данных для отправки",
    IFptr.LIBFPTR_ERROR_NO_MARKED_POSITION: "Нет маркированных позиций в чеке",
    IFptr.LIBFPTR_ERROR_HAS_NOT_SEND_NOTICES: "Имеются неотправленные уведомления",
    IFptr.LIBFPTR_ERROR_UPDATE_KEYS_REQUIRED: "Требуется повторное проведение процедуры обновления ключей",
    IFptr.LIBFPTR_ERROR_UPDATE_KEYS_SERVICE: "Ошибка сервиса обновления ключей проверки КМ",
    IFptr.LIBFPTR_ERROR_MARK_NOT_CHECKED: "КМ не проверен в ФН",
    IFptr.LIBFPTR_ERROR_MARK_CHECK_TIMEOUT_EXPIRED: "Истёк таймаут проверки КМ",
    IFptr.LIBFPTR_ERROR_NO_MARKING_CODE_IN_TABLE: "Данный КМ отсутствует в таблице",
    IFptr.LIBFPTR_ERROR_CHEKING_MARK_IN_PROGRESS: "Выполняется проверка КМ",
    IFptr.LIBFPTR_ERROR_INVALID_SERVER_ADDRESS: "Адрес сервера ИСМ не задан",
    IFptr.LIBFPTR_ERROR_UPDATE_KEYS_TIMEOUT: "Истёк таймаут обновления ключей проверки",
    IFptr.LIBFPTR_ERROR_PROPERTY_FOR_MARKING_POSITION_ONLY: "Данный реквизит разрешён только для маркированной позиции",
    IFptr.LIBFPTR_ERROR_RECEIPT_PARSE_ERROR: "Ошибка парсинга запроса",
    IFptr.LIBFPTR_ERROR_INTERRUPTED_BY_PREVIOUS_ERRORS: "Выполнение прервано из-за предыдущих ошибок",
    IFptr.LIBFPTR_ERROR_DRIVER_SCRIPT_ERROR: "Ошибка скрипта драйвера",
    IFptr.LIBFPTR_ERROR_VALIDATE_FUNC_NOT_FOUND: "Функция проверки задания не найдена",
    IFptr.LIBFPTR_ERROR_RCP_SERVER_BUSY: "Устройство на сервере удалённого подключения занято другим клиентом",
    IFptr.LIBFPTR_ERROR_RCP_SERVER_VERSION: "Некорректная версия протокола обмена с сервером удалённого подключения",
    IFptr.LIBFPTR_ERROR_RCP_SERVER_EXCHANGE: "Ошибка обмена с сервером удалённого подключения",
}


def get_dto_error_code_description(error_code):
    """Запрос описания ошибки ДТО"""
    if error_code in DTO_ERROR_DESCRIPTIONS:
        return DTO_ERROR_DESCRIPTIONS[error_code]
    else:
        return "НЕИЗВЕСТНАЯ ОШИБКА ДРАЙВЕРА! НЕОБХОДИМО АКТУАЛИЗИРОВАТЬ СЛОВАРЬ const/dto_error_descriptions.py"
