Почему не происходит автоматическая выемка денежных средств при закрытии смены в 1С:Розница и как это исправить?

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

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

Разберем основные причины сбоя автоматической выемки

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

  1. Расхождение сумм из-за округлений (проблема копеек). Это самая частая причина. 1С рассчитывает сумму выемки на основании проведенных чеков в своей базе, а кассовый аппарат — на основании данных в своей фискальной памяти. Из-за разных алгоритмов расчета скидок на позиции чека может возникнуть разница в 1-2 копейки. Если 1С дает команду на выемку 100 руб. 50 коп., а в ККТ по его данным только 100 руб. 49 коп., аппарат вернет ошибку, и документ в программе не сформируется.
  2. Настройки драйвера ККТ. В параметрах таких систем, как АТОЛ или Штрих-М, может быть включена опция «Автоматическое обнуление» (автоинкассация) при снятии Z-отчета. В этом случае касса сама обнуляет остаток при закрытии смены. Когда 1С после печати отчета пытается отправить команду выемки, в кассе уже «ноль», и операция отклоняется.
  3. Непроведенные документы «Отчет о розничных продажах». Если по какой-то причине (например, из-за контроля остатков) основной документ смены не провелся, 1С не видит оснований для выемки денежных средств.
  4. Права доступа. Проверим «Дополнительные права пользователей». Если у кассира не стоит галочка «Разрешить выемку денег», программный код может пропускать этот этап без вывода критического сообщения об ошибке.

Алгоритм решения проблемы через настройку системы

Посмотрим на последовательность действий, которая помогает восстановить штатную работу механизма без привлечения программиста:

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

Как выполнить выемку вручную, если автоматика не сработала?

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

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


// Пример логики для программного создания выемки
ВыемкаОбъект = Документы.ВыемкаДенежныхСредствИзКассыККМ.СоздатьДокумент();
ВыемкаОбъект.Дата = ТекущаяДата();
ВыемкаОбъект.Магазин = НужныйМагазин;
ВыемкаОбъект.КассаККМ = КассаСмены;
ВыемкаОбъект.СуммаДокумента = ОстатокПоКассе; // Определяется по регистру "Денежные средства в кассах ККМ"
ВыемкаОбъект.Записать(РежимЗаписиДокумента.Проведение);

После проведения такого документа остаток в 1С обнулится. Важно понимать, что этот документ должен быть связан с документом КассоваяСмена, чтобы отчетность за день сошлась.

Решение проблемы с округлением копеек

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

Также полезно проверить права доступа кассира. Если мы разрешим операцию «Выемка при закрытии смены» в дополнительных правах, программа будет более настойчиво пытаться завершить транзакцию.

Что делать, если ничего не помогает?

Рассмотрим ситуацию, когда даже после всех настроек выемка не происходит. Проанализируем статус документа КассоваяСмена. Если статус смены в 1С — «Закрыта», а документа выемки нет, попробуем следующий «хак»:

  1. Временно переключим кассовый аппарат в настройках на «Эмулятор».
  2. Попробуем провести закрытие смены еще раз (если программа позволяет) или создать документ выемки вручную в режиме эмулятора. Заметим, что эмулятор игнорирует ошибки оборудования и позволяет создать документ 1С.
  3. После создания документов вернем настройки реального оборудования назад.

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

Подводя итог, скажем: стабильность выемки зависит от синхронизации данных. Регулярно проводите сверку наличности (X-отчет) в течение дня и следите за тем, чтобы ОтчетОРозничныхПродажах формировался без ошибок. Это залог того, что автоматическая выемка будет срабатывать безупречно.

← На главную