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