Чистим базу УПП от объектов, помеченных на удаление

· 9 мин

Содержание

Помеченные объекты в УПП удаляют через Операции → Удаление помеченных объектов. Обработка сначала проверяет ссылки, потом стирает только те элементы, на которые больше никто не ссылается. Если объект где-то используется — он останется, и программа покажет, что именно ему мешает.

Пометка на удаление сама по себе ничего не стирает. Документ или элемент справочника с «крестиком» продолжает участвовать в движениях, попадает в отчёты по старым периодам и занимает место в базе. Физически данные пропадают только после запуска удаления помеченных объектов — и только при монопольном доступе к базе.

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

Что сделать до запуска удаления

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

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

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

Чек-лист подготовки к удалению
Выполнено: 0 / 5

Отдельно проверьте периоды. Если удаляемые документы попадают в закрытый и сданный период, после их удаления отчётность за этот период «поедет». Удаляйте только то, что не влияет на сданные декларации и утверждённые остатки.

Групповое удаление через меню «Операции»

Штатный способ в УПП — обработка Операции → Удаление помеченных объектов. Она работает в два прохода: сначала контроль, потом само удаление.

Порядок действий:

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

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

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

Как снять пометку. Если передумали удалять, повторный Del или команда контекстного меню снимает пометку с выделенных строк. Пока удаление не запущено, пометку можно ставить и снимать сколько угодно — на данные это не влияет.

Клиент-серверный вариант. В клиент-серверной базе проследить, что все вышли, надёжнее через консоль администрирования кластера: там виден список активных сеансов. Удалять лучше с клиентской машины, подключённой к серверу напрямую, а не через медленный канал, — контроль ссылок гоняет много запросов к СУБД.

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

Самая частая причина «не удаляется» — на объект ссылается другой, не помеченный на удаление объект. 1С не даёт удалить то, что используется, иначе в базе появятся «битые» ссылки.

Типовые ситуации:

  • 📄 Контрагент участвует в документах. Пока существует хоть одна накладная, счёт или платёжка с этим контрагентом, справочник не удалить. Нужно либо пометить документы, либо заменить в них контрагента.
  • 📦 Номенклатура в движениях и остатках. Позиция с остатком на складе или с движениями по регистрам останется. Сначала закрываются остатки и помечаются документы.
  • 🏷 Элемент выбран как значение по умолчанию. Склад, статья затрат или вид операции могут быть прописаны в настройках пользователя, в учётной политике или в других справочниках как значение по умолчанию.
  • 🔗 Ссылка в другом справочнике. Группа номенклатуры, основной договор контрагента, подразделение в карточке сотрудника — всё это ссылки.
Диагностика: выберите симптом

Разорвать ссылку можно двумя путями: пометить ссылающийся объект на удаление тоже (тогда они уйдут вместе) или очистить/заменить ссылку в нём, оставив сам объект. Второй вариант — через групповую обработку, о ней ниже.

Массовая замена ссылок через групповое изменение реквизитов

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

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

Как это выглядит на практике:

  1. Откройте обработку групповой работы со справочниками и документами (в типовой УПП она доступна из меню операций или сервиса; точное название пункта может отличаться по релизу).
  2. Выберите тип объектов, которые нужно поправить, — например, документы реализации или элементы справочника.
  3. Задайте отбор: реквизит равен удаляемому значению (тот самый контрагент, склад, статья).
  4. Укажите новое значение реквизита или очистку поля.
  5. Выполните изменение и проверьте результат по нескольким объектам вручную.

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

Пример. Заведён дубль контрагента «ООО Ромашка», часть документов ушла на него вместо основной карточки. Открываете групповую обработку документов, ставите отбор «Контрагент = дубль», новое значение — основная карточка, применяете. Все документы переезжают на правильного контрагента, дубль освобождается и спокойно удаляется.

Обработка полезна и для документов: массово перепровести, сменить организацию или подразделение, снять/установить пометки удаления по отбору. Для разовой чистки перед удалением это самый быстрый способ развязать ссылки.

Регистры накопления и пересчёт итогов

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

Проблемы начинаются в двух случаях:

  • остались «ручные» записи в регистрах, не связанные с удалённым документом;
  • после массового удаления разошлись рассчитанные итоги.

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

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

Если после удаления отчёты по остаткам ведут себя странно (отрицательные остатки, задвоение), прогоните базу через Конфигуратор → Администрирование → Тестирование и исправление с галочкой пересчёта итогов. Это штатная процедура восстановления, но она тоже требует монопольного доступа и предварительной копии.

Проверить результат удобно оборотно-сальдовой ведомостью по нужному регистру или отчётом по остаткам: цифры до и после пересчёта по закрытым периодам должны совпадать. Расхождение — сигнал, что задели документ из закрытого периода.

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

Особенности и подводные камни в УПП

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

На что обратить внимание:

  • Производственные документы связаны в цепочки. Заказ на производство, спецификация, выпуск продукции, списание материалов ссылаются друг на друга. Удаление одного звена без остальных почти всегда упирается в ссылки — помечайте цепочку целиком.
  • Взаиморасчёты и партионный учёт. Удаление документов поставки задним числом ломает расчёт себестоимости по партиям. Если ведёте партионный учёт, после чистки перепроведите документы за период и пересчитайте себестоимость.
  • Регламентные задания и обмены. Если база участвует в распределённой информационной базе (РИБ) или обмене с другими базами, удаление объектов должно пройти по всем узлам. Удалённый в одном узле объект, пришедший из другого, может «вернуться» при следующем обмене.
Что удаляемГлавный рискЧто сделать до удаления
Справочник (контрагент, номенклатура)Ссылки в документах и остаткахЗакрыть остатки, заменить ссылки групповой обработкой
Документы за периодСдвиг закрытых отчётов, себестоимостиУдалять только открытый период, потом пересчитать итоги
Производственные документыРазрыв цепочки «заказ → выпуск → списание»Помечать связанные документы вместе

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

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

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

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