При интеграции кассовых аппаратов (в частности, устройств от компании «Штрих-М» через библиотеку drvfr.dll или компоненты 1С) разработчики часто сталкиваются с похожими по смыслу командами завершения смены: ЗакрытьСмену() и СнятьОтчетСГашением(). Кроме того, нередко возникают вопросы о правильном оформлении возвратов товаров и сопоставлении кассовых документов с первичными документами бухгалтерского учета. Разберем эти механизмы подробно.
Рассмотрим, откуда появились эти два метода и какую функциональность они несут:
СнятьОтчетСГашением (PrintReportWithCleaning): Это исторический (legacy) метод прямого API драйвера кассы, появившийся еще во времена кассовых аппаратов с ЭКЛЗ (до вступления в силу 54-ФЗ). Данная команда инициирует формирование классического суточного Z-отчета: обнуляет регистры суточной выручки в фискальной памяти устройства и распечатывает бумажный отчет с гашением.ЗакрытьСмену (CloseShift): Это современный стандартизированный метод, определенный требованиями стандарта «1С:Совместимо» и Библиотеки подключаемого оборудования (БПО) для онлайн-ККТ. При его вызове формируется фискальный документ «Отчет о закрытии смены» (тег 1038), данные которого автоматически отправляются Оператору фискальных данных (ОФД).Посмотрим на ключевое отличие в поведении онлайн-касс: вызов ЗакрытьСмену() выполняет все регламентные процедуры фискализации закрытия смены. Печать же самого бумажного отчета с гашением в современных устройствах является опциональной — в настройках таблиц ККТ печать бумажного Z-отчета можно отключить для экономии чековой ленты, при этом смена будет корректно закрыта и передана в ОФД.
Выясним причину, почему рекомендуется использовать именно ЗакрытьСмену(): метод СнятьОтчетСГашением() поддерживается драйверами для обратной совместимости со старыми конфигурациями, однако в типовых решениях 1С на базе БПО все механизмы ориентированы на работу через ЗакрытьСмену().
Проанализируем важное законодательное требование 54-ФЗ: продолжительность открытой смены на ККТ не должна превышать 24 часа. Если с момента открытия смены (пробития первого чека или отчета об открытии смены) прошло более суток, кассовый аппарат блокирует регистрацию новых фискальных документов до тех пор, пока не будет выполнена команда закрытия смены.
Пример вызова закрытия смены через интерфейс БПО в коде 1С:
// Пример закрытия смены через Библиотеку подключаемого оборудования
ПараметрыОперации = Новый Массив;
Результат = МенеджерОборудованияКлиент.ВыполнитьКоманду(
ИдентификаторККТ,
"CloseShift",
ПараметрыОперации
);
Если Не Результат Тогда
ВызватьИсключение "Ошибка при закрытии смены на ККТ";
КонецЕсли;
Разберем частый вопрос: как правильно оформлять возврат, если покупатель возвращает не все позиции из чека, а только часть?
Возврат прихода, содержащий только фактически возвращаемый товар, его количество, цену и итоговую сумму к возврату.Рассмотрим порядок оформления кассовых операций при расчетах с юридическими лицами и индивидуальными предпринимателями наличными или с предъявлением электронных средств платежа:
Приходного кассового ордера (ПКО). Чек фиксирует расчет по требованиям 54-ФЗ, а ПКО фиксирует оприходование наличных средств в главную кассу предприятия по правилам кассовой дисциплины ЦБ РФ.Возврат прихода с обязательным указанием наименования и ИНН организации-покупателя, составляется Расходный кассовый ордер (РКО) на выдачу наличных, а также оформляется корректировочный счет-фактура (или УКД) в рамках учета НДС.