Документы и Печать · 12 мин
Как пометить несколько документов на удаление в 1С
Как пометить несколько документов на удаление в 1С: выделение списком, групповая обработка, пометка по отбору и периоду, проверка ссылок и типичные ошибки.
Массовая пометка документов на удаление — рутинная задача при чистке базы после тестовых загрузок, ошибочных обменов или дублирующихся вводов. В 1С удаление любого объекта выполняется в два этапа: сначала объект помечается на удаление, затем помеченные объекты физически удаляются через специальную обработку. Такой механизм защищает базу от случайной потери данных, но требует понимания, как быстро пометить не один документ, а десятки или тысячи.
Есть несколько способов пометить группу документов: ручное выделение в списке, групповое изменение реквизитов, обработка «Пометка на удаление» по отбору и программная пометка через встроенный язык. Выбор зависит от количества документов, наличия прав и того, нужно ли отбирать документы по условиям — например, только за конкретный период или только по одному контрагенту.
Перед массовой пометкой обязательно сделайте резервную копию базы или выгрузку в файл. Пометка на удаление обратима (её можно снять), но последующее физическое удаление — нет, а восстановление из копии занимает время и останавливает работу пользователей.
Как работает механизм удаления в 1С
В платформе 1С:Предприятие нет прямого удаления объекта из базы одной командой. Любой документ сначала получает признак «Пометка на удаление» — он остаётся в базе, но исключается из движений по регистрам (проведённый документ при пометке распроводится), перестаёт участвовать в итогах и отображается в списках с перечёркнутой пиктограммой.
Второй этап — физическое удаление через пункт «Администрирование» → «Удаление помеченных объектов» (в разных конфигурациях путь может называться «Обслуживание» → «Удаление помеченных объектов»). На этом этапе платформа проверяет ссылочную целостность: если на документ ссылаются другие объекты, удалить его не получится, пока ссылки не будут устранены.
Понимание двухэтапности важно для массовых операций: пометить можно сколько угодно документов быстро, а вот физическое удаление большого массива может занять заметное время и потребовать монопольного доступа к базе.
Способ 1. Выделение нескольких документов в списке
Самый простой вариант подходит, когда нужно пометить от нескольких до нескольких сотен документов, которые видны в одном списке. Откройте журнал документов нужного вида (например, «Покупки» → «Поступления (акты, накладные)») и при необходимости настройте отбор по периоду, организации или контрагенту, чтобы в списке остались только нужные строки.
Выделение выполняется стандартными приёмами Windows: удерживайте Ctrl и щёлкайте по отдельным строкам, чтобы выбрать произвольные документы; щёлкните первую строку, затем с Shift — последнюю, чтобы выделить непрерывный диапазон; Ctrl+A выделяет все строки списка с учётом установленного отбора.
После выделения нажмите клавишу Del, либо кнопку «Ещё» → «Пометить на удаление». Программа последовательно обработает каждый выделенный документ: проведённые будут распроведены и помечены, непроведённые — просто помечены. При большом количестве строк операция может занять время — не прерывайте её закрытием окна.
- 1Откройте журнал нужного вида документов и настройте отбор по периоду или реквизитам
- 2Выделите строки: Ctrl+клик для произвольных, Shift+клик для диапазона, Ctrl+A для всего списка
- 3Нажмите Del или «Ещё» → «Пометить на удаление»
- 4Дождитесь окончания обработки и убедитесь, что пиктограммы строк стали перечёркнутыми
Способ 2. Групповое изменение реквизитов
Когда документов много и выделять их вручную неудобно, используйте типовую обработку «Групповое изменение реквизитов». Она есть в большинстве конфигураций на базе Библиотеки стандартных подсистем (УТ 11, ERP, Бухгалтерия 3.0, УНФ) и открывается через «Администрирование» → «Обслуживание» → «Корректировка данных» → «Групповое изменение реквизитов», либо через «Все функции» → «Обработки».
В обработке выберите тип объектов — нужный вид документа, задайте отбор по условиям (дата, организация, контрагент, автор и т.д.) и в списке реквизитов найдите «Пометка удаления». Установите для него значение «Истина» и нажмите «Изменить реквизиты». Обработка пометит все документы, попавшие под отбор, в фоновом режиме.
Преимущество способа — точный отбор и журнал выполнения: обработка показывает, сколько объектов изменено, а какие пропущены с указанием причины (например, нет прав или объект заблокирован другим пользователем). Учтите, что доступ к обработке обычно есть только у администраторов и пользователей с расширенными правами.
Способ 3. Пометка по отбору через специализированные обработки
В некоторых конфигурациях есть отдельные инструменты для массовой пометки: например, обработки «Проведение документов» и «Пометка на удаление документов» в разделе «Все функции» → «Обработки». Они позволяют выбрать вид документа, период и выполнить пометку или снятие пометки одним действием.
Для файловых баз и старых конфигураций на обычных формах (например, УПП 1.3, «Управление торговлей 10.3») широко используется обработка «Универсальный подбор и обработка объектов», где можно отобрать документы запросом и выполнить над ними действие «Пометить на удаление». Такие обработки применяйте осторожно и только на копии, если раньше с ними не работали.
Способ 4. Программная пометка через встроенный язык
Если нужно пометить документы по сложному условию, которое не выразить отбором, или автоматизировать операцию, используйте встроенный язык. Это вариант для разработчика или опытного администратора: код выполняется через консоль кода, внешнюю обработку или фоновое задание.
Типовой фрагмент выглядит так: запросом выбираются ссылки на документы, затем каждая ссылка получается объектом и помечается методом установки пометки удаления.
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ Ссылка ИЗ Документ.РеализацияТоваровУслуг
|ГДЕ Дата МЕЖДУ &Начало И &Конец И НЕ ПометкаУдаления";
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
ДокОбъект = Выборка.Ссылка.ПолучитьОбъект();
ДокОбъект.УстановитьПометкуУдаления(Истина);
КонецЦикла;Метод УстановитьПометкуУдаления(Истина) выполняет полную логику: отмену проведения, вызов обработчиков событий и контроль прав. Перед запуском на рабочей базе протестируйте код на копии и ограничьте выборку небольшим периодом, чтобы оценить время выполнения.
Проверка результата и физическое удаление
После массовой пометки убедитесь, что операция прошла полностью. Откройте журнал документов без отбора по пометке и проверьте, что целевые документы отображаются перечёркнутыми. Если часть документов не пометилась, типичные причины — отсутствие прав, блокировка объектов другими сеансами или особенности прав доступа на уровне записей (RLS).
Физическое удаление выполняется через «Администрирование» → «Удаление помеченных объектов». Запустите режим «Выборочное удаление», чтобы увидеть список помеченных объектов и убедиться, что в нём нет лишнего, либо «Автоматическое удаление» — для полной очистки. Платформа покажет объекты, которые удалить нельзя из-за ссылок: например, документ, указанный в другом документе или используемый в регистре сведений.
Для больших баз рекомендуется выполнять удаление в монопольном режиме или в нерабочее время: операция интенсивно пишет в базу и может замедлить работу пользователей. После завершения проверьте отчёты за затронутые периоды — удалённые документы изменят обороты.
Как проверить результат
Документы показаны перечёркнутыми, проведение снято
Часть документов осталась проведённой — нет прав или блокировка
Все целевые документы присутствуют и удаляются без ошибок
Документы в списке «не удалённых» — есть ссылки на них
Обороты уменьшились на ожидаемую сумму
Обороты не изменились — документы не распроведены
Типичные ошибки и ограничения
Частая ошибка — пометка без отбора по периоду: пользователь выделяет весь журнал через Ctrl+A, не заметив, что отбор по дате не установлен, и помечает документы за все годы. Всегда проверяйте текущий отбор списка перед массовым действием.
Вторая ошибка — попытка удалить документы закрытого периода. Если установлена дата запрета изменения данных, пометка документов раньше этой даты будет отклонена. Сначала временно сдвиньте дату запрета (это право администратора) или убедитесь, что документы действительно нужно удалять из закрытого периода.
Третья группа проблем — ссылочная целостность. Пометить документ можно всегда, но удалить его не получится, если на него ссылаются другие объекты. Перед массовым удалением цепочек документов (например, заказ → реализация → счёт-фактура) помечайте и удаляйте их в порядке от последнего к первому.
Сравнение способов пометки
Выбор способа зависит от объёма, условий отбора и прав пользователя. Ручное выделение быстрее всего для небольших групп, групповое изменение реквизитов — для массовых операций с простым отбором, программный способ — для сложных условий и автоматизации.
Сравнение способов пометки
Быстро для десятков–сотен документов, полная логика распроведения. Ограничение: неудобно при тысячах строк и сложных отборах.
Точный отбор по условиям, журнал выполнения. Ограничение: нужны права администратора, проверьте корректность отмены проведения.
Любые условия, автоматизация, полная логика платформы. Ограничение: требует навыков разработки и тестирования на копии.
Если сомневаетесь, начните с ручного выделения в списке с отбором — этот способ самый наглядный и безопасный, потому что вы видите каждый помечаемый документ. К обработкам и коду переходите, когда объём делает ручную работу нерациональной.
Что важно запомнить
Удаление в 1С двухэтапное: сначала пометка, затем «Удаление помеченных объектов». Для нескольких документов достаточно выделения в списке и клавиши Del; для массовых операций — обработка «Групповое изменение реквизитов» или программный способ. Всегда делайте копию базы, проверяйте отбор и удаляйте связанные документы от последнего к первому.
Частые вопросы
Можно ли отменить массовую пометку на удаление?
Да. Пометка обратима до физического удаления: выделите те же документы в списке и снова нажмите Del или «Ещё» → «Снять пометку». В обработке «Групповое изменение реквизитов» для реквизита «Пометка удаления» установите значение «Ложь». После физического удаления восстановить документы можно только из резервной копии.
Почему документ не помечается на удаление?
Основные причины: недостаточно прав (роль не разрешает интерактивную пометку), документ попадает под дату запрета изменения данных, объект заблокирован другим пользователем или фоновым заданием, либо действуют ограничения доступа на уровне записей (RLS). Проверьте журнал регистрации — там фиксируются отказы доступа.
Что происходит с проведённым документом при пометке?
При установке пометки платформа автоматически отменяет проведение: движения документа по регистрам удаляются, и он перестаёт влиять на отчёты и остатки. При снятии пометки документ остаётся непроведённым — его нужно провести заново вручную.
Как пометить документы только одного контрагента или организации?
Установите отбор в журнале документов по нужному реквизиту (кнопка «Ещё» → «Настроить список»), затем выделите все строки через Ctrl+A и нажмите Del. Либо в обработке «Групповое изменение реквизитов» добавьте условие отбора по контрагенту или организации перед изменением пометки.
Можно ли удалить документы сразу, минуя пометку?
Интерактивно в типовых конфигурациях — нет, двухэтапный механизм является стандартом платформы и защищает от случайных удалений. Программно существует метод непосредственного удаления объекта, но он не контролирует ссылочную целостность и может оставить битые ссылки, поэтому применяется только в специальных сервисных обработках.
Удаление помеченных объектов зависает на большом объёме — что делать?
Убедитесь, что никто не работает в базе, и запустите удаление в монопольном режиме. Разбейте операцию на части: используйте выборочное удаление по видам документов или по периодам. В клиент-серверном варианте длительное удаление лучше выполнять в нерабочее время, так как операция нагружает СУБД.