Где найти обработку удаления помеченных объектов и как ограничить к ней доступ в 1С

Программист 1С v8.3 (Обычные формы) IT и автоматизация бизнеса
← На главную

При работе с конфигурациями на обычных формах (например, 1С:Управление производственным предприятием 1.3) разработчики часто сталкиваются со странной ситуацией: пункт Операции — Удаление помеченных объектов открывает привычное платформенное окно, однако найти соответствующую обработку в дереве метаданных конфигуратора не удается. Если же зайти через пункт Операции — Обработки — Удаление помеченных объектов, открывается управляемая форма из Библиотеки Стандартных Подсистем (БСП).

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

Причина отсутствия обработки в дереве метаданных

Выясним, почему одна и та же операция может выглядеть по-разному и где находятся исходные формы:

  1. Встроенный платформенный диалог: Вызов меню Операции — Удаление помеченных объектов (в нижней части меню интерфейса обычного приложения) обращается непосредственно к встроенному механизму самой платформы «1С:Предприятие». Данный диалог не является объектом метаданных типа Обработка и не существует в виде формы внутри конфигуратора. Именно поэтому найти его в дереве метаданных невозможно.
  2. Управляемая форма БСП: Пункт меню Операции — Обработки — Удаление помеченных объектов вызывает объект метаданных из состава Библиотеки Стандартных Подсистем. Эта обработка содержит управляемую форму и настраивается как стандартный объект конфигурации.

Как ограничить доступ к удалению помеченных объектов

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

Так как платформенное окно нельзя просто отключить как отдельную обработку, управление доступом к нему осуществляется на уровне прав к конкретным объектам метаданных (справочникам, документам и т. д.).

Разберем три ключевых права, управляющих удалением объектов в настройках ролей:

  1. Интерактивная пометка на удаление: Разрешает пользователю помечать объект на удаление или снимать пометку (по клавише Del или через контекстное меню).
  2. Интерактивное удаление помеченных: Дает право выполнять окончательное физическое стирание помеченных объектов из базы с помощью платформенного механизма контроля ссылочной целостности.
  3. Интерактивное удаление: Позволяет непосредственно удалять объекты без проверки ссылок (сочетанием клавиш Shift + Del).

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

  1. Откроем нужную роль в конфигураторе.
  2. Для каждого прикладного объекта (справочники, документы и др.) снимем флажки Интерактивное удаление помеченных и Интерактивное удаление.
  3. Убедимся, что флажок Интерактивная пометка на удаление остался включенным.

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

Настройка интерфейса и альтернативные варианты

Посмотрим на дополнительное управление доступом к данной функции:

  1. Отключение меню «Операции»: В обычном приложении невозможно вырезать только один конкретный платформенный пункт из меню Операции. Чтобы полностью скрыть этот элемент из поля зрения пользователя, необходимо отключить отображение всего главного меню Операции в пользовательском интерфейсе.
  2. Автоматизация физического удаления: Настроим регламентное или фоновое задание, которое будет выполнять окончательное удаление помеченных объектов по расписанию под правами администратора. При таком подходе у обычных пользователей физическое удаление полностью отключается, а очисткой базы занимается автоматическая процедура.
← На главную