Интеграция с облачными кассами (такими как Атол Онлайн) — стандартная задача для современного бизнеса, особенно в сфере электронной коммерции и оптовой торговли. Однако часто возникает ситуация, когда технически чек пробит (виден в ОФД, покупатель получил SMS/Email), но в 1С документ остается в подвешенном состоянии. В документе оплаты не заполняется номер чека, а статус операции остается "Фискализируется".
Рассмотрим подробно, почему это происходит, какие механизмы 1С отвечают за получение обратной связи от кассы и как настроить систему, чтобы статусы обновлялись корректно.
Важно понимать, что работа с облачной кассой отличается от работы с фискальным регистратором, подключенным по USB. Обмен данными происходит асинхронно:
Если последний этап не срабатывает, 1С "думает", что чек все еще обрабатывается, хотя по факту он уже готов.
Прежде чем менять настройки, давайте проанализируем текущее состояние системы. В 1С:УНФ (и других конфигурациях на управляемых формах) есть служебные регистры, хранящие историю обмена.
Нам необходимо проверить записи в регистре сведений Данные операций облачных касс и Очередь чеков ККТ.
Если вы видите следующую картину:
Это означает, что 1С успешно отправила чек, но не получила финальный ответ.
Для автоматического получения статусов в системе должно работать специальное фоновое задание. Если оно отключено или настроено некорректно, статусы обновляться не будут.
Перейдем в раздел Администрирование — Обслуживание — Регламентные и фоновые задания. Нас интересует задание:
Загрузка статусов операций Облачных касс
Убедитесь, что:
Это регламентное задание инициирует опрос сервиса облачной кассы: "Готов ли чек с таким-то идентификатором?".
Это критически важный момент, о котором часто забывают. Обмен с Атол Онлайн может работать по двум сценариям:
Для корректной и быстрой работы, особенно если ваша база 1С файловая или работает в клиент-серверном варианте, но не опубликована на веб-сервере с внешним статическим IP-адресом, облачная касса технически не может "постучаться" к вам напрямую.
В этом случае 1С использует Систему взаимодействия (сервер 1С:Диалог) как промежуточный туннель для передачи данных.
Что нужно сделать:
После подключения системы взаимодействия механизм обмена с облачной кассой сможет использовать этот канал для получения ответов от сервиса Атол, даже если ваша база находится за NAT или брандмауэром.
Если регламентное задание работает и система взаимодействия подключена, но проблема сохраняется, давайте разберем вопрос версий драйверов.
Облачные сервисы периодически обновляют свои API (программные интерфейсы). Если в 1С используется устаревшая версия компоненты, запрос на пробитие может проходить (так как формат отправки часто совместим), а вот разбор ответа (парсинг JSON) может падать с ошибкой, которую не видно в пользовательском интерфейсе.
Рекомендуем выполнить следующие действия:
Если ничего из вышеперечисленного не помогло, необходимо обратиться к Журналу регистрации. Часто ошибка скрыта именно там, так как фоновые задания не выводят сообщения на экран пользователя.
Отфильтруйте журнал по следующим критериям:
Загрузка статусов операций Облачных касс.Вы можете увидеть ошибки вида:
Иногда бывает ситуация, когда чек завис из-за временного сбоя, и регламентное задание перестало его обрабатывать из-за превышения количества попыток.
В регистре Очередь чеков ККТ есть ресурс, отвечающий за количество попыток отправки/получения статуса. Если лимит исчерпан, 1С может игнорировать запись. В некоторых версиях конфигураций в рабочем месте "Чеки ККМ" или "Управление фискальными операциями" есть кнопка "Обновить статус" или "Проверить статус" для ручного запуска проверки по конкретному документу. Используйте её для единичных зависших операций.
Для того чтобы 1С "узнавала" о пробитых чеках, выполните чек-лист:
Загрузка статусов операций Облачных касс и настройте частое расписание.