Архивация чеков ККМ в 1С: как убрать старые документы и ускорить базу

· 9 мин

Содержание

Архивировать чек в 1С — это убрать из активной базы закрытые чеки ККМ, которые уже свёрнуты в отчёт о розничных продажах и больше не нужны для оперативной работы. Делается это двумя штатными инструментами: настройкой срока хранения чеков (программа сама помечает старые на удаление) и обработкой Администрирование → Обслуживание → Удаление помеченных объектов. Если базу нужно радикально облегчить за прошлые годы — применяют свёртку: Администрирование → Обслуживание → Свёртка информационной базы.

Разберём порядок для конфигураций на платформе 8.3 — 1С:Розница и 1С:Управление торговлей 11, где розничные чеки формируются через рабочее место кассира. Перед любой из операций нужна резервная копия: удалённые чеки из рабочей базы не восстанавливаются, вернуть их можно только из копии.

Что такое архивный чек и почему база растёт

Каждая продажа через ККМ порождает документ Чек ККМ. Сам по себе он не делает бухгалтерских движений — выручку в учёт заводит Отчёт о розничных продажах, который формируется при закрытии кассовой смены и обобщает все чеки смены.

После закрытия смены чеки своё дело сделали: фискальные данные ушли оператору фискальных данных (ОФД), выручка отражена отчётом. Такие чеки считаются архивными — они нужны только как справка «что именно пробили в этой смене».

Увидеть накопленные чеки можно в журнале чеков ККМ в разделе продаж — по каждой смене там лежат все пробитые документы. За год активной розницы таких документов набегает десятки и сотни тысяч. Они раздувают таблицы базы, тормозят проведение документов, закрытие месяца , резервное копирование и обновление конфигурации . Поэтому архивные чеки периодически чистят — это нормальная регламентная процедура, а не потеря данных.

Проверить, сколько места занимают чеки, можно через Администрирование → Обслуживание → Корректировка данных или стандартный отчёт по объёму таблиц в технологическом журнале. Но чаще достаточно просто видеть, что база за пару лет выросла до десятков гигабайт.

Подготовка: закройте смены и сделайте копию

Прежде чем что-то удалять, приведите базу в завершённое состояние.

  1. Закройте все открытые кассовые смены на всех рабочих местах. Чек из незакрытой смены — не архивный, трогать его нельзя.
  2. Убедитесь, что по чистимому периоду сданы все отчёты: кассовая, бухгалтерская, по НДС и по прослеживаемости. После удаления чеков пересобрать первичную расшифровку будет не из чего.
  3. Выгоните пользователей из базы и запретите вход на время работ — очистка больших объёмов конфликтует с активными сеансами.
  4. Сделайте резервную копию: Администрирование → Обслуживание → Резервное копирование и восстановление → Создать резервную копию. Для файловой базы допустимо скопировать файл 1Cv8.1CD при выключенной базе; для серверной — выгрузить в .dt или сделать средствами СУБД.

Резервная копия — не формальность. Свёртка и удаление необратимы внутри рабочей базы. Если после очистки обнаружится, что данные ещё нужны, единственный путь назад — развернуть копию отдельной базой и достать нужное оттуда.

Какой способ убрать чеки выбрать?

Настройка срока хранения чеков ККМ

Чтобы программа сама помечала старые чеки на удаление, задаётся срок их хранения. Параметр находится в настройках, относящихся к розничным продажам и кассам ККМ — в 1С:Рознице это раздел настроек продаж, в УТ 11 — настройки раздела «Продажи» в части розницы.

Логика простая: вы указываете, сколько дней после закрытия смены хранить закрытые чеки. По истечении срока документы автоматически помечаются на удаление (или удаляются регламентным заданием — см. ниже). Разумный срок — от 90 дней до года, в зависимости от того, как часто вы обращаетесь к расшифровке продаж.

Если точного пункта на форме настроек не видно, воспользуйтесь строкой поиска в самой форме настроек (поле поиска по странице настроек) и наберите «чек» — программа подсветит нужный параметр. Название пункта между релизами может немного отличаться.

