Кассир сканирует код, касса думает и выдаёт отказ. Товар нормальный, интернет есть, но проверка не успела уложиться в отведённое время.
Это типичная ситуация на медленном канале связи и на слабых компьютерах. Время проверки задаётся параметром, и его можно увеличить.
Два параметра и их значения по умолчанию
В модуле ЕСМ за это отвечают два таймаута.
| Параметр | По умолчанию | Предел |
|---|---|---|
cdnCodesCheckTimeout — время на проверку кода онлайн | 1500 мс (1,5 с) | 30 000 мс (30 с) |
cdnHealthCheckTimeout — время на проверку доступности площадки | 2000 мс (2 с) | 10 000 мс (рекомендуемый) |
Значения по умолчанию задаются онлайн-конфигурацией ЦРПТ, то есть приходят снаружи, а не зашиты в модуль.
Первый параметр — тот, что чаще всего и нужен. Полторы секунды на ответ — немного, если канал загружен или нестабилен.

Второй отвечает за проверку самих площадок. Модуль перед обращением убеждается, что узел жив; если этот шаг не успевает, он переходит к следующему узлу, и на это тоже уходит время.
Сразу о плате за увеличение
Увеличение таймаута не ускоряет проверку. Оно даёт ей больше времени на то, чтобы завершиться.
Это значит, что каждая позиция в чеке может обрабатываться дольше. Поставив 30 секунд, вы почти гарантированно получите ответ — но кассир будет ждать до тридцати секунд на каждом коде, который не проходит с первого раза. Очередь этого не оценит.
Разумный подход — увеличивать постепенно. Начните с 4000 мс: этого хватает в большинстве случаев с медленным каналом. Если не помогло, проблема, скорее всего, не в таймауте.
Как изменить: Windows
Настройка меняется HTTP-запросом к модулю. Понадобится заводской номер кассы — он же идентификатор экземпляра ЕСМ.
Откройте PowerShell (проще всего через поиск в панели задач) и выполните запрос, подставив номер кассы вместо <id>:
$response = Invoke-WebRequest -Uri "http://127.0.0.1:51077/api/v1/settings/<id>" `
-Method Put `
-ContentType "application/json" `
-Body "{`"allowRemoteConnection`":true,`"gismtAddress`":`"https://ts-reg.crpt.ru:19100`",`"cdnCodesCheckTimeout`":4000,`"cdnHealthCheckTimeout`":3000}"
Здесь выставлено 4000 мс на проверку кода и 3000 мс на проверку площадки — меняйте на нужные.
Осторожно с переносами строк. При копировании в PowerShell разрывы в неположенном месте ломают команду: интерпретатор принимает часть параметров за отдельную команду и возвращает ошибку «Некорректное тело запроса». Если запрос не отработал, первым делом проверьте, что он вставился одной конструкцией.
Как изменить: Linux
То же самое через curl:
curl --location --request PUT 'http://127.0.0.1:51077/api/v1/settings/<id>' --header 'Content-Type: application/json' --data '{"allowRemoteConnection":true,"gismtAddress":"https://ts-reg.crpt.ru:19100","cdnCodesCheckTimeout":4000,"cdnHealthCheckTimeout":3000}'
Если у вас накопитель МГМ
Адрес системы маркировки в запросе будет другим. Вместо ts-reg.crpt.ru указывается cdn01.am.crptech.ru, порт тот же:
curl --location --request PUT 'http://127.0.0.1:51077/api/v1/settings/<id>' --header 'Content-Type: application/json' --data '{"allowRemoteConnection":true,"gismtAddress":"https://cdn01.am.crptech.ru:19100","cdnCodesCheckTimeout":4000,"cdnHealthCheckTimeout":3000}'
Перепутать адреса нельзя: для обычного накопителя и для МГМ они разные, и запрос с чужим адресом сломает работающую настройку.
Оговорка, о которой легко забыть
Запрос выполняется методом PUT, а PUT заменяет настройки целиком. Все необязательные параметры, которые вы не передали, сбрасываются к значениям по умолчанию.
Практический вывод: передавайте в запросе весь набор, а не только тот параметр, который меняете. Именно поэтому в примерах выше присутствуют allowRemoteConnection и gismtAddress — без них они вернутся к исходным значениям, и адрес системы маркировки может слететь.
Что означают ответы
| Код | Что произошло |
|---|---|
| 200 | Настройки сохранены, тело ответа пустое |
| 400 | Некорректное тело запроса или пустой идентификатор. Код 1025 внутри означает недопустимое значение параметра |
| 500 | Внутренняя ошибка модуля |
Пустой ответ при коде 200 — это норма, а не признак того, что запрос не сработал.
На смарт-терминалах Sigma проще
Там для этого есть интерфейс. В приложении ЕСМ рядом с полем «Таймаут проверки марки» находится кнопка «Настроить», значение меняется шагом в полсекунды.
Рекомендуемое время проверки там же и указано — 1,5 секунды, то есть то же самое значение по умолчанию.
Когда таймаут не поможет
Увеличивать его имеет смысл, только если проверка иногда проходит. Если она не проходит никогда, дело в другом:
- Ошибка 514 — не работают оба пути проверки сразу, разбор здесь.
- Закрытые адреса ЦРПТ на межсетевом экране. Сколько времени ни давай, до заблокированного узла запрос не дойдёт.
- Параллельная проверка и в ОИСМ, и через ТС ПИоТ — она даёт плавающую ошибку 407, которая лечится не таймаутом, а последовательным порядком обращений.
- Локальный модуль не инициализирован — офлайн-путь не работает, и вся нагрузка ложится на онлайн. Статус проверяется в самом ЛМ ЧЗ.
Частые вопросы
Где взять идентификатор экземпляра? Это заводской номер кассы, на которую зарегистрирован модуль. Виден в блоке «Информация о кассе» в окне ЕСМ, а также в сервисной информации драйвера и на корпусе аппарата.
Нужно ли перезапускать модуль после изменения? Нет, настройка применяется сразу.
Можно поставить сразу максимум — 30 секунд? Технически да, практически не стоит. Вы получите кассу, которая на каждом проблемном коде замирает на полминуты.
Изменится ли скорость офлайн-проверки? Нет. Эти параметры относятся к обращениям в сеть, локальная база отвечает мгновенно.
Настройка слетает после обновления модуля. Проверьте, не выполнялся ли повторно PUT-запрос без полного набора параметров — он сбрасывает всё, что в нём не указано.
Коротко
Время на онлайн-проверку кода по умолчанию — 1,5 секунды, максимум 30. Меняется PUT-запросом на 127.0.0.1:51077/api/v1/settings/ с заводским номером кассы, из PowerShell или curl. Разумное значение для медленного канала — 4000 мс; ставить максимум не стоит, потому что кассир будет ждать это время на каждом проблемном коде. Главная тонкость: PUT сбрасывает всё, что в запросе не передано, поэтому отправлять нужно полный набор параметров вместе с адресом системы маркировки.
Материал носит информационный характер. Сайт atoldriver.ru не является представительством компании АТОЛ или АО «ЕСП» и не оказывает услуг по обслуживанию оборудования.