Разница между данными в учетной системе 1С и фактическими показателями фискального регистратора (ККТ) — одна из самых распространенных и неприятных проблем в розничной торговле. Ситуация, когда сумма в «Отчете о розничных продажах» больше или меньше суммы в Z-отчете (отчете о закрытии смены), сигнализирует о техническом сбое или некорректных действиях персонала. В рамках данной статьи мы подробно разберем, почему возникают такие «дырки», как их найти и какие настройки изменить, чтобы минимизировать риск повторения ситуации.
Одной из наиболее частых причин расхождений является некорректный обмен данными между 1С и драйвером фискального регистратора. Рассмотрим типичный сценарий: 1С отправляет команду на печать чека, но из-за высокой нагрузки на аппарат или медленного интерфейса (например, при использовании старых моделей «Штрих-М» или «Атол») ответ от кассы задерживается. Если время ожидания (таймаут) в настройках драйвера слишком мало, 1С считает операцию неудачной, хотя касса может успеть пробить чек в фискальную память.
Решение: Увеличьте параметр «Таймаут» в настройках драйвера ККТ. Проанализируем, как это сделать:
Также важно обратить внимание на состояние «буфера» чека. Иногда чек выходит на бумаге, но драйвер возвращает ошибку «Ошибка отрезчика» или «Конец бумаги». В этом случае в ККТ транзакция завершена, а в 1С документ ЧекККМ остается в статусе «Ошибка» или вовсе не проводится.
Разберем ситуацию, когда 1С:Розница проводит документ продажи даже при физическом отсутствии связи с кассой. Такое часто случается, если кассир при возникновении ошибки выбирает вариант «Провести без печати». В итоге в системе создается полноценный ОтчетОРозничныхПродажах, но выручка в фискальном накопителе (ФН) не фиксируется.
Проблема округления: При продаже весового товара (например, 0.123 кг) 1С рассчитывает сумму исходя из цены за единицу и общего веса в строке отчета. Если в течение смены один и тот же весовой товар пробивался разными чеками, то при сворачивании чеков в итоговый отчет может возникнуть разница в 1–2 копейки из-за правил округления в 1С и внутренней логики ККТ. Фискальные регистраторы часто распределяют скидку по позициям самостоятельно, что также дает погрешность.
Для исправления подобных ситуаций в коде обработки закрытия смены можно добавить дополнительную проверку статуса фискализации документа:
// Пример проверки фискального номера перед включением чека в отчет
Если СокрЛП(ТекущийЧек.НомерЧекаККМ) = "" Тогда
Сообщить("Внимание! Чек № " + ТекущийЧек.Номер + " не имеет фискального номера!");
// Логика обработки нефискализированного чека
КонецЕсли;
Проанализируем влияние административных факторов. Опытным путем выяснено, что «отложенные чеки» в некоторых релизах 1С:Розница 1.0 могли ошибочно попадать в файл выгрузки или учитываться при формировании сводного отчета, если механизм закрытия смены был доработан некорректно. Еще одна причина — возвраты. Если кассир оформил возврат в 1С, но не пробил «Чек возврата прихода» на кассе (или наоборот), итоговая выручка в Z-отчете (который вычитает возвраты) не совпадет с суммой продаж в 1С.
Выясним, как проверить это через интерфейс кассира:
ЧекККМ в 1С.Если визуальная сверка не помогает, перейдем к более глубокому анализу. Самый надежный способ — сравнить электронный журнал (контрольную ленту) из памяти ККТ с реестром документов в 1С.
Как получить данные из ККТ:
Анализ логов драйвера:
Драйверы ККТ записывают каждое действие в текстовый файл (лог). Проанализируем этот файл, чтобы найти момент сбоя. Обычно логи находятся по пути C:\ProgramData\Shtrih-M\ или в папке с установленным драйвером Атол. Ищите строки с текстом Error или 00000000 (код успешного выполнения). Если вы видите команду CloseCheck, после которой идет ошибка связи, значит, чек в кассе закрыт, а 1С об этом не узнала.
Чтобы избежать подобных проблем в будущем, рассмотрим внедрение следующих мер:
GetStatus или ЗапросСостояния), получает итоговую сумму выручки из памяти аппарата и сравнивает её с суммой непроведенных чеков в базе.Помните, что Z-отчет — это финансовый документ строгой отчетности. Любые расхождения должны фиксироваться объяснительными записками кассиров и корректироваться чеками коррекции согласно требованиям 54-ФЗ. Регулярная очистка журнала регистрации 1С и проверка целостности информационной базы также помогут избежать «фантомных» ошибок при проведении итоговых документов за смену.