Удаление данных и очистка базы 1С 8.3

· 9 мин

Содержание

Удалить данные в 1С 8.3 правильно — значит пометить объекты на удаление, а потом запустить удаление помеченных объектов с контролем ссылок. Путь в типовой конфигурации на интерфейсе «Такси»: раздел Администрирование → Обслуживание → Удаление помеченных объектов. Напрямую стереть справочник или документ из списка нельзя — это защита от битых ссылок.

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

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

Что сделать до очистки: копия и выбор метода

Удаление данных необратимо. Перед любой чисткой сделайте резервную копию базы — это единственный способ вернуть всё назад, если удалили лишнее.

Для файловой базы копия — это копия каталога с файлом 1Cv8.1CD или выгрузка в .dt через Конфигуратор (Администрирование → Выгрузить информационную базу). Для клиент-серверной — резервная копия средствами СУБД (MS SQL, PostgreSQL) или та же выгрузка .dt.

Подготовка к очистке базы
Выполнено: 0 / 5

Способ зависит от того, что именно вы чистите:

Что нужно удалить из базы?

Пометка на удаление и удаление помеченных объектов

Это основной и самый безопасный способ. Работает в пользовательском режиме 1С:Предприятие, не требует Конфигуратора.

Порядок действий:

  1. Откройте список (например, справочник «Номенклатура» или журнал документов).
  2. Выделите ненужный элемент и нажмите Del либо команду Ещё → Пометить на удаление / снять пометку. У записи появится значок перечёркивания.
  3. Повторите для всех объектов, которые нужно убрать. Можно выделить несколько строк с Ctrl или Shift и пометить разом.
  4. Перейдите в Администрирование → Обслуживание → Удаление помеченных объектов.
  5. Выберите режим: Автоматическое удаление всех помеченных или Выборочное удаление (со списком, где можно снять галочки).
  6. Нажмите Удалить. Программа проверит ссылки и удалит то, что не используется.

Пометка на удаление — обратимая операция. Пока вы не запустили удаление помеченных, объект остаётся в базе, и пометку можно снять. Реально данные исчезают только на шаге 6.

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

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

Что делать, если объект не удаляется:

  • 📄 откройте список мест использования — 1С покажет, какие документы и записи держат объект;
  • 🔁 либо удалите (пометьте) эти документы тоже, либо перепривяжите их на другой элемент;
  • 🧩 для дублей справочников удобнее сначала объединить их штатным поиском и удалением дублей, а уже потом удалять пустышку.

Непосредственное удаление без контроля ссылок

Когда объектов тысячи и они переплетены ссылками, пометка на удаление буксует: ничего не удаляется, потому что всё на всё ссылается. Тогда применяют непосредственное удаление — оно стирает объект сразу, минуя проверку ссылок.

Непосредственное удаление оставляет битые ссылки. Если удалить контрагента, на которого ссылаются документы, в этих документах окажется «пустая» ссылка вида <Объект не найден>. Это ломает отчёты и проведение. Способ — только для специалистов и только с резервной копией.

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

Если и этого мало (чистите базу радикально — например, готовите чистую копию из рабочей), порядок такой:

  1. Сделайте резервную копию.
  2. Переведите базу в монопольный режим: все пользователи должны выйти. Монопольный доступ нужен, чтобы операция не конфликтовала с чужими сеансами.
  3. Запустите обработку непосредственного удаления по нужным видам объектов (документы, регистры, справочники).
  4. После массового удаления обязательно проверьте базу на целостность (см. раздел про тестирование).

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

После такой чистки обязательно пройдитесь по отчётам и документам, которые могли ссылаться на удалённые объекты. Пустые ссылки <Объект не найден> в проводках и движениях придётся либо заменить на корректные значения, либо перепровести документы . Чем раньше вы их найдёте, тем проще исправить.

Свёртка базы: удаление старых документов с вводом остатков

Самая частая причина «почистить базу » — она растёт годами, а старые документы уже не нужны для текущей работы. Удалять их по одному бессмысленно: пропадут остатки и обороты. Для этого есть свёртка информационной базы.

Как работает свёртка:

  • 📅 вы задаёте дату — границу, до которой данные считаются историей;
  • 🧾 обработка формирует документы ввода остатков на эту дату (по товарам, взаиморасчётам, деньгам и т. д.);
  • 🗑️ документы и движения до даты свёртки помечаются на удаление и удаляются;
  • ✅ текущие остатки при этом сохраняются — база стартует «с чистого листа», но с верными сальдо.

В типовых конфигурациях (например, «1С:Бухгалтерия 8» ред. 3.0) обработка свёртки входит в поставку и запускается из раздела обслуживания базы. Если встроенной нет, её берут отдельной внешней обработкой и открывают через Файл → Открыть.

Свёртка — серьёзная операция. Делайте её на копии базы, сверяйте остатки «до» и «после» по оборотно-сальдовой ведомости, и только убедившись в совпадении — переносите результат в рабочую базу или повторяйте на ней.

Важные нюансы:

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

Очистка движений регистров и истории за период

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

