Получение команд с внешнего источника через интернет
Получение команд с внешнего источника через интернет
В ответах на форуме написано: "Все команды ставятся в очередь на выполнение и выполняются по порядку". Но если в kkm-сервере настроено "Использовать обратный вызов" и указан интервал вызова, например 5 секунд, а при этом передана команда для регистрации чека с 50-ю товарами с маркировкой, то понятно, что за 5 секунд чек не будет готов. При этом будет ли работать "обратный вызов", запрашивая новые команды и устанавливая их в очередь или "обратный вызов" приостановится до выполнения "длинной" команды?
Re: Получение команд с внешнего источника через интернет
>При этом будет ли работать "обратный вызов", запрашивая новые команды и устанавливая их в очередь или "обратный вызов" приостановится до выполнения "длинной" команды?
Будет.
Если команда из прошлого запроса еще не выполнена - в вызове просто не будет ответа на команду.
Но сами вызовы будут, и команды будут приниматься и ставится в очередь.
Будет.
Если команда из прошлого запроса еще не выполнена - в вызове просто не будет ответа на команду.
Но сами вызовы будут, и команды будут приниматься и ставится в очередь.
- saratovout
- Сообщения: 260
- Зарегистрирован: 08 авг 2019, 23:52
- Откуда: Boston
- Контактная информация:
Re: Получение команд с внешнего источника через интернет
Очередь будет, но я вам советую делать очередь именно на уровне вашего приложения -- отправили одно, получили результат команды, отправляйте следующее задание. Например, если вы работаете с эквайрингом, очередь уже как надо не сработает.web1s.ru писал(а): ↑27 май 2020, 19:35В ответах на форуме написано: "Все команды ставятся в очередь на выполнение и выполняются по порядку". Но если в kkm-сервере настроено "Использовать обратный вызов" и указан интервал вызова, например 5 секунд, а при этом передана команда для регистрации чека с 50-ю товарами с маркировкой, то понятно, что за 5 секунд чек не будет готов. При этом будет ли работать "обратный вызов", запрашивая новые команды и устанавливая их в очередь или "обратный вызов" приостановится до выполнения "длинной" команды?
good films make your life better..
Re: Получение команд с внешнего источника через интернет
Спасибо за быстрый и исчерпывающий ответ! Но есть вопрос более каверзный. Положим в kkm-сервере прописаны две кассы. В одна из них чек был отпечатан нормально и бумага закончилась. Логика указывает, что при выдаче команды на печать чека в кассе #0, только одна касса теперь будет обслуживать очередь чеков. А вторая автоматически будет исключена из работы. Так ли это? И как тогда "издалека" отловить такую ситуацию? Или с определенным периодом надо передавать команду на опрос состояния касс?
- saratovout
- Сообщения: 260
- Зарегистрирован: 08 авг 2019, 23:52
- Откуда: Boston
- Контактная информация:
Re: Получение команд с внешнего источника через интернет
имхо, односложно ответить на вопрос нельзя. Много нюансов могут зависеть от конкретной модели ККМ.
Возможна такая ситуация, что бумага кончилась в конце чека, чек ушел в ОФД, но ПО считает его недопечатанным с ошибкой "нет бумаги", но с имеющимся номером ФД чека.
Еще может быть, что состояние "нет бумаги" сервер узнает не сразу, а когда команда уже ушла на определенный кассовый аппарат.
Всё это желательно учитывать, но, как правило, мало кто это делает.
Не имеет смысла, опрос ККМ перед каждой отправкой чека не даст вам ожидаемого результата. Опрос, скорее нужно делать: при включении, изменении конфигурации, м.б. перед/после открытиями/закрытиями смен, после каких-то ошибок.
good films make your life better..
Re: Получение команд с внешнего источника через интернет
Если к kkmserver подключены две ККТ зарегистрированные на один ИНН и одну и туже систему налогообложения то можно сделать балансировку нагрузки:
В команде не указывать номер устройства а указывать только ИНН и СНО.
Тогда kkmserver будет регистрировать чеки поочередно на разных ККТ.
В настройках можно поставить крыжик на "При ошибке: Активно = off"
Тогда если на какой-то ККТ будет ошибка то она станет не активной и все команды будут выполнятся на другой ККТ.
Но ошибку нужно обработать самим - kkmserver не будет повторно ставить команду на выполнение на другой ККТ при ошибке.
В команде не указывать номер устройства а указывать только ИНН и СНО.
Тогда kkmserver будет регистрировать чеки поочередно на разных ККТ.
В настройках можно поставить крыжик на "При ошибке: Активно = off"
Тогда если на какой-то ККТ будет ошибка то она станет не активной и все команды будут выполнятся на другой ККТ.
Но ошибку нужно обработать самим - kkmserver не будет повторно ставить команду на выполнение на другой ККТ при ошибке.
Если ошибка произойдет после регистрации чека (при печати, при получении данных чека) то kkmserver выдаст статус ОК, но в поле "Error" будет текст ошибки - т.е. такой случай можно обработать.Возможна такая ситуация, что бумага кончилась в конце чека, чек ушел в ОФД, но ПО считает его недопечатанным с ошибкой "нет бумаги", но с имеющимся номером ФД чека.