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