Удаление в 1С 8.3: от пометки документа до объекта конфигурации

· 10 мин

Содержание

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

Это три разных уровня: данные (элементы и документы), структура (метаданные) и служебные таблицы базы. У каждого свой инструмент и свой риск. Ниже порядок действий для каждого уровня — от самого безопасного к самому жёсткому. Меню приведены для конфигураций на БСП в интерфейсе «Такси»: Бухгалтерия 3.0, ЗУП 3.1, УТ 11 и подобных.

Что сделать до удаления объектов в 1С

Удаление в 1С необратимо. Корзины нет: удалённый элемент справочника или документ вернуть можно только из резервной копии.

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

Что ещё проверить:

  • 👥 Кто работает в базе. Удаление помеченных идёт быстрее, когда пользователей нет. Удобное время — вечер или выходной.
  • 🔑 Права. Для обработки удаления помеченных нужна роль администратора или полные права. Обычный пользователь может только ставить пометку.
  • 📅 Дата запрета изменения. Документ в закрытом периоде не получится даже пометить: программа откажет из-за даты запрета. Её меняют в Администрирование → Пользователи и права → Даты запрета изменения.
  • 🧾 Отчётность. Если документ уже попал в сданную декларацию, удалять его без корректировки нельзя — суммы в базе разойдутся с отчётом.

Как удалить документ или элемент справочника в режиме 1С:Предприятие

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

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

  1. Откройте список: например, Справочники → Номенклатура или журнал документов .
  2. Выделите строку. Для нескольких строк держите Ctrl или Shift.
  3. Нажмите Del или выберите в меню «Ещё» команду «Пометить на удаление / Снять пометку».
  4. Подтвердите вопрос программы.

Строка останется в списке, но с перечёркнутым значком. Данные никуда не делись: элемент можно найти, открыть и снять с него пометку той же командой.

Что происходит с разными объектами:

  • 📄 Проведённый документ при пометке перестаёт быть проведённым. Его проводки и движения по регистрам удаляются сразу, ещё до окончательного удаления. Остатки и обороты пересчитываются.
  • 📁 Группа справочника помечается вместе со всеми вложенными элементами и подгруппами.
  • 🔗 Элемент, который используется в документах, пометить можно. Удалить его потом не получится, пока ссылки не уберут.

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

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

Комбинация Shift+Del удаляет объект сразу, без пометки и без проверки ссылок. Она срабатывает, только если у роли пользователя есть право «Интерактивное удаление». В типовых конфигурациях его не дают даже бухгалтерам.

Не включайте право «Интерактивное удаление» в рабочей базе. При непосредственном удалении ссылки в документах не проверяются. Документы останутся со ссылками на несуществующий элемент: в поле появится текст вида <Объект не найден> (123:a1b2c3...).

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

Пометка — только первый этап. Физически данные стирает обработка удаления помеченных.

Где запустить

КонфигурацияПуть
Бухгалтерия 3.0, ЗУП 3.1, УТ 11, КА 2, ERPАдминистрирование → Обслуживание → Корректировка данных → Удаление помеченных объектов
Любая конфигурация (стандартная обработка платформы)Все функции → Стандартные → Удаление помеченных объектов

Пункт «Все функции» включают в Сервис и настройки → Параметры → Отображать команду «Все функции» (меню с шестерёнкой или стрелкой в заголовке окна).

Порядок работы

  1. Откройте обработку. Выберите режим: удалить все помеченные или выбрать вручную.
  2. В ручном режиме отметьте флажками нужные объекты. Удобно разворачивать дерево по типам: справочники, документы, регистры.
  3. Нажмите «Удалить». Программа проверит каждую ссылку на объект.
  4. Посмотрите итог. Объекты без ссылок удалены. Остальные попадут в список «Не удалены» с перечнем мест, где они используются.

Если пользователи в базе есть, обработка может предложить монопольный режим. С ним проверка надёжнее и быстрее. Без него объекты, которые в эту минуту редактирует кто-то другой, будут пропущены — их удалят при следующем запуске.

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

В конфигурациях на свежих версиях БСП в форме обработки можно выбрать удаление по расписанию. Тогда регламентное задание раз в сутки само удаляет помеченные объекты без ссылок.

