Работа с помеченными объектами в 1С:Управление Торговлей (УТ) — одна из самых востребованных административных задач. Со временем база данных заполняется устаревшими документами, справочниками и записями, которые мешают работе, но не могут быть удалены стандартным способом. Пометка на удаление позволяет "мягко" избавиться от ненужных данных, однако многие пользователи сталкиваются с проблемой: как окончательно очистить базу от этих объектов?

В этой статье мы разберём все доступные методы удаления помеченных объектов в 1С УТ — от ручных операций в интерфейсе программы до автоматизированных скриптов. Вы узнаете, какие инструменты использовать в зависимости от версии платформы (8.3.20+ или более ранние), как избежать ошибок при массовом удалении, и что делать, если система блокирует очистку. Особое внимание уделим безопасности данных и восстановлению после некорректных операций.

Материал будет полезен как администраторам , так и обычным пользователям, которые хотят поддерживать базу в чистоте без привлечения программистов. Все инструкции проиллюстрированы скриншотами и примерами кода (где это необходимо), а критичные моменты выделены отдельно.

Что такое "помеченные на удаление" объекты и почему их нужно удалять

В 1С:Управление Торговлей объекты (документы, справочники, регистры) не удаляются физически сразу после нажатия кнопки Удалить. Вместо этого они получают специальную метку — пометку на удаление. Это сделано для:

  • 🔄 Возможности восстановления данных при ошибочном удалении.
  • 📊 Сохранения целостности отчётности (например, если документ уже попал в закрытый период).
  • 🔗 Поддержания ссылочной целостности (чтобы не "оборвать" связи с другими объектами).

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

  • 🐢 Замедлению работы базы (особенно заметно при большом количестве помеченных документов).
  • 📉 Усложнению поиска актуальных данных (в списках отображаются и помеченные, и непомеченные записи).
  • 💾 Увеличению размера резервных копий и файла базы данных.

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

📊 Как часто вы очищаете помеченные объекты в 1С УТ?
Раз в месяц
Раз в квартал
Только когда база тормозит
Никогда не очищал

Способы удаления помеченных объектов в 1С УТ

В зависимости от версии 1С:Предприятие и прав доступа пользователя доступны следующие методы очистки:

Способ Подходит для Требуемые права Сложность
Ручное удаление через интерфейс Небольшого количества объектов Полные права или роль "Администратор" Низкая
Обработка "Удаление помеченных объектов" Массовой очистки Административные права Средняя
Консоль запросов (1С:Предприятие 8.3) Продвинутых пользователей Права на выполнение запросов Высокая
Внешняя обработка или скрипт Автоматизации регулярной очистки Права разработчика Высокая

Рассмотрим каждый метод подробнее, начиная с самого простого.

Ручное удаление помеченных объектов через интерфейс 1С УТ

Этот способ подходит, если нужно удалить несколько конкретных объектов (например, ошибочно помеченный документ или справочник). Алгоритм действий:

  1. Откройте список объектов, которые нужно очистить (например, Документы → Реализация товаров и услуг).
  2. Включите отображение помеченных объектов: нажмите Ещё → Показать помеченные на удаление.
  3. Выделите нужные строки (можно использовать Shift или Ctrl для множественного выбора).
  4. Нажмите Удалить окончательно (или Ещё → Удалить помеченные, в зависимости от версии).
  5. Подтвердите действие в диалоговом окне.

Проверьте, что объекты не используются в текущих бизнес-процессах

Создайте резервную копию базы (на случай ошибки)

Убедитесь, что у вас достаточно прав для удаления

Закройте все открытые формы с этими объектами-->

⚠️ Внимание: В некоторых конфигурациях 1С УТ опция Удалить окончательно может быть скрыта. В этом случае используйте обработку "Удаление помеченных объектов" (см. следующий раздел).

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

Использование стандартной обработки "Удаление помеченных объектов"

Для массового удаления в 1С УТ предусмотрена специальная обработка. Чтобы её запустить:

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

