Массовая пометка документов на удаление в 1С 8.3
Содержание
Чтобы пометить сразу несколько документов, откройте их список (журнал), выделите нужные строки мышью с зажатым Ctrl или Shift и нажмите клавишу Delete. Платформа спросит подтверждение и поставит пометку удаления на всю выделенную группу за один раз. Это самый быстрый способ, когда документы лежат рядом в одном журнале.
Если нужно пометить десятки и сотни документов по условию — за период, по конкретному контрагенту или по виду — ручное выделение не годится. Для таких случаев в 1С есть штатная обработка «Групповая обработка справочников и документов», отбор по реквизитам и — в крайнем случае — внешние обработки. Пометка удаления сама по себе ничего из базы не стирает: это лишь признак «кандидат на удаление». Физически объекты убирает отдельная операция с контролем ссылок, о ней ниже.
Выделяем документы в списке и ставим пометку
Самый простой сценарий — когда все документы видны в одном журнале или списке.
- Откройте нужный список документов (например,
Продажи → Реализации (акты, накладные, УПД)). - Выделите строки: одиночные —
Ctrl+ клик по каждой, подряд идущие — клик по первой иShift+ клик по последней. Весь список —Ctrl + A. - Нажмите
Deleteлибо вызовите правой кнопкой контекстное меню и выберите команду пометки на удаление. - В окне подтверждения согласитесь — пометка встанет на все выделенные документы.
Пометка — это переключатель. Повторное нажатие Delete на уже помеченных строках снимет пометку. Помеченные документы отображаются с перечёркнутой иконкой и в движениях по регистрам больше не участвуют: при пометке проведённый документ автоматически распроводится.
Чтобы отфильтровать список перед выделением, используйте поиск по колонке (Ctrl + F) или настройку отбора в командной панели списка. Например, отобрать все документы за один месяц, а потом нажать Ctrl + A и Delete.
Ограничение способа одно: выделять приходится вручную, и объекты должны быть в одном списке. Для сотен документов или для отбора по сложному условию берите групповую обработку.
Массовая пометка через «Групповую обработку справочников и документов»
Это штатный инструмент типовых конфигураций (БП 3.0, ЗУП 3.1, УТ 11, КА, ERP). Он позволяет задать вид объектов, наложить отбор и одним действием пометить на удаление всё, что под отбор попало.
Открыть обработку:
- через главное меню —
Все функции → Обработки → Групповая обработка справочников и документов; - если пункта «Все функции» нет — включите его в
Сервис → Параметры → Отображать команду «Все функции»(в разных релизах пункт настройки платформы расположен в разделе параметров).
Порядок работы:
- На закладке отбора в поле вида объектов выберите, что обрабатываем —
Документы, затем конкретный вид (например, «Поступление товаров и услуг») или сразу несколько видов. - Задайте условия отбора: период, организация, контрагент, статус проведения. Условий можно добавить несколько — они работают вместе.
- Нажмите кнопку заполнения списка (поиск) — обработка подберёт все подходящие документы.
- Проверьте результат: лишние строки из списка можно снять вручную.
- Перейдите на закладку действий, выберите
Установить пометку удаленияи выполните.
Та же обработка умеет снимать пометку (Снять пометку удаления), проводить и отменять проведение группы. Это удобно, когда нужно, например, распровести и пометить все черновики за квартал.
Отбор задавайте максимально узко и перед действием глазами просмотрите подобранный список. Обработка пометит ровно то, что показала, — ошибка в условии отбора зацепит нужные документы.
Ctrl/Shift и нажмите Delete — быстрее всего.Внешние обработки и расширения конфигурации
Когда штатных средств не хватает (нестандартный отбор, пометка подчинённых объектов, своя логика), применяют внешние обработки.
Способы подключить внешнюю обработку
(.epf):
- разово —
Файл → Открытьи указать файл обработки. Платформа в безопасном режиме попросит разрешить небезопасные операции; соглашайтесь только для файла из доверенного источника; - постоянно — зарегистрировать в
Администрирование → Печатные формы, отчёты и обработки → Дополнительные отчёты и обработки. Для этого должен быть включён флаг использования дополнительных обработок в этом же разделе.
Расширения конфигурации
(появились в платформе 8.3.6) подключают через Администрирование → Печатные формы, отчёты и обработки → Расширения. После загрузки файла .cfe обновление конфигурации
базы данных — отдельный шаг, платформа предложит его выполнить.
Внешняя обработка выполняет код в вашей базе. Берите её только у проверенного поставщика и сначала проверяйте на копии базы. Чужой файл из интернета способен изменить данные непредсказуемо.
Отдельная настройка прав: пользователь должен иметь роль, разрешающую интерактивную пометку на удаление, иначе команда будет недоступна или вызовет ошибку доступа.
Почему не стоит помечать документы напрямую через SQL
Соблазн понятен: в клиент-серверной базе на СУБД таблицы документов лежат в базе данных, и поле признака удаления можно было бы переключить запросом UPDATE. Делать так в рабочей базе нельзя.
Причины:
- Имена таблиц и полей скрыты. Платформа хранит документы в таблицах вида
_Document123с техническим полем-признаком удаления. Соответствие «метаданные → таблица» платформа держит внутри себя и меняет его при реструктуризации. Запрос, написанный под один релиз, после обновления попадёт не в ту таблицу. - Нет контроля ссылок. Прямой
UPDATEничего не знает о подчинённых записях и регистрах. Вы пометите документ, но его движения и связанные объекты останутся рассогласованными. - Потеря поддержки и целостности. Любое прямое изменение данных в обход платформы — повод для отказа в поддержке и прямой путь к порче базы.
Если задача — именно подобрать документы по сложному SQL-условию, правильный путь другой: получить список запросом только на чтение (например, через консоль запросов), выгрузить идентификаторы, а пометку поставить штатной обработкой из списка выше. Данные меняет платформа, а не прямой запрос к СУБД.
Проверка ссылок перед удалением
Пометка — обратимая операция. Необратима следующая: физическое удаление. Перед ним платформа обязательно проверяет ссылочную целостность, и этот этап пропускать нельзя.
Контроль ссылок работает так: прежде чем удалить помеченный объект, платформа ищет по всей базе ссылки на него из других документов, справочников и регистров. Если на документ кто-то ссылается, удалить его без разрешения ссылки не получится — иначе в базе появились бы «висящие» ссылки на несуществующий объект.
Что показывает проверка:
- список помеченных объектов, которые можно удалить без последствий;
- список объектов, на которые есть ссылки, и перечень того, что на них ссылается.
По второму списку нужно принять решение по каждому объекту: либо снять пометку и оставить документ, либо сначала разобраться со ссылающимися объектами (перепровести, перенести, тоже пометить). Отчёт о найденных ссылках платформа формирует прямо в окне удаления — по нему видно, какой документ держит объект.
Физическое удаление помеченных объектов
Окончательно убирает данные отдельная обработка: Администрирование → Обслуживание → Удаление помеченных объектов. Альтернативно — Все функции → Стандартные → Удаление помеченных объектов.
Порядок:
- Запустите обработку. По умолчанию она берёт все помеченные объекты; можно ограничиться выбранными видами.
- Этап поиска и проверки ссылок — платформа подбирает помеченные объекты и проверяет, что на них никто не ссылается.
- Просмотрите результат. Объекты со ссылками в удаление не попадут, пока ссылки не сняты.
- Запустите удаление. После него восстановить объекты можно будет только из резервной копии.
Удаление помеченных объектов — необратимая операция. Запускайте её только при наличии свежей резервной копии и желательно в период минимальной нагрузки: активная работа пользователей в этот момент может создавать новые ссылки на удаляемые объекты.
Про режим доступа. В старых версиях удаление требовало монопольного (исключительного) режима — всех пользователей приходилось выгонять из базы. В актуальных типовых конфигурациях обработка работает в обычном многопользовательском режиме, но смысл проводить её в тихое время сохраняется: так ниже риск, что кто-то в параллельной сессии сошлётся на удаляемый документ.
Удаление можно поставить и на регламентное задание — тогда помеченные объекты будут вычищаться автоматически по расписанию. Включается это в настройках обслуживания той же конфигурации.
Что мешает пометить или удалить документ
Иногда пометка не ставится или объект не удаляется, хотя всё сделано правильно. Типичные причины:
- Дата запрета изменения. Если документ попадает в закрытый период, платформа не даст ни распровести его, ни поставить пометку. Проверьте настройку в
Администрирование → Настройки пользователей и прав → Даты запрета изменения. Для разовой операции дату запрета временно сдвигают, затем возвращают. - Нет прав. Роль пользователя может не разрешать интерактивную пометку на удаление или запуск удаления помеченных объектов. Права настраивает администратор в профилях доступа.
- Объект предопределённый. Предопределённые элементы справочников (создаются при разработке конфигурации) пометить на удаление штатно нельзя — так и задумано.
- На документ ссылаются. Пометить можно, а вот физически удалить — только после снятия всех ссылок. Это не ошибка, а контроль целостности.
Если пометка не ставится и дело не в дате запрета и не в правах, посмотрите сообщение платформы в нижней части окна — там обычно указана конкретная причина отказа.
Отдельно про подчинённые документы. Если на базовый документ введены другие «на основании», помечайте и удаляйте всю цепочку осознанно: сначала разберитесь с подчинёнными, иначе контроль ссылок не даст убрать основной объект.
Частые вопросы
Чем пометка на удаление отличается от самого удаления?
Как снять пометку сразу с нескольких документов?
Delete повторно, либо в групповой обработке выбрать действие «Снять пометку удаления».