Способы:

  1. Отмена проведения документов. Если лишние движения породили документы, снимите у них проведение (Ещё → Отменить проведение) — движения уйдут вместе с проведением. Это штатный и безопасный путь.
  2. Групповое перепроведение. Через Администрирование → Обслуживание → Проведение документов → Групповое перепроведение можно перепровести документы за период и восстановить корректные движения.
  3. Ручная чистка регистра. Непосредственное удаление записей из регистра делают только специалисты обработкой — штатного «удалить движение» в пользовательском режиме нет.

Прежде чем чистить движения вручную, проверьте, не решается ли задача отменой проведения и повторным проведением документов. В 90% случаев этого достаточно, и база остаётся целостной.

Отдельная история — журнал регистрации (лог действий пользователей). Он не входит в данные учёта и хранится отдельными файлами (1Cv8.lgd или каталог 1Cv8Log). Его чистят средствами платформы, когда он разрастается: в Конфигураторе есть настройка срока хранения и выгрузки журнала регистрации. Удаление журнала на учётные данные не влияет.

Какой способ выбрать: сравнение

Четыре основных метода отличаются областью применения и рисками. Коротко — в таблице.

СпособКогда применятьРиски
Пометка + удаление помеченныхУбрать несколько конкретных объектовМинимальные: ссылки проверяются, лишнее не удалится
Непосредственное удалениеМассовая чистка, когда пометка буксует на ссылкахВысокие: остаются битые ссылки, нужна проверка целостности
Свёртка информационной базыУбрать историю за старые годы, сохранив остаткиСредние: теряется первичка за период, нужна архивная копия
Отмена проведения / перепроведениеУбрать лишние движения регистровНизкие: штатная операция, база остаётся целостной

Практическое правило: начинайте с самого безопасного способа и переходите к радикальному, только если предыдущий не справился. Для 9 из 10 задач хватает пометки на удаление или отмены проведения; свёртку и непосредственное удаление берут, когда данных действительно много и они переплетены.

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

Сжатие базы после удаления данных

Частое разочарование: удалили половину документов, а файл базы не уменьшился. Это нормально. И файловая .1CD, и серверная СУБД сначала просто помечают место как свободное и переиспользуют его под новые данные. Чтобы файл физически сжался, нужен отдельный шаг.

Файловая база (.1CD). Два варианта:

  • Тестирование и исправление: Конфигуратор → Администрирование → Тестирование и исправление информационной базы, включите флаг Сжатие таблиц информационной базы. Под капотом работает chkdbfl.exe.
  • Выгрузка и загрузка .dt: выгрузить базу в .dt и тут же загрузить обратно — платформа пересоберёт файл без «дыр», размер уменьшится.

Клиент-серверная база (MS SQL / PostgreSQL). Платформа место не отдаёт — это делают средствами СУБД:

  • MS SQL — сжатие файлов данных (DBCC SHRINKDATABASE / SHRINKFILE) и усечение журнала транзакций;
  • PostgreSQL — VACUUM FULL по таблицам базы для возврата места ОС.

И тестирование с исправлением, и выгрузка .dt, и VACUUM FULL/SHRINK требуют, чтобы в базе никто не работал: часть из них нужен монопольный режим, а СУБД-операции надолго блокируют таблицы. Выполняйте их только в обслуживающее окно, предупредив пользователей — иначе оборвёте активные сеансы.

Порядок «правильной» очистки с уменьшением размера:

  1. Резервная копия.
  2. Удаление данных (пометка + удаление помеченных, свёртка или непосредственное удаление).
  3. Тестирование и исправление базы — проверка целостности после массового удаления.
  4. Сжатие: для файловой — сжатие таблиц или .dt, для серверной — средства СУБД.
  5. Контрольная проверка: открыть базу, свести оборотку, убедиться, что отчёты формируются.
Можно ли вернуть удалённые данные в 1С?
Только из резервной копии. Ни пометка на удаление после запуска удаления помеченных, ни непосредственное удаление, ни свёртка штатно не откатываются. Поэтому копия перед чисткой обязательна.
Почему объект не удаляется — «на него есть ссылки»?
Значит, на него ссылаются другие данные: документы, регистры, другие справочники. 1С показывает список мест использования. Нужно убрать или перепривязать ссылающиеся объекты, либо применить непосредственное удаление, понимая, что ссылки станут битыми.
Удалил документы, а база не уменьшилась — это нормально?
Да. Освободившееся место переиспользуется под новые данные. Чтобы файл физически сжался, выполните тестирование и исправление с флагом сжатия таблиц (файловая) или сжатие средствами СУБД (серверная).
Чем свёртка отличается от удаления помеченных объектов?
Удаление помеченных убирает конкретные выбранные объекты и проверяет ссылки. Свёртка массово удаляет документы и движения до заданной даты, но перед этим формирует документы ввода остатков, чтобы сохранить сальдо. Для чистки истории за годы нужна именно свёртка.
Как очистить тестовую базу перед запуском в работу?
Либо свёрткой на нужную дату, либо непосредственным удалением документов и движений по видам объектов. В обоих случаях сначала копия, затем тестирование и исправление, затем сжатие.