Как настроить лимит наличных в кассе ККМ при закрытии смены в 1С?

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

При ведении розничной торговли часто возникает ситуация, когда на торговой точке необходимо оставлять определенную сумму наличных средств (неснижаемый остаток или разменный фонд) на следующий рабочий день. Это требуется для выдачи сдачи первым покупателям и проведения операций возврата денежных средств с самого утра. Однако при штатном закрытии смены кассовый аппарат может автоматически обнулять регистр наличности (проводить полную инкассацию), а учетная система 1С — списывать все деньги в ноль. Разберем, как устроены эти механизмы и как правильно настроить сохранение лимита наличных.

Настройка параметров автообнуления в драйверах ККТ

Проанализируем причину, по которой кассовый аппарат закрывает смену в ноль. В большинстве фискальных регистраторов по умолчанию включена опция автоматической инкассации при снятии Z-отчета (отчета с гашением). В таком случае само устройство при закрытии смены сбрасывает счетчик наличности.

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

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

После отключения этого флага кассовый аппарат перестанет обнулять денежные счетчики при снятии Z-отчета, и фактический остаток перейдет на следующее утро внутри фискального регистратора.

Взаимодействие счетчиков ККТ и регистров учета 1С

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

Это может привести к блокировке работы: если первый утренний покупатель потребует возврат денег, 1С проверит остаток по регистру ДенежныеСредстваККМ, увидит ноль и не позволит пробить чек возврата, либо драйвер заблокирует операцию из-за несовпадения сумм.

Доработка алгоритма закрытия смены с контролем лимита (на базе УТ 10.3)

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

Разберем по шагам, как реализовать этот механизм:

  1. Добавим реквизит ЛимитОстатка в справочник КассыККМ (или создадим отдельный регистр сведений для хранения лимитов).
  2. В обработке или модуле документа закрытия кассовой смены перед вызовом процедуры фискализации Z-отчета рассчитаем сумму к инкассации.
  3. Выполним частичную выемку средств в драйвере ККТ только на сумму превышения установленного лимита.
  4. Сформируем документы передачи денег в операционную кассу (ПКО) только на фактически изъятую сумму.

Посмотрим на пример логики расчета суммы выемки в коде 1С:


// Получаем текущий остаток по кассе ККМ и установленный лимит
ТекущийОстаток = ПолучитьОстатокПоКассеККМ(КассаККМ);
ЛимитКассы = КассаККМ.ЛимитОстатка;

Если ТекущийОстаток > ЛимитКассы Тогда
    СуммаВыемки = ТекущийОстаток - ЛимитКассы;
Иначе
    СуммаВыемки = 0;
КонецЕсли;

Если СуммаВыемки > 0 Тогда
    // Выполняем команду инкассации на рассчитанную сумму через драйвер ККТ
    РезультатВыемки = ВыполнитьВыемкуККТ(КассаККМ, СуммаВыемки);
    Если РезультатВыемки Тогда
        // Формируем учетный документ выемки / ПКО на сумму СуммаВыемки
        СоздатьДокументПередачиВКассу(КассаККМ, СуммаВыемки);
    КонецЕсли;
КонецЕсли;

Альтернативные организационные сценарии

Если доработка конфигурации нежелательна, выясним, какими штатными сценариями можно организовать работу кассиров:

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