Работа с помеченными на удаление документами в 1С:Предприятие 8.3 — одна из самых частых задач, с которой сталкиваются бухгалтеры, администраторы и программисты. На первый взгляд процедура кажется простой: поставил галочку «Пометка на удаление» — и готово. Но на практике пользователи сталкиваются с массой нюансов: от невозможности окончательного удаления до ошибок при очистке базы. Эта статья поможет разобраться, как правильно и безопасно удалить помеченные документы, избежав типичных проблем.

В отличие от физического удаления (когда запись стирается из базы навсегда), пометка на удаление в 1С 8.3 работает как «мягкое» удаление. Документ остаётся в базе, но перестаёт участвовать в расчётах, отчётах и проводках. Это удобно для восстановления данных, но со временем накапливается «мусор», который замедляет работу системы. Опытные администраторы знают: неконтролируемое накопление помеченных объектов может увеличить размер базы на 30–50% и тормозить регламентные операции.

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

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

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

Что происходит при пометке:

  • 📄 Документ исчезает из журналов и отчётов, но остаётся в таблицах базы данных.
  • 🔗 Все ссылки на него (в проводках, регистрах, других документах) сохраняются, но игнорируются системой.
  • 🗑️ Объект занимает место на диске и может тормозить регламентные операции (например, Тестирование и исправление).

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

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

2. Способ 1: Удаление через стандартный интерфейс 1С 8.3

Самый простой метод — использовать встроенные инструменты платформы. Он подходит для небольших баз и единичных документов. Чтобы окончательно удалить помеченные объекты:

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

Если кнопка Удалить помеченные неактивна, проверьте:

  • 🔒 Права пользователя: у вас должна быть роль с правом Администрирование или Полные права.
  • 🔄 Режим работы: в 1С:Предприятие (не в конфигураторе!) и без активных блокировок.
  • 📊 Тип документа: некоторые объекты (например, Операции или Платежные поручения) требуют предварительной очистки движений.

Убедиться, что нет активных пользователей в базе|Сделать резервную копию (обязательно!)|Проверить права текущего пользователя|Закрыть все открытые формы и отчёты-->

Важно: в некоторых конфигурациях (например, 1С:Бухгалтерия 3.0) для массового удаления требуется запуск регламентного задания Очистка помеченных объектов. Оно доступно в разделе Администрирование → Поддержка и обслуживание → Регламентные операции.

💡

Если документы не удаляются через интерфейс, попробуйте использовать Все функции (Ctrl+Shift+F12) и найдите команду Очистка помеченных объектов в дереве объектов.

3. Способ 2: Программное удаление с помощью запросов

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

Пример запроса для удаления всех помеченных документов типа РеализацияТоваровУслуг:

Запрос = Новый Запрос;

Запрос.Текст =

"ВЫБРАТЬ

| РеализацияТоваровУслуг.Ссылка КАК Ссылка

|ИЗ

| Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг

|ГДЕ

| РеализацияТоваровУслуг.ПометкаУдаления = ИСТИНА";

Результат = Запрос.Выполнить();

Выборка = Результат.Выбрать();

Пока Выборка.Следующий() Цикл

Объект = Выборка.Ссылка.ПолучитьОбъект();

Объект.Удалить();

КонецЦикла;

Преимущества программного подхода:

  • 🎯 Точный контроль: можно фильтровать по дате, контрагенту, сумме и другим параметрам.
  • 📈 Массовая обработка: подходит для баз с тысячами помеченных документов.
  • 🔧 Автоматизация: запрос можно встроить в регламентное задание или внешнюю обработку.

Ограничения:

  • ⚠️ Требует знания языка и структуры базы.
  • ⚠️ Опасно для новичков: ошибка в запросе может удалить не те данные.
  • ⚠️ Не работает, если на документы есть ссылки в регистрах (нужна предварительная очистка движений).
Как очистить движения перед удалением документов

Для документов, которые формируют движения (например, реализации или поступления), перед удалением нужно очистить записи в регистрах. Сделать это можно с помощью метода ОчиститьДвижения():

Док = Документы.РеализацияТоваровУслуг.НайтиПоНомеру("РТ-000123");

Док.ОчиститьДвижения();

Док.Удалить();

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

4. Способ 3: Использование обработки «Удаление помеченных объектов»

Для упрощения массового удаления в существует стандартная обработка УдалениеПомеченныхОбъектов.epf. Она входит в комплект поставки платформы и позволяет гибко настраивать очистку.

Как использовать:

  1. Откройте конфигуратор (1Cv8.exe /Config).
  2. Перейдите в Файл → Открыть → Выбрать файл обработки (обычно находится в каталоге C:\Program Files\1cv8\8.3.{версия}\bin\1cv8\templates\Русифицированные\УдалениеПомеченныхОбъектов.epf).
  3. Запустите обработку в режиме 1С:Предприятие.
  4. В окне обработки выберите типы объектов для очистки (например, Документы, Справочники).
  5. Нажмите Выполнить.