Автоудаление снимает человеческий контроль. Документ, помеченный по ошибке, исчезнет ночью, и вспомнить о нём успеют только по резервной копии. В базах, где пометки ставят многие пользователи, лучше удалять вручную раз в неделю или месяц, после просмотра списка.

Поиск ссылок: почему объект не удаляется

Самая частая ситуация: обработка отработала, а элемент остался в списке «Не удалены». Причина всегда одна — на него ссылается другой объект, не помеченный на удаление.

Как найти, кто ссылается

  • 🔍 В самой обработке. В списке неудалённых выделите объект — справа или снизу появится перечень мест использования: документы, элементы справочников, записи регистров.
  • 🔍 Стандартная обработка. Все функции → Стандартные → Поиск ссылок на объекты. Укажите объект и нажмите «Найти ссылки» — получите полный список с типами.
  • 🔍 Отчёт «Места использования». В конфигурациях на БСП он открывается из карточки объекта через меню «Ещё» или из обработки удаления.

Что делать с найденными ссылками

  1. Ссылка из ненужного документа. Пометьте и его на удаление. Затем удалите оба объекта одним запуском — программа поймёт, что ссылки внутри удаляемого набора.
  2. Ссылка из нужного документа. Откройте документ, замените значение на правильное и перепроведите. Документ в закрытом периоде без изменения даты запрета не исправить.
  3. Дубль элемента справочника. Не правьте документы вручную. В БСП есть обработка Администрирование → Обслуживание → Корректировка данных → Поиск и удаление дублей. Она переназначает все ссылки с дубля на основной элемент и затем удаляет дубль.
  4. Ссылка из записи регистра сведений. Найдите запись в самом регистре (через Все функции → Регистры сведений) и удалите её или замените значение.

Если удаляете товар, контрагента или сотрудника вместе с историей — помечайте всё за один заход: документы, договоры, банковские счета. Один пропущенный договор не даст удалить контрагента.

Удаление объектов конфигурации в Конфигураторе

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

Если конфигурация на поддержке

Типовая конфигурация на полной поддержке не даёт ничего удалить: объекты защищены замком. Порядок:

  1. Конфигурация → Поддержка → Настройка поддержки.
  2. Кнопка «Включить возможность изменения». Подтвердите.
  3. Для нужного объекта установите правило «Объект поставщика редактируется с сохранением поддержки».

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

Порядок удаления метаданных

  1. Найдите все ссылки на объект в конфигурации: правой кнопкой по объекту → «Поиск ссылок на объект». В списке будут реквизиты других объектов, формы, макеты, роли, подписки на события.
  2. Уберите каждую ссылку: смените тип реквизита, удалите строку из роли, поправьте код модулей. Поиск по тексту модулей — Ctrl+Shift+F с областью «Вся конфигурация».
  3. Выделите объект в дереве и нажмите Del. Если ссылки остались, Конфигуратор покажет их и не удалит объект.
  4. Выполните синтаксический контроль модулей: Конфигурация → Проверка конфигурации.
  5. Обновите конфигурацию базы данных (F7). При реструктуризации программа покажет, какие таблицы будут удалены. Для этого шага нужен монопольный доступ к базе.

Удаление реквизита или объекта стирает его данные из базы при обновлении конфигурации БД. Вернуть их можно только из копии.

Приём с префиксом «Удалить»

Опытные разработчики не удаляют объект сразу. Его переименовывают с префиксом: Удалить + старое имя, например УдалитьСтатусКлиента. Так поступает и сама фирма 1С в типовых релизах.

Что это даёт:

  • данные остаются в таблицах и доступны для переноса;
  • код, который обращается к объекту, сразу видно по ошибкам синтаксического контроля;
  • через один-два цикла обновлений, когда данные перенесены, объект удаляют окончательно.

Очистка таблиц базы и регистров

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

Тестирование и исправление

Запуск: Конфигуратор → Администрирование → Тестирование и исправление. Нужен монопольный доступ, поэтому все пользователи должны выйти. Сделайте копию базы перед исправлением: режим меняет данные.

ФлажокЧто делает
Реиндексация таблиц информационной базыПерестраивает индексы
Проверка логической целостностиИщет нарушения структуры
Проверка ссылочной целостностиИщет ссылки на несуществующие объекты
Пересчёт итоговПересчитывает итоги регистров накопления и бухгалтерии
Сжатие таблиц информационной базыОсвобождает место в файле 1Cv8.1CD после удаления
Реструктуризация таблиц информационной базыПересоздаёт таблицы

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

