К статье
Практический материал

Администрирование · 11 мин

Как удалить объект непосредственно в 1С

Как удалить объект непосредственно в 1С без пометки на удаление: режимы удаления, права, проверка ссылок, типичные ошибки и безопасный порядок действий.

В 1С существуют два способа удаления данных: пометка на удаление с последующим контролем ссылок и непосредственное (прямое) удаление объекта из базы. Непосредственное удаление стирает запись мгновенно, без проверки, используется ли она в других документах, справочниках или регистрах. Это быстрый, но потенциально опасный инструмент, который требует понимания последствий.

Чаще всего непосредственное удаление применяют к только что созданным ошибочным объектам: дублю контрагента, тестовому документу, лишней строке в справочнике. Если объект уже участвует в учете — на него ссылаются проводки, движения регистров, другие документы — прямое удаление приведет к появлению «битых ссылок» вида «Объект не найден» и нарушит целостность данных.

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

Чем непосредственное удаление отличается от пометки на удаление

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

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

Два режима удаления

Пометка на удаление

Безопасный путь: объект скрыт, контроль ссылок при окончательном удалении, есть время передумать. Подходит для любых учетных данных.

Непосредственное удаление

Мгновенное стирание без проверки ссылок. Оправдано только для новых ошибочных объектов, которые точно нигде не используются.

Когда прямое удаление оправдано, а когда опасно

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

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

Маршрут решения

Как выбрать действие

Объект создан только что и точно никуда не вошелМожно удалить непосредственно через Shift+Delete
Объект проведен или старше текущего сеанса работыИспользуйте пометку на удаление и штатное удаление помеченных с контролем ссылок
Нужно убрать объект из отчетов, но сохранить историюПометьте на удаление или отмените проведение, не удаляйте физически
Объект в закрытом периодеНе удаляйте: согласуйте корректировку с ответственным за учет

Права и настройки, без которых удаление не сработает

Возможность непосредственного удаления регулируется правами роли. В конфигураторе у роли есть отдельные права «Удаление» и «Интерактивное удаление» для каждого типа объектов. Если у пользователя есть только право «Интерактивная пометка на удаление», комбинация Shift+Delete будет недоступна или выдаст ошибку нарушения прав доступа.

В типовых конфигурациях на платформе 8.3 прямое интерактивное удаление интерактивно часто заблокировано для рядовых пользователей осознанно — это защита от порчи данных. Обычно такое право есть у администратора или у роли с полными правами. Проверить свои права можно, попробовав удалить заведомо тестовый объект, либо уточнив у администратора, какие роли вам назначены.

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

Как удалить объект непосредственно: пошаговый порядок

Стандартный способ в пользовательском режиме выглядит одинаково в большинстве конфигураций на управляемых и обычных формах. Откройте список нужного справочника или документов, найдите объект, установите на него курсор и нажмите Shift+Delete. Система попросит подтверждение — после согласия объект стирается сразу.

В некоторых интерфейсах та же операция доступна через меню «Ещё» в форме объекта или списка — пункт может называться «Удалить» (без слова «пометить»). Если видите только «Пометить на удаление / Снять пометку», значит интерактивное прямое удаление для вас отключено.

Для записей регистров сведений и значений в табличных частях логика аналогична: курсор на строку, Shift+Delete или кнопка удаления строки. Учтите, что удаление строки внутри документа — это изменение документа, а не удаление объекта, и оно требует записи документа.

Порядок действий
  1. 1
    Сделайте резервную копию базы или убедитесь, что актуальная копия существует
  2. 2
    Откройте список объектов и найдите нужный элемент
  3. 3
    Проверьте, что объект не проведен и не используется (поиском ссылок)
  4. 4
    Установите курсор на объект и нажмите Shift+Delete
  5. 5
    Подтвердите удаление в диалоге
  6. 6
    Проверьте, что объект исчез из списка, а смежные документы открываются без ошибок

Проверка ссылок перед удалением

Главная защита от «битых ссылок» — предварительная проверка, где объект используется. В типовых конфигурациях для этого есть функция поиска ссылок на объект: в форме элемента или списка откройте меню «Ещё» и найдите команду вида «Найти ссылки» либо воспользуйтесь обработкой «Поиск ссылок на объекты» (она доступна в разделе администрирования или через «Все функции»).

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

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

Контрольные точки

Как проверить результат

Список объектов после удаления
Норма

Удаленный элемент отсутствует, список обновляется без ошибок

Тревожный признак

Строка осталась или появилось сообщение об ошибке доступа

