Почему в 1С:УНФ не обновляется статус чека после пробития через Атол Онлайн?

Программист 1С v8.3 (Управляемые формы) 1С:Управление нашей фирмой Управленческий учет Торговля и дистрибуция
← На главную

Интеграция с облачными кассами (такими как Атол Онлайн) — стандартная задача для современного бизнеса, особенно в сфере электронной коммерции и оптовой торговли. Однако часто возникает ситуация, когда технически чек пробит (виден в ОФД, покупатель получил SMS/Email), но в 1С документ остается в подвешенном состоянии. В документе оплаты не заполняется номер чека, а статус операции остается "Фискализируется".

Рассмотрим подробно, почему это происходит, какие механизмы 1С отвечают за получение обратной связи от кассы и как настроить систему, чтобы статусы обновлялись корректно.

Суть проблемы: асинхронный обмен

Важно понимать, что работа с облачной кассой отличается от работы с фискальным регистратором, подключенным по USB. Обмен данными происходит асинхронно:

  1. 1С формирует запрос на фискализацию и отправляет его в облачный сервис.
  2. Сервис (Атол Онлайн) ставит чек в очередь.
  3. 1С получает ответ "Принято в обработку" и устанавливает статус операции "Фискализируется".
  4. Касса пробивает чек.
  5. Самый важный этап: информация об успешном пробитии (фискальный признак, номер чека, дата) должна вернуться в 1С.

Если последний этап не срабатывает, 1С "думает", что чек все еще обрабатывается, хотя по факту он уже готов.

Диагностика состояния через регистры сведений

Прежде чем менять настройки, давайте проанализируем текущее состояние системы. В 1С:УНФ (и других конфигурациях на управляемых формах) есть служебные регистры, хранящие историю обмена.

Нам необходимо проверить записи в регистре сведений Данные операций облачных касс и Очередь чеков ККТ.

Если вы видите следующую картину:

Это означает, что 1С успешно отправила чек, но не получила финальный ответ.

Настройка регламентных заданий

Для автоматического получения статусов в системе должно работать специальное фоновое задание. Если оно отключено или настроено некорректно, статусы обновляться не будут.

Перейдем в раздел Администрирование — Обслуживание — Регламентные и фоновые задания. Нас интересует задание:

Загрузка статусов операций Облачных касс

Убедитесь, что:

  1. Задание включено (стоит галочка "Включено").
  2. В расписании установлен достаточно частый интервал (например, "каждые 60 секунд" или "каждые 2 минуты"). Если интервал слишком большой, операторы будут долго ждать подтверждения.
  3. В колонке "Состояние" нет ошибок выполнения.

Это регламентное задание инициирует опрос сервиса облачной кассы: "Готов ли чек с таким-то идентификатором?".

Роль Системы взаимодействия (Сервер 1С:Диалог)

Это критически важный момент, о котором часто забывают. Обмен с Атол Онлайн может работать по двум сценариям:

  1. Опрос (Polling): 1С сама постоянно спрашивает сервис "Готово?".
  2. Обратный вызов (Callback): Сервис сам стучится в 1С, когда чек готов.

Для корректной и быстрой работы, особенно если ваша база 1С файловая или работает в клиент-серверном варианте, но не опубликована на веб-сервере с внешним статическим IP-адресом, облачная касса технически не может "постучаться" к вам напрямую.

В этом случае 1С использует Систему взаимодействия (сервер 1С:Диалог) как промежуточный туннель для передачи данных.

Что нужно сделать:

  1. Перейдите в раздел Администрирование — Интернет-поддержка и сервисы.
  2. Найдите пункт Обсуждения (Система взаимодействия).
  3. Нажмите кнопку Подключить.

После подключения системы взаимодействия механизм обмена с облачной кассой сможет использовать этот канал для получения ответов от сервиса Атол, даже если ваша база находится за NAT или брандмауэром.

Проверка драйверов и совместимости

Если регламентное задание работает и система взаимодействия подключена, но проблема сохраняется, давайте разберем вопрос версий драйверов.

Облачные сервисы периодически обновляют свои API (программные интерфейсы). Если в 1С используется устаревшая версия компоненты, запрос на пробитие может проходить (так как формат отправки часто совместим), а вот разбор ответа (парсинг JSON) может падать с ошибкой, которую не видно в пользовательском интерфейсе.

Рекомендуем выполнить следующие действия:

  1. Откройте раздел Подключаемое оборудование.
  2. Перейдите в драйверы оборудования.
  3. Проверьте версию драйвера "Атол:ККТ с передачей данных".
  4. Обновите драйвер до последней доступной версии, сертифицированной 1С.

Анализ Журнала регистрации

Если ничего из вышеперечисленного не помогло, необходимо обратиться к Журналу регистрации. Часто ошибка скрыта именно там, так как фоновые задания не выводят сообщения на экран пользователя.

Отфильтруйте журнал по следующим критериям:

Вы можете увидеть ошибки вида:

Ручное "подталкивание" зависших чеков

Иногда бывает ситуация, когда чек завис из-за временного сбоя, и регламентное задание перестало его обрабатывать из-за превышения количества попыток.

В регистре Очередь чеков ККТ есть ресурс, отвечающий за количество попыток отправки/получения статуса. Если лимит исчерпан, 1С может игнорировать запись. В некоторых версиях конфигураций в рабочем месте "Чеки ККМ" или "Управление фискальными операциями" есть кнопка "Обновить статус" или "Проверить статус" для ручного запуска проверки по конкретному документу. Используйте её для единичных зависших операций.

Резюме по решению

Для того чтобы 1С "узнавала" о пробитых чеках, выполните чек-лист:

  1. Включите регламентное задание Загрузка статусов операций Облачных касс и настройте частое расписание.
  2. Обязательно подключите Систему взаимодействия (Сервер взаимодействия), если у вас нет прямой веб-публикации базы.
  3. Обновите драйвер ККТ до актуального.
  4. Если проблема не уходит — анализируйте текст ошибки в Журнале регистрации.
← На главную