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