Обработка позволяет:

  • 📅 Фильтровать объекты по дате пометки.
  • 📋 Выбирать конкретные виды документов или справочников.
  • 🔄 Просматривать список объектов перед удалением.

⚠️ Внимание: Если в процессе удаления появляется ошибка "Объект используется в другом месте", это означает, что помеченный объект ссылается на данные, которые ещё актуальны. В этом случае:

  • Проверьте, не связан ли объект с незакрытыми периодами или текущими операциями.
  • Используйте отчёт "Анализ ссылочной целостности" (доступен в Все функции).
  • При необходимости снимите пометку на удаление и повторите попытку позже.

В версиях 1С УТ 11.4.10+ обработка поддерживает фоновое выполнение, что позволяет не блокировать работу других пользователей во время очистки.

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

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

Пример запроса для удаления помеченных документов типа "Заказ клиента":

УдалитьОбъекты = Новый Структура();

УдалитьОбъекты.Вставить("ВидыДокументов", Новый Массив("Документ.ЗаказКлиента"));

ПараметрыПоиска = Новый Структура();

ПараметрыПоиска.Вставить("Помеченные", Истина);

ПараметрыПоиска.Вставить("ДатаНачала", НачалоДня(ТекущаяДата() - 365));

ПараметрыПоиска.Вставить("ДатаОкончания", КонецДня(ТекущаяДата()));

Результат = ОбменДанными.УдалитьПомеченныеОбъекты(УдалитьОбъекты, ПараметрыПоиска);

Чтобы выполнить запрос:

  1. Откройте консоль запросов: Все функции → Отладка → Консоль запросов.
  2. Вставьте код (при необходимости отредактируйте виды документов и даты).
  3. Нажмите Выполнить (F5).

⚠️ Внимание: Неправильно составленный запрос может привести к удалению непомеченных объектов или нарушению целостности данных. Перед выполнением:

  • 🔍 Проверьте запрос на тестовой базе.
  • 📦 Создайте резервную копию.
  • 🛠️ Используйте транзакции (оберните код в НачатьТранзакцию()/ЗафиксироватьТранзакцию()).
Пример транзакционного запроса

НачатьТранзакцию();

Попытка

// Ваш код удаления здесь

ЗафиксироватьТранзакцию();

Исключение

ОтменитьТранзакцию();

Сообщить("Ошибка: " + ОписаниеОшибки());

КонецПопытки;

Автоматизация удаления: внешние обработки и регламентные задания

