Как происходит архивирование и очистка чеков в 1С:Бухгалтерия предприятия 3.0?

Программист 1С v8.3 (Управляемые формы) 1C:Бухгалтерия Бухгалтерский учет Торговля и дистрибуция
← На главную

В процессе ведения розничной торговли в конфигурации 1С:Бухгалтерия предприятия 3.0 (БП 3.0) пользователи часто сталкиваются с вопросом: куда «исчезают» или как «архивируются» чеки после закрытия кассовой смены? В отличие от специализированных торговых решений, таких как «Управление торговлей» или «Розница», в бухгалтерской программе этот механизм реализован иначе. Проанализируем ситуацию, разберем логику программы и выясним, как настроить систему оптимальным образом.

Механика работы документа «Розничная продажа (чек)»

Разберем по шагам, как в БП 3.0 устроена цепочка документов при розничных продажах. Документ РозничнаяПродажа (в интерфейсе — «Чек») является оперативным документом, который фиксирует факт продажи конкретному покупателю в течение дня. Однако он не является окончательным документом для целей бухгалтерского учета в рамках формирования отчетности за день.

Рассмотрим ключевые особенности этой схемы:

  1. При открытой смене каждый пробитый чек существует как отдельный объект.
  2. В момент выполнения операции «Закрытие смены» (команда в форме списка чеков) система инициирует сложный процесс агрегации данных.
  3. Программа анализирует все чеки, по которым еще не был сформирован отчет, и создает на их основании один сводный документ — ОтчетОРозничныхПродажах (ОРП).
  4. Именно ОтчетОРозничныхПродажах формирует проводки по списанию себестоимости товаров (Дт 90.02.1 Кт 41) и признанию выручки (Дт 62/50/57 Кт 90.01.1).

Выясним причину, почему пользователь из обсуждения не мог найти реквизиты «Пробит» или «Архивный». В БП 3.0 статус чека определяется наличием связи с итоговым отчетом. Рассмотрим этот момент подробнее: если в документе РозничнаяПродажа заполнено скрытое поле ссылки на ОтчетОРозничныхПродажах, система считает смену закрытой, а чек — отработанным.

Связь документов и программный поиск решения

Проанализируем, как программно реализована связь между чеком и отчетом. Если мы заглянем «под капот» метаданных, то увидим, что при закрытии смены в каждом документе РозничнаяПродажа заполняется реквизит, указывающий на созданный ОРП. Это блокирует чек для редактирования, так как данные уже «переехали» в сводную ведомость.

Если перед вами стоит задача программно найти все чеки, которые вошли в конкретный отчет о розничных продажах, можно воспользоваться простым запросом к базе данных. Посмотрим на пример логики поиска:


// Пример логики поиска чеков, связанных с отчетом
Запрос = Новый Запрос;
Запрос.Текст = 
    "ВЫБРАТЬ
    |	РозничнаяПродажа.Ссылка КАК Чек,
    |	РозничнаяПродажа.Номер КАК Номер,
    |	РозничнаяПродажа.Дата КАК Дата
    |ИЗ
    |	Документ.РозничнаяПродажа КАК РозничнаяПродажа
    |ГДЕ
    |	РозничнаяПродажа.ДокументОснование = &ВыбОтчет";

Запрос.УстановитьПараметр("ВыбОтчет", СсылкаНаОРП);
Результат = Запрос.Выполнить();

Важно понимать: в БП 3.0 чек сам по себе перестает нести учетную нагрузку сразу после проведения ОтчетаОРозничныхПродажах. Вся аналитика (номенклатура, количество, цена) теперь хранится в табличной части «Товары» этого отчета.

Настройка автоматической очистки (удаления) чеков

В отличие от «1С:Управление торговлей», где существует специальная регламентная процедура архивации, в «Бухгалтерии» реализован механизм автоматической очистки. Это необходимо для того, чтобы база данных не разрасталась до гигантских размеров из-за тысяч мелких документов, которые фактически дублируют информацию, уже отраженную в ОРП.

Разберем, где найти эти настройки и как ими управлять:

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

Проанализируем ситуацию: что произойдет, когда срок истечет? Программа запустит регламентное задание ОчисткаЧековККМ. Это задание находит чеки, дата которых старше установленного порога, и которые уже связаны с проведенным ОтчетомОРозничныхПродажах, после чего помечает их на удаление или удаляет непосредственно.

Юридические аспекты и требования 54-ФЗ

Многие бухгалтеры опасаются удалять чеки из базы. Рассмотрим подробнее, насколько это критично. Согласно требованиям 54-ФЗ, основным доказательством продажи является фискальный документ, переданный Оператору фискальных данных (ОФД). В самой базе «1С:Бухгалтерия» чеки ККМ служат лишь для:

После того как отчет сформирован и проведен, вся первичная информация для налогового и бухгалтерского учета зафиксирована. Если вам потребуется найти детализацию чека полугодовой давности, это всегда можно сделать в личном кабинете ОФД или через архив фискального накопителя.

Поиск кода, отвечающего за связь чеков

Если вы программист и вам нужно найти место в конфигурации, где происходит «склейка» чеков и отчета, обратите внимание на модуль менеджера документа ОтчетОРозничныхПродажах или специализированные обработки для работы с торговым оборудованием. Посмотрим на примерные методы, которые задействованы в процессе:

Обычно используется процедура, которая обходит коллекцию чеков и вызывает метод:

Документы.РозничнаяПродажа.ЗаполнитьПоОснованию(ОбъектОРП)

Или же в самом документе РозничнаяПродажа при закрытии смены устанавливается значение реквизита ссылки. Выясним причину, почему это сделано скрыто: разработчики 1С стремятся минимизировать ручное вмешательство пользователя в цепочку «Чек — Отчет», чтобы не допустить расхождения сумм в кассе и в учете.

Резюме для работы

Подведем итог нашему исследованию:

Таким образом, мы выяснили, что механизм «архивации» в 1С:Бухгалтерии 3.0 — это комбинация автоматического создания сводных отчетов и последующей регламентной очистки отработанных документов. Настройка срока хранения в 30–90 дней является оптимальной для большинства организаций.

← На главную