Удаление в 1С 8.3: от пометки документа до объекта конфигурации
Содержание
Чтобы удалить объект в 1С 8.3, его сначала помечают на удаление (клавиша Del или команда «Пометить на удаление» в списке), а затем запускают обработку Администрирование → Обслуживание → Корректировка данных → Удаление помеченных объектов. Программа проверит ссылки и удалит только то, на что ничего не ссылается. Объекты конфигурации — справочник, реквизит, документ как вид — удаляют уже в Конфигураторе.
Это три разных уровня: данные (элементы и документы), структура (метаданные) и служебные таблицы базы. У каждого свой инструмент и свой риск. Ниже порядок действий для каждого уровня — от самого безопасного к самому жёсткому. Меню приведены для конфигураций на БСП в интерфейсе «Такси»: Бухгалтерия 3.0, ЗУП 3.1, УТ 11 и подобных.
Что сделать до удаления объектов в 1С
Удаление в 1С необратимо. Корзины нет: удалённый элемент справочника или документ вернуть можно только из резервной копии.
Перед любым удалением выгрузите базу или сделайте резервную копию средствами СУБД. Для файловой базы достаточно Конфигуратор → Администрирование → Выгрузить информационную базу (файл .dt) или копии каталога с файлом 1Cv8.1CD при закрытой базе.
Что ещё проверить:
- 👥 Кто работает в базе. Удаление помеченных идёт быстрее, когда пользователей нет. Удобное время — вечер или выходной.
- 🔑 Права. Для обработки удаления помеченных нужна роль администратора или полные права. Обычный пользователь может только ставить пометку.
- 📅 Дата запрета изменения. Документ в закрытом периоде не получится даже пометить: программа откажет из-за даты запрета. Её меняют в
Администрирование → Пользователи и права → Даты запрета изменения. - 🧾 Отчётность. Если документ уже попал в сданную декларацию, удалять его без корректировки нельзя — суммы в базе разойдутся с отчётом.
Как удалить документ или элемент справочника в режиме 1С:Предприятие
В пользовательском режиме есть два способа: пометка на удаление и непосредственное удаление. Первый работает почти у всех, второй — только у тех, кому его разрешили.
Пометка на удаление
- Откройте список: например,
Справочники → Номенклатураили журнал документов . - Выделите строку. Для нескольких строк держите
CtrlилиShift. - Нажмите
Delили выберите в меню «Ещё» команду «Пометить на удаление / Снять пометку». - Подтвердите вопрос программы.
Строка останется в списке, но с перечёркнутым значком. Данные никуда не делись: элемент можно найти, открыть и снять с него пометку той же командой.
Что происходит с разными объектами:
- 📄 Проведённый документ при пометке перестаёт быть проведённым. Его проводки и движения по регистрам удаляются сразу, ещё до окончательного удаления. Остатки и обороты пересчитываются.
- 📁 Группа справочника помечается вместе со всеми вложенными элементами и подгруппами.
- 🔗 Элемент, который используется в документах, пометить можно. Удалить его потом не получится, пока ссылки не уберут.
Чтобы помеченные строки не мешали в работе, в меню «Ещё» списка есть команда «Показывать объекты, помеченные на удаление» (или отбор по пометке). Скрывать их удобно, но не забывайте, что они остаются в базе.
Непосредственное удаление
Комбинация Shift+Del удаляет объект сразу, без пометки и без проверки ссылок. Она срабатывает, только если у роли пользователя есть право «Интерактивное удаление». В типовых конфигурациях его не дают даже бухгалтерам.
Не включайте право «Интерактивное удаление» в рабочей базе. При непосредственном удалении ссылки в документах не проверяются. Документы останутся со ссылками на несуществующий элемент: в поле появится текст вида <Объект не найден> (123:a1b2c3...).
Групповое удаление помеченных объектов
Пометка — только первый этап. Физически данные стирает обработка удаления помеченных.
Где запустить
| Конфигурация | Путь |
|---|---|
| Бухгалтерия 3.0, ЗУП 3.1, УТ 11, КА 2, ERP | Администрирование → Обслуживание → Корректировка данных → Удаление помеченных объектов |
| Любая конфигурация (стандартная обработка платформы) | Все функции → Стандартные → Удаление помеченных объектов |
Пункт «Все функции» включают в Сервис и настройки → Параметры → Отображать команду «Все функции» (меню с шестерёнкой или стрелкой в заголовке окна).
Порядок работы
- Откройте обработку. Выберите режим: удалить все помеченные или выбрать вручную.
- В ручном режиме отметьте флажками нужные объекты. Удобно разворачивать дерево по типам: справочники, документы, регистры.
- Нажмите «Удалить». Программа проверит каждую ссылку на объект.
- Посмотрите итог. Объекты без ссылок удалены. Остальные попадут в список «Не удалены» с перечнем мест, где они используются.
Если пользователи в базе есть, обработка может предложить монопольный режим. С ним проверка надёжнее и быстрее. Без него объекты, которые в эту минуту редактирует кто-то другой, будут пропущены — их удалят при следующем запуске.
Автоматическое удаление по расписанию
В конфигурациях на свежих версиях БСП в форме обработки можно выбрать удаление по расписанию. Тогда регламентное задание раз в сутки само удаляет помеченные объекты без ссылок.
Автоудаление снимает человеческий контроль. Документ, помеченный по ошибке, исчезнет ночью, и вспомнить о нём успеют только по резервной копии. В базах, где пометки ставят многие пользователи, лучше удалять вручную раз в неделю или месяц, после просмотра списка.
Поиск ссылок: почему объект не удаляется
Самая частая ситуация: обработка отработала, а элемент остался в списке «Не удалены». Причина всегда одна — на него ссылается другой объект, не помеченный на удаление.
Как найти, кто ссылается
- 🔍 В самой обработке. В списке неудалённых выделите объект — справа или снизу появится перечень мест использования: документы, элементы справочников, записи регистров.
- 🔍 Стандартная обработка.
Все функции → Стандартные → Поиск ссылок на объекты. Укажите объект и нажмите «Найти ссылки» — получите полный список с типами. - 🔍 Отчёт «Места использования». В конфигурациях на БСП он открывается из карточки объекта через меню «Ещё» или из обработки удаления.
Что делать с найденными ссылками
- Ссылка из ненужного документа. Пометьте и его на удаление. Затем удалите оба объекта одним запуском — программа поймёт, что ссылки внутри удаляемого набора.
- Ссылка из нужного документа. Откройте документ, замените значение на правильное и перепроведите. Документ в закрытом периоде без изменения даты запрета не исправить.
- Дубль элемента справочника. Не правьте документы вручную. В БСП есть обработка
Администрирование → Обслуживание → Корректировка данных → Поиск и удаление дублей. Она переназначает все ссылки с дубля на основной элемент и затем удаляет дубль. - Ссылка из записи регистра сведений. Найдите запись в самом регистре (через
Все функции → Регистры сведений) и удалите её или замените значение.
Если удаляете товар, контрагента или сотрудника вместе с историей — помечайте всё за один заход: документы, договоры, банковские счета. Один пропущенный договор не даст удалить контрагента.
Удаление объектов конфигурации в Конфигураторе
Справочник целиком, документ как вид, реквизит, регистр, отчёт — это метаданные. Их удаляют в Конфигураторе, и это уже работа разработчика.
Если конфигурация на поддержке
Типовая конфигурация на полной поддержке не даёт ничего удалить: объекты защищены замком. Порядок:
Конфигурация → Поддержка → Настройка поддержки.- Кнопка «Включить возможность изменения». Подтвердите.
- Для нужного объекта установите правило «Объект поставщика редактируется с сохранением поддержки».
Учтите: после снятия замка обновления ставятся через сравнение и объединение. Каждое обновление придётся проверять дольше. Если доработка небольшая, сначала подумайте о расширении конфигурации — правда, удалить типовой объект расширение не может, оно только добавляет и изменяет.
Порядок удаления метаданных
- Найдите все ссылки на объект в конфигурации: правой кнопкой по объекту → «Поиск ссылок на объект». В списке будут реквизиты других объектов, формы, макеты, роли, подписки на события.
- Уберите каждую ссылку: смените тип реквизита, удалите строку из роли, поправьте код модулей. Поиск по тексту модулей —
Ctrl+Shift+Fс областью «Вся конфигурация». - Выделите объект в дереве и нажмите
Del. Если ссылки остались, Конфигуратор покажет их и не удалит объект. - Выполните синтаксический контроль модулей:
Конфигурация → Проверка конфигурации. - Обновите конфигурацию базы данных (
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С?
Почему пометка на удаление недоступна?
Сколько времени идёт удаление помеченных?
Уменьшится ли файл базы после удаления?
Кто видит, что объект удалили?
Администрирование → Обслуживание → Журнал регистрации, отбор по событию удаления. Там видны пользователь, время и представление объекта.