При обслуживании и оптимизации информационных баз 1С:Предприятие часто возникает вопрос о снижении объема данных за прошлые периоды. Иногда специалисты задумываются о том, чтобы физически удалить первичные документы из базы, но сохранить сформированные ими движения по счетам. В этом материале мы подробнее проанализируем, почему такой подход технически нереализуем в платформе 1С, к каким сбоям он приводит, и разберем корректные альтернативные варианты решения задачи.
Рассмотрим, как устроена связь между объектами базы данных. В платформе «1С:Предприятие 8» записи регистров бухгалтерии и регистров накопления не существуют сами по себе. В каждой записи регистра присутствует обязательное системное поле Регистратор.
Поле Регистратор представляет собой ссылку на конкретный документ, который сформировал эту запись. Связка между документом и его движениями является жесткой архитектурной базой системы:
Если попытаться обойти стандартные механизмы (например, применить прямое удаление объектов через системные функции или выполнить SQL-запросы к таблицам СУБД в обход платформы), мы столкнемся с разрушением целостности данных. Выясним, что происходит при таком некорректном вмешательстве:
Регистратор вместо ссылок на реальные документы возникнут записи вида «<Объект не найден...>».Тестирование и исправление информационной базы выявит нарушение ссылочной целостности. Зависимости будут обработаны одним из двух способов: система либо полностью зачистит проводки, потерявшие документ, либо создаст пустые документы-заглушки вида «Несуществующий объект».Разберем штатные и безопасные методы, которые позволяют уменьшить размер базы «1С:Бухгалтерия 2.0» и избавиться от лишних документов прошлых лет, не нарушая работу системы.
Стандартным и наиболее правильным способом является процедура свертки информационной базы. Рассмотри ее алгоритм:
Ввод начальных остатков, которые становятся новыми регистраторами для остаточных проводок.Если база эксплуатируется долго и накопить много неиспользуемых данных, оптимальным решением станет переход в чистую информационную базу:
Контрагенты, Номенклатура, ДоговорыКонтрагентов и др.).Ввод начальных остатков. Этот вариант гарантирует максимальную производительность базы и отсутствие накопленных ошибок.Если организации требуется сохранить историю оборотов за прошлые периоды в детализированном виде, но необходимо избавиться от массивных первичных документов (накладных, актов, счетов-фактур), применяют механизмы агрегации:
Операция (бухгалтерский и налоговый учет).Операция (бухгалтерский и налоговый учет) выступает в роли полноценного регистратора для регистра бухгалтерии.Таким образом, прямой зачистки документов с «сохранением» проводок без регистратора в 1С не существует. Любое решение этой задачи требует присутствия полноценных документов-регистраторов, которыми могут выступать документы ввода остатков или бухгалтерские операции.