Преимущества обработки:

Функция Описание
Фильтрация по типам Можно выбрать только документы, справочники или регистры
Предварительный просмотр Показывает список объектов, которые будут удалены
Лог операций Сохраняет отчёт об удалённых объектах и ошибках
Работа с большими базами Оптимизирована для обработки тысяч записей

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

💡

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

5. Типичные ошибки и как их избежать

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

Ошибка 1: «Объект заблокирован другим пользователем»

Причина: в базе работают другие пользователи, или документ заблокирован регламентным заданием.

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

Решение:

  • 🔄 Перезапустите в монопольном режиме (1Cv8.exe /Monopoly).
  • 🚫 Отключите всех пользователей через Администрирование → Активные пользователи.
  • ⏳ Подождите 10–15 минут — иногда блокировки снимаются автоматически.

Ошибка 2: «Нарушение ссылочной целостности»

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

Решение:

  • 🔍 Используйте отчёт Анализ ссылочной целостности (доступен в 1С:Бухгалтерия через Отчёты → Стандартные → Анализ ссылочной целостности).
  • 🧹 Очистите движения документа (см. спойлер в разделе 3).
  • 🔄 Попробуйте удалить сначала зависимые объекты (например, задачи или комментарии).

Ошибка 3: «Недостаточно прав»

Причина: у текущего пользователя нет роли с правом Администрирование или Удаление помеченных объектов.

Решение:

  • 👤 Зайдите под пользователем с полными правами (например, Администратор).
  • 🔧 Настройте права в конфигураторе: Администрирование → Пользователи → Настройка прав.
  • 📜 Добавьте роль Администрирование системы или создайте новую роль с правом УдалениеПомеченныхОбъектов.

6. Как автоматизировать удаление: регламентные задания и скрипты

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

Вариант 1: Регламентное задание в 1С

В большинстве типовых конфигураций (например, 1С:Бухгалтерия 3.0 или 1С:Управление торговлей 11) есть встроенное задание Очистка помеченных объектов. Чтобы его настроить:

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

Вариант 2: Внешняя обработка с расписанием

Для гибкой настройки можно создать внешнюю обработку на языке и запускать её по расписанию через Планировщик заданий Windows или cron (для Linux-серверов). Пример кода для обработки:

Процедура ОчиститьПомеченныеДокументы() Экспорт

Запрос = Новый Запрос;

Запрос.Текст =

"ВЫБРАТЬ РАЗРЕШЕННЫЕ

| Документ.Ссылка КАК Ссылка

|ИЗ

| Документ КАК Документ

|ГДЕ

| Документ.ПометкаУдаления = ИСТИНА

| И Документ.ЭтоГруппа() = ЛОЖЬ";

Результат = Запрос.Выполнить();

Выборка = Результат.Выбрать();

Пока Выборка.Следующий() Цикл

Попытка

Объект = Выборка.Ссылка.ПолучитьОбъект();

Объект.Удалить();

Исключение

ЗаписатьЛог(ОписаниеОшибки());

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

КонецЦикла;

КонецПроцедуры

Чтобы запустить обработку по расписанию:

  • 📅 Создайте задачу в Планировщике заданий Windows с командой:
"C:\Program Files\1cv8\8.3.22.1234\bin\1cv8.exe" DESIGNER /S "ИмяСервера\ИмяБазы" /N "Администратор" /P "Пароль" /Execute "Путь\к\обработке.epf"
  • ⏰ Установите триггер (например, еженедельно в 2:00 ночи).
  • 📤 Настройте отправку лога на email (через ЗаписатьЛог() и ПослатьПочту()).
📊 Каким способом вы обычно удаляете помеченные документы?
Через стандартный интерфейс
С помощью обработки УдалениеПомеченныхОбъектов.epf
Программно (запросы или скрипты)
Автоматически (регламентные задания)

7. Когда удалять не нужно: альтернативные подходы

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

Альтернатива 1: Архивация данных

Вместо удаления можно перенести устаревшие документы в архивную базу. Это актуально для:

  • 📂 Документов старше 3–5 лет (по требованиям налогового законодательства).
  • 📊 Данных, которые могут понадобиться для анализа (например, история продаж).
  • 🔒 Объектов, на которые ссылаются другие системы (например, 1С:Зарплата и 1С:Бухгалтерия).

Для архивации используйте:

  • Встроенную обработку Выгрузка данных в XML.
  • Специализированные решения (например, 1С:Архив или StoreHouse).
  • Ручной перенос в отдельную базу с помощью Консоли задач.