То же из командной строки

Для регламентного обслуживания проверку запускают пакетно, без интерфейса:

"C:\Program Files\1cv8\8.3.24.1548\bin\1cv8.exe" DESIGNER /F"D:\Base\Buh" /N"Администратор" /P"пароль" /IBCheckAndRepair -ReIndex -LogAndRefsIntegrity -RecalcTotals -IBCompression -BadRefCreate /Out"D:\Logs\check.log"

Путь к платформе и номер версии подставьте свои. Для теста без исправлений добавьте ключ -TestOnly. Для серверной базы вместо /F используют /S"сервер\имя_базы".

Если на сервере остались активные сеансы, запуск упадёт из-за отсутствия монопольного доступа. Завершать сеансы принудительно можно только после предупреждения пользователей: несохранённые данные в открытых формах пропадут.

Для файловой базы есть ещё утилита chdbfl.exe в каталоге bin платформы. Она проверяет физическую целостность файла 1Cv8.1CD, когда база не открывается даже в Конфигураторе.

Удаление записей регистра

Записи регистров накопления и бухгалтерии принадлежат документам-регистраторам. Их удаляют через документ: отмена проведения или пометка на удаление. Править такие движения напрямую — верный способ получить расхождение с первичкой.

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

НаборЗаписей = РегистрыСведений.КурсыВалют.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Валюта.Установить(СсылкаНаВалюту);
НаборЗаписей.Записать(); // набор пуст — записи по этой валюте удалены

Имя регистра и измерения возьмите из своей конфигурации. Запускать такой код имеет смысл только администратору и только на копии, затем — на рабочей базе.

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

СпособКогда применятьРиски
Пометка + удаление помеченныхДокументы и элементы в обычной работеМинимальные: ссылки проверяются
Поиск и удаление дублейЗадвоенные контрагенты, товары, сотрудникиСсылки переназначатся на выбранный основной элемент — выбирайте внимательно
Shift+DelТестовые базы, объекты без ссылокБитые ссылки в документах
Конфигуратор, удаление метаданныхНенужный справочник, реквизит, отчётПотеря данных при обновлении БД, сложные обновления
Тестирование и исправлениеБитые ссылки, разросшийся файл базыИзменение данных, нужен монопольный доступ
Код во внешней обработкеМассовая чистка регистров сведенийОшибка в отборе сотрёт лишнее
Что вы хотите удалить?

Частые ошибки при удалении объектов

  • ❌ Пометили и ждут, что объект исчез. Пометка не удаляет данные. База продолжает расти, а помеченные элементы попадают в подборы, если отбор по пометке не настроен.
  • ❌ Удаляют элемент, не пометив связанные документы. Обработка оставит его в «Не удалены». Помечайте цепочку целиком.
  • ❌ Удаляют документы закрытого периода. Пометка проведённого документа снимает движения — после этого меняются остатки, себестоимость и итоги в уже сданной отчётности.
  • ❌ Дают пользователям Shift+Del. Через месяц в базе десятки ссылок <Объект не найден>.
  • ❌ Удаляют реквизит в Конфигураторе прямо в рабочей базе. Сначала отладка на копии, затем перенос через файл конфигурации .cf или хранилище.

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

Можно ли восстановить удалённый документ в 1С?
Только из резервной копии. Выгрузите копию в отдельную базу, найдите документ и перенесите его обработкой обмена или вручную. Корзины в 1С нет.
Почему пометка на удаление недоступна?
Обычно мешает дата запрета изменения или нет права на изменение объекта. Проверьте дату документа относительно даты запрета и роли пользователя.
Сколько времени идёт удаление помеченных?
Зависит от числа объектов и размера базы. Проверка ссылок — самая долгая часть: на крупной базе с тысячами помеченных документов она может занять несколько часов. Запускайте вне рабочего времени.
Уменьшится ли файл базы после удаления?
В файловой базе — только после «Сжатия таблиц информационной базы» в режиме «Тестирование и исправление». В серверной базе место освобождают средствами СУБД.
Кто видит, что объект удалили?
Факт удаления записывается в журнал регистрации: Администрирование → Обслуживание → Журнал регистрации, отбор по событию удаления. Там видны пользователь, время и представление объекта.