При работе в программе 1С:Управление нашей фирмой (УНФ) пользователи часто сталкиваются с необходимостью оптимизации базы данных и ускорения формирования отчетов. Одним из ключевых инструментов здесь является константа Архивировать чеки при закрытии кассовой смены. На первый взгляд может показаться, что это просто техническая деталь, однако она фундаментально меняет логику хранения данных и формирования финансового результата в розничной торговле. Давайте подробно разберем, как работает этот механизм, на что он влияет и в каких случаях его стоит активировать.
Для начала проанализируем, как 1С:УНФ обрабатывает данные о продажах. Когда кассир пробивает Чек ККМ, этот документ делает записи (движения) в различных регистрах накопления, таких как Продажи, Запасы, Денежные средства. Эти движения позволяют видеть актуальные остатки и выручку в режиме реального времени.
Однако при закрытии смены формируется сводный документ — Отчет о розничных продажах (ОРП). Здесь и кроется главный технический нюанс:
Чек ККМ продолжают хранить свои движения в регистрах даже после закрытия смены. При этом Отчет о розничных продажах также делает движения. Чтобы избежать дублирования данных, система использует сложные механизмы исключения, но база данных начинает «раздуваться» из-за огромного количества записей в таблицах итогов.Чек ККМ очищает свои движения по всем регистрам. Теперь за все данные по складу, выручке и взаиморасчетам отвечает исключительно один документ Отчет о розничных продажах.Рассмотрим, к чему это приводит на практике. Замена тысяч мелких движений от чеков на одно сводное движение от ОРП значительно ускоряет работу аналитических отчетов (например, «Валовая прибыль» или «Продажи») за длительные периоды, так как серверу базы данных приходится обрабатывать на порядок меньше строк в таблицах _AccumReg. Число записей и размер регистров до и после архивации можно сопоставить через просмотр размеров объектов 1С. Для оценки таблиц итогов и индексов отдельно загрузите статистику СУБД; сама обработка чеки не архивирует.
Выясним, как архивация влияет на точность управленческого учета. В 1С:УНФ расчет себестоимости в рознице имеет свои особенности. Зачастую Чек ККМ фиксирует только факт выбытия единицы товара, а окончательный расчет финансового результата происходит именно в Отчете о розничных продажах.
Если чеки не архивируются, может возникнуть ситуация, когда в отчетах выручка подтягивается из чеков, а себестоимость (в силу специфики проведения) — из ОРП. Если документы редактировались вручную или были сбои, данные могут «разойтись». Архивация принудительно «схлопывает» данные в один источник — ОРП, что минимизирует риск возникновения ошибок в расчете прибыли.
Нам необходимо обратить особое внимание на ограничение, о котором часто забывают. В 1С:УНФ реализован мощный функционал работы с предоплатами в рознице (заказы покупателей, чеки на аванс). Если ваша бизнес-модель предполагает использование чеков ККМ для приема предоплат, включение автоматической архивации может стать проблемой.
Почему это происходит? Чек на предоплату (первый чек) должен оставаться «живым» документом до момента фактической отгрузки товара и пробития второго чека (на полный расчет). Это нужно для корректного зачета аванса. Если такой чек заархивируется и потеряет свои движения по регистрам взаиморасчетов до того, как будет закрыта сделка, механизм автоматического зачета в рабочем месте кассира (РМК) может отработать некорректно. Именно поэтому при включении опции Использовать предоплату в чеках ККМ программа часто блокирует или ограничивает автоматическую архивацию.
Разберем по шагам жизненный цикл документа при включенной настройке:
Посмотрим на пример логики удаления в коде (схематично):
Процедура ОчиститьСтарыеЧеки()
ДатаОчистки = ТекущаяДата() - (ДнейХранения * 24 * 3600);
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ Ссылка ИЗ Документ.ЧекККМ ГДЕ Статус = 'Архивирован' И Дата < &ДатаОчистки";
// ... дальнейшее удаление объектов
КонецПроцедуры
Проанализируем ситуацию с возвратами товаров. Пользователи часто опасаются, что после архивации возврат станет невозможен. Это не так:
Чек ККМ на возврат. Программа считает данные из архивного документа.Если вы ранее работали с выключенной настройкой и решили её включить, старые чеки сами не заархивируются. Нам нужно выполнить это действие принудительно. Для этого в журнале документов Отчеты о розничных продажах или в форме Кассовые смены предусмотрена кнопка «Заархивировать чеки».
Программа выполнит следующий алгоритм для выбранной смены:
ЧекККМ и установит им соответствующий статус.Подводя итог нашему анализу, сформулируем рекомендации:
1. Включайте архивацию, если у вас большой поток розничных продаж (сотни чеков в день) и вы не используете сложные схемы с предоплатами. Это сохранит базу компактной и быстрой.
2. Оставляйте архивацию выключенной, если вам критически важно иметь детальную историю продаж в виде документов Чек ККМ за несколько лет или если вы активно принимаете авансы от розничных покупателей через РМК.
3. Настраивайте разумный срок удаления. Оптимально хранить чеки в архиве 30–60 дней — этого достаточно для обработки большинства возвратов, после чего данные можно безболезненно удалять, так как вся информация для налоговой и управленческой отчетности уже надежно сохранена в документах Отчет о розничных продажах.