Если очистка помеченных объектов требуется регулярно (например, раз в месяц), целесообразно автоматизировать процесс. Для этого можно:

  1. Создать регламентное задание:
    • Перейдите в Администрирование → Регламентные и фоновые задания.
    • Создайте новое задание с типом "Удаление помеченных объектов".
    • Настройте расписание (например, каждое 1-е число месяца в 2:00).
  • Использовать внешнюю обработку:

    Многие разработчики публикуют готовые обработки для массового удаления с расширенными настройками (например, фильтрация по автору пометки, типу объекта и т.д.). Популярные решения:

    • 📥 "Универсальное удаление помеченных объектов" (от 1С-Рарус).
    • 📥 "Помощник администратора 1С" (включает модуль очистки).

    Преимущества автоматизации:

    • ⏰ Экономия времени (не нужно запускать процесс вручную).
    • 📅 Регулярность (база всегда чистая).
    • 🛡️ Безопасность (можно настроить уведомления об ошибках).

    ⚠️ Внимание: При настройке регламентных заданий учитывайте нагрузку на сервер. Не планируйте очистку на рабочее время, если в базе одновременно работают другие пользователи.

    💡

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

    Частые ошибки и их решения

    При удалении помеченных объектов пользователи часто сталкиваются с типичными проблемами. Рассмотрим самые распространённые и способы их устранения:

    Ошибка Причина Решение
    "Объект используется в регистре" Помеченный документ затрагивает движения в регистрах (например, остатки товаров). Используйте обработку "Проверка и исправление ссылочной целостности" или снимите пометку.
    "Недостаточно прав" У пользователя нет роли "Администратор" или "Полные права". Запросите права у администратора или выполните операцию от имени пользователя с нужными полномочиями.
    "Таймаут блокировки" Другие пользователи работают с теми же объектами. Запустите удаление в нерабочее время или используйте монопольный режим (Файл → Открыть в монопольном режиме).
    База "зависает" при массовом удалении Слишком много объектов или низкая производительность сервера. Разбейте очистку на части (например, по датам) или оптимизируйте сервер.

    Если ошибка не устраняется стандартными методами, проверьте:

    • 📋 Журнал регистрации (Администрирование → Журнал регистрации) на наличие детальной информации об ошибке.
    • 🔧 Целостность базы (запустите Тестирование и исправление в конфигураторе).
    • 📚 Документацию к вашей версии 1С УТ — некоторые ошибки специфичны для определённых релизов.
    💡

    Перед массовым удалением всегда проверяйте, не блокируются ли помеченные объекты текущими бизнес-процессами (например, открытыми заказами или неоплаченными счетами).

    Восстановление данных после ошибочного удаления

    Если вы случайно удалили нужные объекты, есть несколько способов их восстановить:

    1. Восстановление из резервной копии:

      Самый надёжный метод, если копия актуальна. Используйте стандартные средства или внешние утилиты (например, 1C:Repair).

    2. Откат транзакции:

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

    3. Использование журнала изменений:

      В некоторых конфигурациях ведётся журнал изменений (Администрирование → Журналы → Журнал изменений). Через него можно отследить, какие объекты были удалены, и восстановить их вручную.

    ⚠️ Внимание: Восстановление данных — сложная операция, которая может привести к нарушению целостности базы. Если вы не уверены в своих действиях, обратитесь к специалисту по .

    Чтобы минимизировать риски:

    • 📅 Настройте автоматическое резервное копирование (например, через 1С:Администратор сервера).
    • 🔐 Ограничьте права на удаление для обычных пользователей.
    • 📋 Ведите журнал операций очистки (например, в отдельном документе "Журнал администратора").

    FAQ: Ответы на частые вопросы

    Можно ли удалить помеченные объекты без прав администратора?

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

    Почему после удаления помеченных объектов база не уменьшилась в размере?

    Физическое сжатие файла базы данных происходит не сразу. Чтобы освободить место:

    1. Выполните Тестирование и исправление в конфигураторе (Администрирование → Тестирование и исправление).
    2. Выберите опцию "Реструктуризация таблиц" и "Сжатие таблиц".
    3. Для SQL-версии используйте утилиту SQL Server Management Studio для сжатия базы.
    Как удалить помеченные объекты в облачной версии 1С УТ?

    В облачных решениях (например, 1С:Fresh) прямой доступ к бам данных ограничен. Варианты:

    • Используйте стандартную обработку "Удаление помеченных объектов" (доступна в веб-интерфейсе).
    • Обратитесь в техническую поддержку провайдера с запросом на очистку.

    ⚠️ В облаке некоторые объекты могут быть защищены от удаления на уровне провайдера.

    Что делать, если обработка "зависает" при удалении?

    Причины и решения:

    • 🖥️ Нехватка ресурсов сервера: Закройте другие сеансы или выполните операцию в нерабочее время.
    • 🔗 Блокировки: Проверьте, не открыты ли помеченные объекты в других сеансах (через Активные пользователи).
    • 📉 Слишком много данных: Разбейте удаление на части (например, по 1000 объектов за раз).
    Можно ли удалить помеченные объекты избирательно (например, только документы за 2020 год)?

    Да, для этого:

    1. В стандартной обработке "Удаление помеченных объектов" укажите диапазон дат.
    2. Или используйте консоль запросов с фильтрацией по дате (см. пример в разделе про запросы).

    Пример фильтра по дате в обработке:

    Параметры.ДатаНачала = '01.01.2020';
    

    Параметры.ДатаОкончания = '31.12.2020';