Удаление документов, справочников и движений в 1С 8.3 без потерь

· 11 мин

Содержание

Удалять данные в 1С безопасно в два этапа: сначала пометить объект на удаление клавишей Del, затем запустить обработку «Удаление помеченных объектов» (в БП 3.0, ЗУП 3.1 и УТ 11 — Администрирование → Обслуживание, группа «Корректировка данных»). Обработка сама проверит, ссылаются ли на объект другие данные, и не даст сломать учёт.

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

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

Подготовка к удалению данных: копия, права, пользователи

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

Перед массовым удалением сделайте выгрузку базы в файл .dt. Это делается в Конфигураторе: Администрирование → Выгрузить информационную базу. Для клиент-серверной базы подойдёт и штатная копия средствами СУБД, если её делает администратор.

Что проверить заранее:

  • 👤 Права. Пометить на удаление может любой пользователь с правом редактирования. Запустить обработку удаления обычно может только администратор: в типовых конфигурациях она доступна полным правам.
  • 👥 Кто работает в базе. Объекты, открытые другими пользователями или захваченные их транзакциями, могут не удалиться. Удобнее запускать удаление вечером или предупредить коллег.
  • 📅 Закрытый период. Если в базе настроены даты запрета изменения, документы закрытого периода удалить не получится. Это не ошибка, а защита: дату запрета сдвигает ответственный за учёт.
  • 🔗 Обмены. Если база участвует в обмене данными (с розницей, бухгалтерией, филиалом), удаление уйдёт и в другую базу. Удаляйте в той базе, которая главная для этих объектов.

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

Пометка — логическое удаление. Объект остаётся в базе, но перечёркивается в списке и получает значок с красным крестиком. Его по-прежнему видно в отчётах по ссылкам, но в новые документы выбрать его уже нельзя (в большинстве форм выбора помеченные скрыты или выделены).

Как пометить

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

Повторное Del на помеченном объекте снимает пометку. Так же работает команда в меню Ещё.

Что происходит с проведённым документом

Когда вы помечаете на удаление проведённый документ, платформа отменяет его проведение. Движения по регистрам удаляются сразу, остатки и обороты пересчитываются. Значит, отчёты изменятся ещё до запуска обработки удаления.

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

Пометка элемента справочника

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

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

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

Если у роли пользователя есть право интерактивного удаления, в меню Ещё появляется команда прямого удаления, минуя пометку. Прямое удаление не проверяет ссылки. Документы, где был выбран удалённый элемент, получат ссылку на несуществующий объект: в полях появится <Объект не найден>. В типовых конфигурациях это право обычным ролям не дают, и включать его не стоит.

Удаление помеченных объектов: стандартная обработка

Обработка ищет все помеченные объекты, проверяет ссылки и удаляет то, что можно удалить без вреда.

Где найти

КонфигурацияПуть
Бухгалтерия предприятия 3.0Администрирование → Обслуживание → Удаление помеченных объектов
ЗУП 3.1Администрирование → Обслуживание → Удаление помеченных объектов
Управление торговлей 11НСИ и администрирование → Администрирование → Обслуживание → Удаление помеченных объектов
Любая конфигурация на 8.3Главное меню → Все функции → Стандартные → Удаление помеченных объектов

Команда «Все функции» появляется после включения флажка «Отображать команду “Все функции”» в Главное меню → Сервис → Параметры.

Режимы работы

  • 🗑 Автоматическое удаление всех помеченных. Обработка проходит по всей базе и удаляет всё, что может. Подходит для регулярной чистки.
  • ✅ Выборочное удаление. Обработка показывает дерево помеченных объектов по видам (документы, справочники). Вы снимаете флажки с того, что пока удалять не нужно. Подходит, когда пометки ставили разные люди и не все уверены.

Пошагово

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

Неудалённые объекты обработка показывает с причиной: где именно есть ссылка на объект. Двойной клик по строке открывает мешающий документ или элемент.

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

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

Главная защита 1С — контроль ссылочной целостности. Объект нельзя удалить, пока на него ссылаются неудаляемые данные.

Типичные причины

  • 📄 Ссылка из непомеченного документа. Например, вы помечаете контрагента, а на него оформлены 15 реализаций. Пока реализации живы, контрагент не удалится.
  • 🧾 Ссылка из регистра сведений. Цены номенклатуры, курсы, контактная информация, история сотрудника. Записи регистра тоже держат объект.
  • 🔁 Ссылка из реквизитов другого справочника. Договор указывает на контрагента, банковский счёт — на банк, номенклатура — на единицу измерения.
  • 🗂 Подчинённые документы. Счёт-фактура выписан на основании реализации: удалить реализацию без счёта-фактуры не выйдет.

Если оба объекта помечены и ссылаются друг на друга (реализация и её счёт-фактура), обработка удалит их вместе. Циклические ссылки между помеченными объектами она разбирает сама.

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

  1. Для документа: в форме или списке откройте структуру подчинённости (команда есть в панели и в меню Ещё). Видны все документы, созданные на его основании.
  2. Для любого объекта: Все функции → Стандартные → Поиск ссылок на объекты. Выберите объект, нажмите поиск — получите список всех мест использования, включая регистры.
  3. В результате обработки удаления — дерево неудалённых объектов с указанием мешающих ссылок.

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

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

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

Диагностика: выберите симптом

Удаление движений документов и правка прошлых периодов

Иногда документ нужен как первичка, а его проводки — нет. Например, поступление ввели дважды: один документ оставляете, второй исключаете из учёта.

Отмена проведения

  1. Откройте список документов.
  2. Выделите один или несколько документов.
  3. В меню Ещё выберите отмену проведения.

