При работе с конфигурациями на обычных формах (например, 1С:Управление производственным предприятием 1.3) разработчики часто сталкиваются со странной ситуацией: пункт Операции — Удаление помеченных объектов открывает привычное платформенное окно, однако найти соответствующую обработку в дереве метаданных конфигуратора не удается. Если же зайти через пункт Операции — Обработки — Удаление помеченных объектов, открывается управляемая форма из Библиотеки Стандартных Подсистем (БСП).
В этой статье мы подробно разберем, почему обычная форма удаления помеченных объектов отсутствует в метаданных конфигуратора, как устроена система прав на физическое удаление данных и какими способами можно правильно ограничить доступ пользователей к этой функции.
Выясним, почему одна и та же операция может выглядеть по-разному и где находятся исходные формы:
Обработка и не существует в виде формы внутри конфигуратора. Именно поэтому найти его в дереве метаданных невозможно.Рассмотрим, как правильно настроить роли и права доступа, если вам необходимо запретить пользователям выполнять окончательное физическое удаление данных из информационной базы, сохранив при этом возможность устанавливать пометки на удаление.
Так как платформенное окно нельзя просто отключить как отдельную обработку, управление доступом к нему осуществляется на уровне прав к конкретным объектам метаданных (справочникам, документам и т. д.).
Разберем три ключевых права, управляющих удалением объектов в настройках ролей:
Интерактивная пометка на удаление: Разрешает пользователю помечать объект на удаление или снимать пометку (по клавише Del или через контекстное меню).Интерактивное удаление помеченных: Дает право выполнять окончательное физическое стирание помеченных объектов из базы с помощью платформенного механизма контроля ссылочной целостности.Интерактивное удаление: Позволяет непосредственно удалять объекты без проверки ссылок (сочетанием клавиш Shift + Del).Для реализации задачи, когда пользователю нужно оставить возможность ставить пометки на удаление, но запретить окончательное удаление из базы, проанализируем пошаговый алгоритм настройки роли:
Интерактивное удаление помеченных и Интерактивное удаление.Интерактивная пометка на удаление остался включенным.Если у пользователя нет права Интерактивное удаление помеченных ни для одного объекта метаданных, платформа не позволит ему стереть данные, даже если он запустит встроенный платформенный диалог удаления.
Посмотрим на дополнительное управление доступом к данной функции: