Как эффективно удалить помеченные объекты в 1С:УТ 11.2 и подготовить базу к переходу на 11.5?

Системный администратор 1С v8.3 (Управляемые формы) 1С:Управление торговлей Управленческий учет Торговля и дистрибуция
← На главную

Переход с конфигурации 1С:Управление торговлей 11.2 на актуальную версию 11.5 — это сложный технический процесс, сопоставимый с внедрением новой системы. Одной из главных проблем на этом пути становится избыточный объем данных: старые документы, неактуальные контрагенты и справочники, накопленные за годы работы. Попытка очистить такую базу вручную часто превращается в бесконечный процесс из-за контроля ссылочной целостности. Рассмотрим подробно, как правильно подойти к решению этой задачи, используя штатные и дополнительные инструменты 1С.

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

Прежде чем прибегать к сторонним обработкам, разберем штатные возможности платформы 1С:Предприятие 8.3. В управляемых формах УТ 11.2 доступ к этой функции может быть скрыт, поэтому воспользуемся наиболее полным интерфейсом.

Проанализируем шаги для запуска процедуры:

  1. Откроем главное меню (кнопка в левом верхнем углу в виде оранжевого круга со стрелкой).
  2. Перейдем в раздел Функции для технического специалиста (если данный пункт не отображается, его необходимо включить в Настройки — Параметры — Режим отладки или Отображать команду "Функции для технического специалиста").
  3. В открывшемся окне раскроем ветку Стандартные и выберем Удаление помеченных объектов.

Рассмотрим два режима работы этого инструмента:

Проблема ссылочной целостности и пути её решения

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

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

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


// Пример алгоритма для программной пометки старых документов
Запрос = Новый Запрос;
Запрос.Текст = 
    "ВЫБРАТЬ
    |	РеализацияТоваровУслуг.Ссылка КАК Ссылка
    |ИЗ
    |	Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
    |ГДЕ
    |	РеализацияТоваровУслуг.Дата < &ДатаОграничения";

Запрос.УстановитьПараметр("ДатаОграничения", '20180101000000');
РезультатЗапроса = Запрос.Выполнить();
Выборка = РезультатЗапроса.Выбрать();

Пока Выборка.Следующий() Цикл
    ОбъектДок = Выборка.Ссылка.ПолучитьОбъект();
    ОбъектДок.УстановитьПометкуУдаления(Истина);
КонецЦикла;

Свертка информационной базы как метод очистки

Если документов слишком много, ручное удаление неэффективно. Разберем механизм Свертки базы. Это стандартная процедура, которая:

  1. Формирует документы Ввод остатков на выбранную дату (например, 31 декабря прошлого года).
  2. Помечает на удаление все первичные документы (чеки, накладные, заказы), созданные до этой даты.
  3. Очищает регистры накопления и сведений за прошлые периоды.

Это позволяет сохранить актуальное состояние взаиморасчетов и остатков товаров, при этом избавившись от «тяжелой» истории, которая только тормозит процесс перехода на УТ 11.5.

Стратегия перехода через перенос остатков (Clean Start)

Посмотрим на ситуацию критически: переход с 11.2 на 11.5 через последовательное обновление всех релизов (11.3, 11.4) крайне трудозатратен и чреват накоплением программных ошибок. Профессионалы рекомендуют альтернативный подход — перенос данных в чистую базу.

Разберем этот алгоритм по шагам:

  1. Создаем пустую базу УТ 11.5 последней версии.
  2. Используем встроенную обработку "Выгрузка данных в узлы обмена" или универсальный обмен в формате XML.
  3. Выгружаем из старой базы только необходимые справочники (Номенклатура, Контрагенты, Склады) и остатки по счетам/регистрам.
  4. Загружаем данные в 11.5.

Важное преимущество: при таком подходе «мусор» и битые ссылки из 11.2 физически не попадут в новую систему. Вы начнете работу в чистой базе, сохранив только то, что действительно нужно для бизнеса.

Техническая оптимизация процесса удаления

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

Рассмотрим ситуацию, когда объект «намертво» заблокирован ссылками из регистров сведений. В таких случаях программисты используют удаление без контроля ссылочной целостности через метод Объект.Удалить(). Внимание: это крайне опасная операция, которую нельзя выполнять в рабочей базе без полного понимания последствий, так как она создает «битые ссылки» (объекты с текстом <Объект не найден>).

Итоги и рекомендации

Подводя итог, отметим, что для подготовки к переходу на 11.5 наиболее рациональным является путь свертки или переноса остатков. Попытки просто «почистить» базу 11.2 штатными методами удаления при большом объеме данных часто приводят к тому, что ссылки в старых регистрах не позволяют удалить и 10% намеченного объема. Выясним, какой инструмент лучше выбрать в вашем случае: если база небольшая (до 10-20 Гб) — подойдет свертка; если база огромная и работает со сбоями — только перенос данных в новую версию.

← На главную