Документ остаётся в базе с непроведённым статусом. Все его движения по регистрам и проводки удаляются. Повторное проведение восстановит их по текущим данным.

Последовательность и задним числом

Отмена проведения или удаление документа в прошлом месяце сдвигает всё, что считается последовательно:

  • 📦 себестоимость списания при партионном учёте;
  • 💰 закрытие месяца и финансовый результат;
  • 🧮 расчёты по НДС и книги покупок и продаж;
  • 👷 зарплатные расчёты, если удалён кадровый документ.

После правок задним числом перепроведите документы с изменённой даты и заново выполните закрытие месяца за каждый затронутый период. Для массового перепроведения в типовых конфигурациях есть обработка группового перепроведения документов в разделе Администрирование → Обслуживание.

Ручная корректировка движений

В БП 3.0 у документа можно открыть проводки (кнопка ДтКт) и включить ручную корректировку. Тогда проводки правятся или удаляются вручную, а при перепроведении документ их не перезапишет.

Ручная корректировка разрывает связь между данными документа и его проводками. Пользуйтесь ей точечно и оставляйте комментарий в документе, почему так сделано.

Глубокая очистка: итоги регистров, битые ссылки, сжатие

Обычное удаление убирает объекты, но не облегчает базу. Для этого есть три инструмента разной глубины.

Управление итогами

Итоги — заранее посчитанные остатки регистров накопления и бухгалтерии. Они ускоряют отчёты. Если итоги «поехали» (отчёт показывает одно, расшифровка — другое), их пересчитывают.

Путь: Все функции → Стандартные → Управление итогами. В типовых конфигурациях та же обработка есть и в разделе обслуживания.

Что можно сделать:

  • 🔄 пересчитать итоги — удаляет накопленные итоги и считает заново по движениям;
  • 📆 установить период рассчитанных итогов — итоги хранятся по указанную дату, дальше считаются на лету;
  • ⏸ выключить и снова включить использование итогов — применяют при массовой загрузке данных.

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

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

Глубокая проверка выполняется в Конфигураторе: Администрирование → Тестирование и исправление. Для неё нужен монопольный доступ: все пользователи должны выйти из базы.

Полезные флажки:

ФлажокЧто делает
Реиндексация таблиц информационной базыПерестраивает индексы
Проверка логической целостностиИщет нарушения структуры
Проверка ссылочной целостностиИщет ссылки на несуществующие объекты
Пересчёт итоговТо же, что в управлении итогами
Сжатие таблиц информационной базыУменьшает размер файла базы

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

Почему файл базы не уменьшился

Файловая база (1Cv8.1CD) после удаления данных не сжимается сама: освободившиеся страницы остаются внутри файла. Размер уменьшают двумя способами:

  1. Тестирование и исправление с флажком «Сжатие таблиц информационной базы».
  2. Выгрузка базы в .dt и загрузка обратно в пустую базу.

В клиент-серверной базе место освобождает обслуживание на стороне СУБД. Это задача администратора сервера.

Свёртка базы

Когда база копит данные десятилетиями, помогает свёртка: старые документы заменяются вводом остатков на выбранную дату. Это самая радикальная очистка — документы прошлых лет пропадают. Перед свёрткой сохраните полную копию базы как архив. Часто вместо свёртки выбирают новую базу с переносом остатков, а старую оставляют только для просмотра.

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

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

Как включить

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

В файловой базе регламентные задания выполняются, только когда в базе работает хотя бы один пользователь или запущен отдельный сеанс. В клиент-серверной базе их выполняет сервер 1С, если для базы не установлена блокировка регламентных заданий.

Где смотреть результат

Итог каждого запуска пишется в журнал регистрации: Администрирование → Обслуживание → Журнал регистрации. Отфильтруйте события по регламентному заданию удаления — увидите, сколько объектов удалено и были ли ошибки.

Удаление из кода

Разработчику иногда нужно пометить объекты программно, например при обработке загрузки. Безопасный путь тот же: пометка, а не прямое удаление.

ДокументОбъект = СсылкаНаДокумент.ПолучитьОбъект();
ДокументОбъект.УстановитьПометкуУдаления(Истина);

Метод УстановитьПометкуУдаления у проведённого документа отменяет проведение, как и интерактивная пометка. Метод Удалить() удаляет объект без контроля ссылок — его применяют только во внешних обработках с полной копией базы под рукой.

Регулярная чистка базы
Выполнено: 0 / 6

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

Можно ли восстановить удалённый в 1С документ?
Только из резервной копии. Загрузите копию в отдельную базу, найдите документ и перенесите его через обмен или вручную. Помеченный, но ещё не удалённый документ восстанавливается снятием пометки.
Кто удалил документ: как узнать?
Откройте журнал регистрации и отфильтруйте события изменения и удаления данных. В записи будут пользователь, время и компьютер. Если журнал ведётся только по ошибкам, такие события не сохранятся.
Почему помеченный документ всё ещё влияет на отчёты?
Обычно не влияет: пометка отменяет проведение. Если отчёт меняется, проверьте, не проведён ли дубль этого документа, и обновите итоги.
Нужно ли выгонять всех пользователей для удаления помеченных?
Для самой обработки — не обязательно, но объекты, с которыми работают люди, могут остаться. Для тестирования и исправления в Конфигураторе выход всех пользователей обязателен.
Как удалить все документы за год сразу?
Установите отбор по периоду в списке, выделите все строки (Ctrl+A), пометьте на удаление и запустите обработку. Для полной очистки прошлых лет надёжнее свёртка или новая база с остатками.