Альтернатива 2: Сжатие базы

Если цель — уменьшить размер файла базы, вместо удаления можно выполнить Тестирование и исправление с опцией Сжать таблицы. Это удалит физические пробелы в файле 1Cv8.1CD, но сохранит все помеченные объекты.

Как запустить:

  1. Закройте всех пользователей.
  2. Откройте базу в конфигураторе (1Cv8.exe /Config).
  3. Выберите Администрирование → Тестирование и исправление.
  4. Отметьте галочки Проверять логическую целостность и Сжать таблицы.
  5. Нажмите Выполнить.

Альтернатива 3: Перенос в историческую базу

Для крупных предприятий актуально ведение двух баз:

  • 📈 Рабочая база — только актуальные данные (текущий год + 1–2 прошлых).
  • 📚 Историческая база — архив документов за предыдущие периоды.

Такой подход снижает нагрузку на рабочую базу и ускоряет формирование отчётов.

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

Можно ли восстановить документ после окончательного удаления?

Нет. После выполнения команды Удалить() или очистки через обработку УдалениеПомеченныхОбъектов.epf объект физически удаляется из базы. Единственный способ восстановления — восстановление из резервной копии (если она была сделана до удаления).

Если документ был просто помечен на удаление (галочка ПометкаУдаления = Истина), его можно восстановить:

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

Причина в том, что не сокращает физический размер файла базы автоматически. Даже после удаления объектов файл 1Cv8.1CD остаётся прежнего размера, но внутри него появляются «пустые» области.

Чтобы уменьшить размер файла, выполните:

  1. Тестирование и исправление с опцией Сжать таблицы (в конфигураторе).
  2. Выгрузку/загрузку базы через dt/cf (для небольших баз).
  3. Использование утилиты chdbfl.exe (для файлового варианта ).

Пример команды для chdbfl.exe:

chdbfl.exe C:\Bases\MyBase /Compact
Как удалить помеченные документы в облачной версии 1С (1С:Fresh)?

В 1С:Fresh нет прямого доступа к базе, поэтому стандартные методы (обработки, запросы) не работают. Чтобы очистить помеченные объекты:

  1. Обратитесь в поддержку 1С:Fresh с запросом на очистку.
  2. Используйте встроенные инструменты (если доступны в вашем тарифе):
  • 📅 Администрирование → Регламентные операции → Очистка помеченных объектов.
  • 🗑️ Настройки → Обслуживание → Архивация и очистка данных.

Обратите внимание: в облаке некоторые операции могут быть ограничены или платными (например, архивация данных старше 3 лет).

Можно ли удалить помеченные документы избирательно (например, только за 2020 год)?

Да. Для этого используйте:

  • Стандартный фильтр в журнале документов (установите период и отметьте Показать помеченные на удаление).
  • Запрос с условием по дате:
Запрос.Текст =

"ВЫБРАТЬ

| Документ.РеализацияТоваровУслуг.Ссылка КАК Ссылка

|ИЗ

| Документ.РеализацияТоваровУслуг КАК Документ

|ГДЕ

| Документ.ПометкаУдаления = ИСТИНА

| И Документ.Дата МЕЖДУ &НачалоПериода И &КонецПериода";

  • Обработку УдалениеПомеченныхОбъектов.epf с предварительным отбором по дате.

Для массовой очистки по периоду удобнее использовать скрипт с параметрами:

Процедура УдалитьПомеченныеПоПериоду(Начало, Конец)

Запрос = Новый Запрос;

Запрос.Параметры.Вставить("Начало", Начало);

Запрос.Параметры.Вставить("Конец", Конец);

// ... остальной код аналогичен примеру выше

КонецПроцедуры

Что делать, если при удалении появляется ошибка «Документ участвует в последовательности»?

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

  1. Проверьте, какие проводки зависят от документа:
ВЫБРАТЬ

РегистрБухгалтерииХоз.Период,

РегистрБухгалтерииХоз.Регистратор КАК Документ,

РегистрБухгалтерииХоз.СчетДт,

РегистрБухгалтерииХоз.СчетКт

ИЗ

РегистрБухгалтерии.Хозрасчетный КАК РегистрБухгалтерииХоз

ГДЕ

РегистрБухгалтерииХоз.Регистратор = &СсылкаНаДокумент

  1. Удалите или перенастройте зависимые проводки вручную.
  2. Используйте обработку ПереносДокументов, чтобы «пересоздать» последовательность без проблемного документа.
  3. В крайнем случае обратитесь к программисту для правки движений через Прямые запросы к SQL (только для опытных специалистов!).
⚠️ Внимание: Изменение проводок может нарушить бухгалтерский баланс. Перед правкой обязательно проконсультируйтесь с главбухом и сделайте резервную копию.