Почему не получается сделать выемку денег из кассы ККМ в 1С:Управление торговлей?

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

При работе с торговым оборудованием в рабочем месте кассира (РМК) конфигурации 1С:Управление торговлей 11 нередко возникает ситуация: смена открыта, чек пробит, в интерфейсе и по регистру накопления ДенежныеСредстваВКассахККМ остаток числится, однако при попытке выполнить операцию «Выемка денег» программа выдает ошибку о том, что денег в кассе нет. Разберем по шагам, почему возникает эта ошибка и как восстановить корректную работу кассового узла.

1. Рассинхронизация наличности между 1С и фискальным регистратором

Проанализируем механику выполнения кассовых операций в 1С. При выполнении команды выемки программа отправляет вызов к драйверу фискального регистратора (ККТ). Встроенное программное обеспечение кассы ведет собственный счетчик наличных средств во внутренней фискальной памяти. Если в базе 1С сумма числится, а во внутренней памяти кассы счетчик равен нулю, драйвер возвращает ошибку нехватки наличности (код ошибки 46h или аналогичный), которую 1С транслирует кассиру как сообщение «Денег нет».

Такое расхождение чаще всего происходит в следующих случаях:

  1. Чек был пробит безналичным расчетом: если продажа оформлена по банковской карте (эквайринг) или электронным платежом, выручка фиксируется в общих оборотах смены, но фактический остаток наличных в ККТ остается нулевым. Выемка наличных в этом случае невозможна.
  2. Включена автоинкассация в ККТ: в таблицах настроек фискального накопителя/драйвера (например, АТОЛ или Штрих-М) может быть активен флаг автоматического обнуления наличности при закрытии смены. В этом случае касса сбрасывает счетчик в 0, а в 1С остаток переходит на следующую смену.

Чтобы выяснить точную сумму в памяти устройства, снимем X-отчет (отчет без гашения). Это сервисный отчет, который печатается прямо на кассовой ленте и отображает текущее состояние счетчиков без закрытия смены. В нем необходимо проверить строку «Наличных в кассе».

2. Ошибка связи с торговым оборудованием

Если драйвер кассы выдает статус «нет связи», любая операция опроса счетчиков или регистрации движения денежных средств блокируется платформой на этапе отправки команды. Проверим параметры подключения:

  1. Откроем раздел НСИ и администрирование → РМК и оборудование → Подключаемое оборудование.
  2. Найдем фискальный регистратор и нажмем кнопку Настроить.
  3. Выполним Тест устройства. Если связь отсутствует, необходимо проверить занятость COM-порта другой программой (например, открытой утилитой производителя), корректность скорости обмена (BaudRate) и физическое подключение кабеля.

3. Некорректное отображение данных в отчете «Денежные средства в кассах ККМ»

Рассмотрим причину, по которой типовой отчет выводит строки документов-регистраторов, но оставляет пустыми колонки начальных, конечных остатков и оборотов:

  1. Отсутствие курсов валют: в новой информационной базе отчеты финансового блока пересчитывают показатели в валюту управленческого или регламентированного учета. Если в справочнике Валюты не загружены курсы на дату проведения чека, числовые ресурсы отчета не рассчитываются.
  2. Неактуальные итоги регистров: в пустой базе после первых движений требуется выполнить пересчет итогов через раздел Администрирование → Обслуживание → Управление итогами и агрегатами.
  3. Несовпадение времени проведения: если системное время компьютера отстает от времени фискального регистратора, чек может быть проведен будущей минутой относительно оперативной отметки времени отчета.

4. Миф о невозможности отладки в базовой версии

В базовых версиях конфигураций 1С действительно заблокировано изменение структуры метаданных и снятие с поддержки. Однако исходный код модулей полностью открыт для чтения и отладки.

Включить режим отладки можно следующими способами:

  1. Запустить информационную базу непосредственно из конфигуратора, нажав клавишу F5 или выбрав пункт меню Отладка → Начать отладку.
  2. Добавить в окне запуска 1С в параметрах информационной базы ключ запуска /debug.

После этого можно устанавливать точки останова в модулях форм РМК или обработчиках торгового оборудования для детального анализа алгоритма проверки остатков.

5. Порядок действий для устранения проблемы

Разберем последовательность шагов для выравнивания остатков и проведения выемки:

  1. Восстановим связь с кассой: закроем все сторонние утилиты и проверим тест подключения в 1С.
  2. Проверим фактический остаток в ККТ: через утилиту «Тест драйвера ККТ» или через меню сервисных операций 1С снимем X-отчет.
  3. Выровняем счетчик наличных: если в 1С числится сумма, а в ККТ остаток равен нулю, откроем «Тест драйвера ККТ», перейдем в раздел регистрации и выполним сервисную операцию «Внесение» на недостающую сумму. После этого повторим выемку в РМК 1С — операция пройдет штатно.
  4. Альтернативный программный способ: если физическую выемку на ККТ делать не требуется, в справочнике Кассы ККМ можно временно переключить тип кассы на «Автономная ККМ», провести документ выемки в учетной системе для закрытия кассовой смены и вернуть настройку оборудования обратно.
← На главную