Связанные документы и отчеты
Норма

Открываются штатно, ссылки отображаются корректно

Тревожный признак

В полях видна надпись «Объект не найден» с кодом

Поиск ссылок перед удалением
Норма

Результат пустой — объект нигде не используется

Тревожный признак

Найдены документы или записи, ссылающиеся на объект

Удаление через конфигуратор и программно

Администраторы и разработчики иногда удаляют объекты вне пользовательского интерфейса. Программно непосредственное удаление выполняется методом объекта Удалить() без предварительной установки пометки. Такой код игнорирует контроль ссылочной целостности, поэтому в обработках его принято оборачивать проверками и транзакциями.

bsl
Спр = Справочники.Номенклатура.НайтиПоКоду("000123");
Если Не Спр.Пустая() Тогда
    ОбъектДляУдаления = Спр.ПолучитьОбъект();
    ОбъектДляУдаления.Удалить(); // непосредственное удаление без пометки
КонецЕсли;

Для массовой чистки тестовых баз удобнее типовая обработка «Удаление помеченных объектов» в монопольном режиме с отключенным контролем — но это уже административная операция, требующая выгона пользователей из базы. В клиент-серверном варианте убедитесь, что монопольный режим действительно установлен, иначе удаление завершится ошибкой блокировок.

Через конфигуратор напрямую объекты данных не удаляют — конфигуратор работает со структурой метаданных. Удаление самих данных всегда происходит в режиме предприятия: интерактивно, кодом или обработками.

Типичные ошибки и риски

Самая частая ошибка — удаление объекта, на который есть скрытые ссылки из регистров и движений документов. Внешне база продолжает работать, но в отчетах и формах появляются записи «Объект не найден», а обмены данными начинают падать с ошибками. Лечится это только восстановлением из копии или ручной чисткой битых ссылок.

Вторая ошибка — удаление в распределенной базе (РИБ) или базе с обменами. Удаленный в одном узле объект при обмене может вернуться обратно из другого узла или, наоборот, создать конфликт. В системах с обменом предпочтительна пометка на удаление, которая корректно передается между узлами.

Типичные ошибки
01
Удаление без резервной копии — восстановить данные штатно невозможно
02
Удаление проведенного документа — движения регистров теряются, учет расходится
03
Игнорирование поиска ссылок — появляются «Объект не найден» в формах и отчетах
04
Прямое удаление в базе с обменами — объект возвращается из другого узла или ломает синхронизацию
05
Удаление в закрытом периоде — нарушение отчетности и регламентированных данных

Как восстановить ошибочно удаленные данные

Штатной «корзины» в 1С нет: непосредственно удаленный объект восстановлению внутри программы не подлежит. Единственный надежный путь — резервная копия. В файловой базе это копия файла 1Cv8.1CD, в клиент-серверной — выгрузка через конфигуратор (dt) или средствами СУБД.

Если копии нет, варианты ограничены: восстановить объект вручную по печатным формам, выпискам или данным связанных систем, либо вытащить его из другого узла обмена, если синхронизация удаления еще не прошла. Именно поэтому правило «сначала копия, потом удаление» — не формальность, а единственная страховка.

Итог

Что важно запомнить

Непосредственное удаление (Shift+Delete) стирает объект мгновенно и без контроля ссылок. Применяйте его только к новым, гарантированно неиспользуемым объектам, при наличии права «Интерактивное удаление» и свежей резервной копии. Во всех остальных случаях — пометка на удаление и штатное удаление помеченных.

Частые вопросы

Почему Shift+Delete не работает и объект только помечается?

Скорее всего, у вашей роли нет права «Интерактивное удаление» для этого типа объектов, либо конфигурация программно запрещает прямое удаление. Проверьте назначенные роли у администратора — для рабочих баз это осознанная защита, а не неисправность.

Можно ли отменить непосредственное удаление?

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

Что означает надпись «Объект не найден» в документе?

Это «битая ссылка»: документ ссылается на объект, который был удален напрямую. Нужно либо восстановить удаленный объект из копии, либо заменить ссылку в документе на существующий элемент, либо очистить её, если она не нужна.

Чем заменить прямое удаление дубля контрагента?

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

Безопасно ли удалять данные в копии базы для теста?

Да, тестовая копия — правильное место для экспериментов с прямым удалением и обработками. Главное — убедиться, что вы действительно работаете в копии (проверьте строку подключения или название базы в окне «О программе»), а не в рабочей базе.

Нужно ли удалять помеченные объекты сразу?

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