Как выбрать срок. Отталкивайтесь от того, как часто вам нужна детализация до конкретного чека:

  • Возвраты и обмены в вашей рознице оформляют в пределах нескольких недель — хватит 90 дней.
  • Бывают поздние претензии покупателей или сверки с эквайрингом за квартал — ставьте 180 дней.
  • Хотите перестраховаться на весь налоговый период — год.

Больше года держать закрытые чеки в оперативной базе смысла обычно нет: расшифровка продаж остаётся в отчётах о розничных продажах, а фискальные данные — у ОФД и доступны в его личном кабинете. Пока срок хранения не настроен, чеки копятся бессрочно — это и есть самая частая причина раздувшейся розничной базы.

Свёртка базы: убрать историю за прошлые годы

Настройка хранения убирает чеки, но не трогает отчёты о продажах, движения по складу и регистрам. Если нужно радикально сжать базу за закрытые периоды, применяют свёртку.

Обработка Администрирование → Обслуживание → Свёртка информационной базы работает так:

  1. Вы выбираете дату свёртки — всё, что раньше неё, будет свёрнуто.
  2. Программа формирует документы ввода остатков на эту дату: товарные остатки, взаиморасчёты, денежные средства переносятся сальдо.
  3. Документы до даты свёртки (в том числе чеки ККМ и отчёты о розничных продажах) помечаются на удаление.
  4. Обработка сама предлагает сделать резервную копию перед стартом — не отказывайтесь.

После свёртки база «помнит» только остатки на дату и обороты после неё. Это самый мощный способ очистки, но и самый ответственный: детализация за свёрнутый период пропадает.

Свёртку делают, когда периоды закрыты окончательно и проверять там больше нечего. Налоговая вправе запросить документы за прошлые годы — храните выгруженную копию базы отдельно, а не полагайтесь на то, что всё осталось в рабочей.

Удаление помеченных чеков

Пометка на удаление — это ещё не удаление. Помеченные чеки лежат в базе и место не освобождают, пока их физически не удалят.

Запустите Администрирование → Обслуживание → Удаление помеченных объектов. Дальше два режима:

  • Автоматическое — программа сама найдёт все помеченные объекты и проверит, нет ли на них ссылок.
  • Выборочное — вы отбираете, что именно удалять (удобно, чтобы снести именно чеки, не трогая прочее).

Перед удалением выполняется контроль ссылочной целостности. Если на чек ссылается другой документ (например, возврат от покупателя по этому чеку), программа не даст его удалить и покажет, что мешает. Это защита от битых ссылок — снимать пометку с «мешающих» объектов вручную без понимания последствий не стоит.

Удаление больших объёмов — ресурсоёмкая операция. Запускайте её в нерабочее время и при отсутствии пользователей в базе: иначе сеансы будут конфликтовать за блокировки, а операция затянется.

Важный нюанс, из-за которого «очистил, а база не похудела»: удаление чеков освобождает место внутри таблиц, но физический размер файла базы сразу не уменьшается. Чтобы вернуть место на диске:

  • Файловая база. Выполните Администрирование → Обслуживание → Тестирование и исправление информационной базы с включённым сжатием таблиц (в режиме Конфигуратора, при закрытых пользовательских сеансах). Для сильно разросшейся файловой базы используют утилиту chdbfl.exe из каталога платформы.
  • Серверная база (MS SQL / PostgreSQL). Реальное сжатие делает обслуживание СУБД: переиндексация таблиц и сжатие (shrink) базы данных средствами сервера. Планируйте его на регламентное обслуживание вместе с обновлением статистики.

Без этого шага чеки удалены, ссылки чистые, но размер файла на диске тот же — поэтому обслуживание СУБД считают обязательной частью очистки, а не отдельной прихотью администратора.

Маркированные товары: что с кодами при удалении чеков

Отдельный вопрос — чеки с товарами, подлежащими обязательной маркировке (табак, обувь, молочная продукция и прочее в системе «Честный знак», ГИС МТ).

