При ведении розничной торговли часто возникает ситуация, когда на торговой точке необходимо оставлять определенную сумму наличных средств (неснижаемый остаток или разменный фонд) на следующий рабочий день. Это требуется для выдачи сдачи первым покупателям и проведения операций возврата денежных средств с самого утра. Однако при штатном закрытии смены кассовый аппарат может автоматически обнулять регистр наличности (проводить полную инкассацию), а учетная система 1С — списывать все деньги в ноль. Разберем, как устроены эти механизмы и как правильно настроить сохранение лимита наличных.
Проанализируем причину, по которой кассовый аппарат закрывает смену в ноль. В большинстве фискальных регистраторов по умолчанию включена опция автоматической инкассации при снятии Z-отчета (отчета с гашением). В таком случае само устройство при закрытии смены сбрасывает счетчик наличности.
Чтобы отключить автоматическое обнуление на уровне кассового аппарата, выполним следующие настройки в зависимости от производителя оборудования:
1, аппарат автоматически выполняет выемку. Для отключения установим значение 0 и сохраним изменения.После отключения этого флага кассовый аппарат перестанет обнулять денежные счетчики при снятии Z-отчета, и фактический остаток перейдет на следующее утро внутри фискального регистратора.
Рассмотрим важный нюанс: отключение автообнуления только в драйвере решает задачу лишь частично. В учетной системе 1С движение денежных средств фиксируется в специализированных регистрах (например, в регистре накопления ДенежныеСредстваККМ). Если кассовый аппарат оставляет остаток в физическом счетчике, а документ 1С «Закрытие кассовой смены» формирует приходный кассовый ордер на всю выручку торговой точки, возникнет рассинхронизация: по данным 1С в кассе ККМ будет 0 рублей, а в фискальном накопителе останутся деньги.
Это может привести к блокировке работы: если первый утренний покупатель потребует возврат денег, 1С проверит остаток по регистру ДенежныеСредстваККМ, увидит ноль и не позволит пробить чек возврата, либо драйвер заблокирует операцию из-за несовпадения сумм.
В типовых решениях предыдущих поколений (таких как «1С:Управление торговлей 10.3») штатный механизм фиксации неснижаемого остатка отсутствует. Если перед нами стоит задача оставлять индивидуальный лимит по каждой торговой точке, потребуется программная доработка алгоритма закрытия смены.
Разберем по шагам, как реализовать этот механизм:
ЛимитОстатка в справочник КассыККМ (или создадим отдельный регистр сведений для хранения лимитов).Посмотрим на пример логики расчета суммы выемки в коде 1С:
// Получаем текущий остаток по кассе ККМ и установленный лимит
ТекущийОстаток = ПолучитьОстатокПоКассеККМ(КассаККМ);
ЛимитКассы = КассаККМ.ЛимитОстатка;
Если ТекущийОстаток > ЛимитКассы Тогда
СуммаВыемки = ТекущийОстаток - ЛимитКассы;
Иначе
СуммаВыемки = 0;
КонецЕсли;
Если СуммаВыемки > 0 Тогда
// Выполняем команду инкассации на рассчитанную сумму через драйвер ККТ
РезультатВыемки = ВыполнитьВыемкуККТ(КассаККМ, СуммаВыемки);
Если РезультатВыемки Тогда
// Формируем учетный документ выемки / ПКО на сумму СуммаВыемки
СоздатьДокументПередачиВКассу(КассаККМ, СуммаВыемки);
КонецЕсли;
КонецЕсли;
Если доработка конфигурации нежелательна, выясним, какими штатными сценариями можно организовать работу кассиров: