Справочники и Данные · 10 мин
Как очистить справочники в 1С без потери данных
Как безопасно очистить справочники в 1С: пометка на удаление, контроль ссылочной целостности, типовые обработки, групповая обработка и проверка результата.
За годы работы в справочниках 1С накапливаются дубли контрагентов, устаревшие позиции номенклатуры, неиспользуемые склады и статьи затрат. Лишние записи замедляют подбор в документах, провоцируют ошибки (менеджер выбирает не того контрагента) и раздувают базу. Очистка справочников — штатная задача, но выполнять её нужно по правилам: в 1С действует механизм ссылочной целостности, и удалить элемент, на который ссылаются документы, «просто так» не получится.
Очистка всегда идёт в два этапа: сначала элемент помечается на удаление, затем запускается процедура удаления помеченных объектов, которая проверяет, есть ли ссылки на элемент в других объектах базы. Если ссылки есть — элемент останется в базе, пока вы не уберёте зависимости или не замените их.
Ниже разобраны все рабочие способы: от пометки одного элемента до групповой обработки тысяч позиций, а также как найти дубли, что делать с объектами, которые не удаляются, и как проверить результат.
Подготовка: резервная копия и анализ перед очисткой
Любая массовая операция с данными начинается с резервной копии. В файловой базе достаточно скопировать файл 1Cv8.1CD при закрытой программе или выполнить выгрузку через «Администрирование → Обслуживание → Резервное копирование и восстановление». В клиент-серверном варианте сделайте выгрузку в файл .dt через конфигуратор («Администрирование → Выгрузить информационную базу») либо штатный бэкап средствами СУБД.
Далее определите, что именно нужно чистить. Полезные источники информации: отчёт «Анализ дублей» (в типовых конфигурациях есть обработка «Поиск и удаление дублей»), отбор по дате последнего движения в документах, списки элементов без штрихкодов, цен или остатков. Часто оказывается, что реально используется 30–50% справочника номенклатуры, а остальное — архивные позиции прошлых лет.
Пометка на удаление: базовый способ
Откройте нужный справочник, выделите элемент и нажмите клавишу Del или выберите в меню «Ещё» команду «Пометить на удаление / Снять пометку». Помеченный элемент отображается с перечёркнутой иконкой. Он продолжает храниться в базе, но в большинстве типовых отчётов и подборов игнорируется или подсвечивается отдельно.
Пометку можно ставить группой: выделите несколько строк с зажатой Ctrl или Shift и нажмите Del — программа предложит пометить все выделенные элементы. Для справочников с иерархией удобно пометить целую группу, но учтите: пометка группы не всегда автоматически помечает вложенные элементы, поведение зависит от конфигурации.
Пометка на удаление обратима: повторное нажатие Del снимает её. Это безопасный этап, на котором можно сверить список с руководителем или бухгалтером, прежде чем удалять окончательно.
Удаление помеченных объектов и контроль ссылочной целостности
Когда список помеченных элементов готов, откройте «Администрирование → Обслуживание → Удаление помеченных объектов» (в некоторых конфигурациях путь: «Настройки → Удаление помеченных объектов»). Программа предложит два режима: автоматическое удаление всех помеченных объектов или выборочное удаление с предварительным показом списка.
При запуске 1С проверяет ссылочную целостность: ищет все места, где используется помеченный элемент, — документы, другие справочники, регистры сведений, планы счетов. Если ссылки найдены, объект не удаляется, а программа показывает список препятствующих объектов. Дальше два варианта: перейти по ссылкам и вручную убрать использование элемента (пометить на удаление связанные документы, заменить значение) или оставить элемент помеченным.
Для элементов с большим числом ссылок ручная зачистка непрактична. В этом случае помогает замена: обработка «Поиск и замена значений» (входит в состав «Инструменты разработчика» и ряда типовых поставок) позволяет заменить все вхождения неправильного контрагента на правильного, после чего дубль удаляется без конфликтов.
- 1Сделайте резервную копию базы
- 2Найдите и пометьте на удаление лишние элементы справочника
- 3Откройте Администрирование → Удаление помеченных объектов
- 4Запустите удаление и изучите список объектов, мешающих удалению
- 5Устраните ссылки или замените значения в связанных объектах
- 6Повторно запустите удаление и убедитесь, что список помеченных пуст
Групповая обработка и поиск дублей
Когда пометить нужно сотни или тысячи элементов по условию (например, всю номенклатуру без движений за три года), ручной выбор не подходит. Используйте обработку «Групповое изменение реквизитов» (в типовых БСП-конфигурациях: «Администрирование → Обслуживание → Корректировка данных»): она позволяет отобрать элементы по произвольному отбору и установить пометку удаления пакетно.
Для борьбы с дублями контрагентов и номенклатуры в типовых конфигурациях есть обработка «Поиск и удаление дублей» («Администрирование → Обслуживание → Корректировка данных»). Она ищет совпадения по выбранным полям (ИНН, наименование, артикул), показывает группы дублей и позволяет назначить «оригинал», на который будут перенаправлены все ссылки, после чего дубли помечаются на удаление.
Для нестандартных условий (например, «нет движений по регистру продаж за период») потребуется либо консоль запросов с последующей обработкой результата, либо помощь программиста с небольшой внешней обработкой. Это нормальная практика для баз с большими справочниками.
Сравнение вариантов
Подходит для десятков элементов и точечной чистки. Не подходит для массовых операций.
Подходит для массовой пометки по отбору. Требует аккуратной настройки условий отбора.
Оптимален для контрагентов и номенклатуры с повторами. Автоматически перенаправляет ссылки на оригинал.
Для сложных условий и очень больших объёмов. Требует навыков разработки и тестирования на копии.
Что делать, если элемент не удаляется
Самая частая ситуация: элемент помечен, но процедура удаления его пропускает из-за ссылок. Откройте отчёт о мешающих объектах и посмотрите типы ссылок. Если это проведённые документы — решите, можно ли их пометить на удаление (нельзя трогать закрытые отчётные периоды) или нужно заменить в них значение. Если ссылки в регистрах сведений (например, штрихкоды, цены номенклатуры) — записи регистра можно удалить отдельно.
Иногда ссылку не видно очевидно: элемент может быть указан в дополнительных реквизитах, настройках обмена, вариантах отчётов или в непомеченных документах прошлых лет. Полный список мест использования показывает команда «Ещё → Найти ссылки» (или «Поиск ссылок на объект») прямо из формы элемента — используйте её до удаления, чтобы оценить объём работ.
Если элемент используется в закрытых периодах и удалить его нельзя, правильное решение — оставить пометку на удаление: помеченный элемент не мешает в подборах, но история в документах сохраняется. Это нормальное и безопасное состояние для архивных данных.
Проверка результата и регламентная работа
После удаления откройте справочник и включите отображение помеченных элементов, чтобы убедиться, что остались только те, которые осознанно оставлены из-за ссылок. Проверьте пару типовых сценариев: подбор номенклатуры в документе, отчёт по контрагентам — убедитесь, что пользователи не увидят «битых» ссылок (надпись «Объект не найден»).
Для файловых баз после массового удаления имеет смысл выполнить тестирование и исправление (конфигуратор → «Администрирование → Тестирование и исправление») с реиндексацией и сжатием таблиц — это возвращает диску физически освободившееся место. В клиент-серверных базах аналогичную функцию выполняют средства СУБД.
Чтобы справочники не зарастали снова, настройте регламент: периодический запуск поиска дублей (например, раз в квартал), правила ввода новых элементов (проверка ИНН перед созданием контрагента) и ограничение прав на создание элементов справочников для части пользователей.
Как проверить результат
Остались только элементы с ссылками из закрытых периодов
Сотни неудалённых объектов без разбора причин
Лишние позиции не отображаются, поиск работает быстро
Появляются записи «Объект не найден»
История открывается корректно, данные совпадают с архивом
В отчётах пустые или битые ссылки на удалённые элементы
Часто задаваемые вопросы
Можно ли удалить элемент справочника сразу, минуя пометку на удаление?
Интерактивно в пользовательском режиме — нет, это защита от случайной потери данных. Непосредственное удаление доступно только программно (метод Удалить() у объекта), но оно не проверяет ссылочную целостность и легко создаёт битые ссылки. Использовать такой способ стоит только в обработках с собственным контролем ссылок.
Почему после удаления размер файловой базы не уменьшился?
1С помечает место внутри файла как свободное, но физически файл не сжимается автоматически. Выполните «Тестирование и исправление» с включённым сжатием таблиц информационной базы — после этого размер файла уменьшится.
Что будет с документами, если удалить контрагента, который в них указан?
Штатный механизм удаления помеченных объектов не даст удалить такого контрагента, пока существуют ссылки. Если удалить его в обход контроля, в документах появится «битая ссылка» вида «Объект не найден», отчёты и проведение могут работать с ошибками. Поэтому контрагентов из прошлых периодов обычно оставляют помеченными, а не удаляют.
Как найти все места, где используется элемент справочника?
Откройте форму элемента и выполните команду «Ещё → Найти ссылки» (в некоторых конфигурациях — «Поиск ссылок на объект»). Программа покажет полный список документов, регистров и других объектов, где используется элемент. Это же окно появляется при попытке удаления через «Удаление помеченных объектов».
Можно ли автоматизировать регулярную очистку справочников?
Частично. Поиск дублей в типовых конфигурациях можно запускать по расписанию через регламентные задания, а права на создание элементов — ограничить ролями. Полностью автоматическое удаление настраивать не рекомендуется: решение об удалении данных должен принимать человек после просмотра списка.
Чем отличается пометка на удаление от установки признака «Архив» или «Не используется»?
Пометка на удаление — системный механизм 1С, ведущий к физическому удалению объекта. Реквизиты вроде «В архиве» — это прикладные доработки конфигурации: элемент остаётся в базе, но скрывается из подборов. Для данных, которые нельзя удалять из-за ссылок, признак архивности часто удобнее пометки.
Что важно запомнить
Очистка справочников в 1С всегда идёт по схеме: резервная копия → пометка на удаление → удаление помеченных объектов с контролем ссылок → разбор мешающих объектов → проверка результата. Дубли убирайте обработкой «Поиск и удаление дублей», массовые пометки — групповым изменением реквизитов. Элементы из закрытых периодов безопаснее оставить помеченными, чем удалять.