Здесь важно понимать разделение данных. Вывод кода маркировки из оборота при розничной продаже происходит в момент пробития чека: касса (через ОФД) передаёт сведения оператору ГИС МТ. Эти данные хранятся не в вашей базе 1С, а на стороне «Честного знака». Поэтому удаление архивного чека из базы 1С не отменяет и не искажает уже переданный вывод из оборота — код остаётся выведенным.

Что проверить перед чисткой чеков с маркировкой:

  • Все смены с маркированными продажами закрыты, а данные переданы в ГИС МТ без ошибок (нет «зависших» непереданных кодов).
  • Нет незавершённых возвратов маркированного товара по удаляемым чекам — возврат вводит код обратно в оборот и ссылается на исходный чек.

Если по чеку был некорректно передан код и его ещё предстоит разбирать с ОФД или в личном кабинете «Честного знака» — такой чек до разбирательства не удаляйте.

Автоматическая очистка: регламентные задания

Чтобы не чистить чеки руками каждый квартал, очистку ставят на расписание.

  1. Откройте Администрирование → Обслуживание → Регламентные и фоновые задания.
  2. Найдите задание, отвечающее за удаление устаревших чеков ККМ (в розничных конфигурациях оно есть в списке заданий, связанных с чеками).
  3. Включите его и задайте расписание — например, раз в сутки ночью или раз в неделю.

Связка работает так: срок хранения помечает старые чеки, а регламентное задание их удаляет по расписанию. Отдельно имеет смысл оставить включённым и штатное удаление помеченных объектов, если оно вынесено в задания.

В клиент-серверной базе регламентные задания выполняет сервер 1С и работают они, даже когда в базе нет пользователей. В файловой базе задания отрабатывают только пока открыт хотя бы один сеанс — для файлового варианта надёжнее держать очистку на ручном запуске по расписанию администратора.

Частые ошибки при архивации чеков

  • Удаляют до сдачи отчётности. Сначала закрытый период и сданные отчёты, только потом чистка. Иначе расшифровку выручки будет не из чего собрать.
  • Путают пометку и удаление. Пометили тысячи чеков и удивляются, что база не похудела. Место освобождает только «Удаление помеченных объектов», а в серверной базе ещё и обслуживание СУБД (реиндексация, сжатие).
  • Чистят при живых пользователях. Открытые сеансы и незакрытые смены блокируют операцию и дают ошибки. Всех выгнать, смены закрыть.
  • Нет копии. Самая дорогая ошибка. Без резервной копии вернуть удалённое нельзя.
  • Сворачивают не ту дату. Дата свёртки раньше, чем закрыт период, — и часть оперативных данных уходит в остатки преждевременно. Сверяйте дату с календарём закрытия периодов.

Частые вопросы

Можно ли вернуть удалённый чек обратно в базу?
В самой рабочей базе — нет, удаление необратимо. Восстановить можно только из резервной копии: развернуть её как отдельную базу и посмотреть нужные данные там. Поэтому копия перед чисткой обязательна.
Повлияет ли удаление чеков на выручку и отчётность?
Нет, если период закрыт корректно. Выручку в учёте отражает отчёт о розничных продажах, а не сами чеки. При свёртке базы отчёты за свёрнутый период тоже уходят в остатки — вот почему свёртку делают только по закрытым и проверенным периодам.
Исчезнут ли коды маркировки, если удалить старые чеки?
Нет. Вывод кода из оборота фиксируется в ГИС МТ «Честный знак» в момент продажи, эти сведения хранятся на стороне оператора, а не в базе 1С. Удаление архивного чека на уже переданный вывод из оборота не влияет.
Чем свёртка отличается от удаления помеченных объектов?
Удаление помеченных убирает отдельные документы (например, старые чеки), оставляя остальную историю. Свёртка заменяет всю историю до выбранной даты вводом остатков — это очистка целого периода, а не отдельных документов.
Как часто нужно чистить чеки?
Зависит от оборота. Для активной розницы разумно настроить срок хранения (90–365 дней) и регламентное задание, тогда вмешиваться вручную почти не придётся. Свёртку делают реже — раз в год-два, по закрытым периодам.