Как это устроено
Поддержка поставщика
Кванта соблюдает поддержку поставщика так же, как EDT. Объекты, у которых изменения запрещены, помечены в ответах значком 🔒 на поддержке, и запись в них отклоняется. Объекты с разрешёнными изменениями помечены 📦 на поддержке и правятся как обычно. Дорабатывать запертые объекты нужно через расширение.
Правила
- Значок — в заголовке каждого ответа чтения, после адреса:
### 🟢 Role.БазовыеПраваБСП.Rights#summary 🔒 на поддержке. Агент видит режим до попытки записи. 🔒— изменения не разрешены. Любая запись по этому адресу отклоняется до изменения модели.📦— на поддержке с возможностью изменения. Запись разрешена, как и в EDT; лишних предупреждений нет.- Свои объекты — добавленные вами в конфигурацию на поддержке — правятся свободно, значка у них нет.
- Правило берётся у ближайшего объекта. Режим у реквизита или формы может быть строже, чем у владельца.
- Справка предупреждает заранее. Грань
#helpна запертом адресе первой строкой сообщает, что запись будет отклонена.
Что отвечает запись в запертый объект
Статус 🔴 failed, поле support и причина:
объект на поддержке поставщика (правило «изменения не разрешены») — правка в обход механизма поддержки 1С ломает контрольные суммы поставки и делает базу непригодной к обновлению поставщикаПодсказка в ответе: снять объект с поддержки или включить возможность изменения в Конфигураторе или EDT, затем повторить.
Как дорабатывать запертый объект
Штатный путь — расширение:
- Создайте проект расширения —
project_writeс операциейcreate_extension. - Заимствуйте объект —
metadata_actionс операциейadopt, проект — расширение, адрес — объект конфигурации. - Правьте заимствованный объект в проекте расширения, перехватывайте методы —
code_actionс операциейadd_hook.
Пошагово — Расширение с перехватом метода.
Почему нет флага для обхода
Правка объекта на поддержке в обход механизма поддержки ломает контрольные суммы поставки: конфигурацию потом нельзя обновить. Флаг «разрешить всё равно» агент поставит рефлекторно, при первом же отказе, поэтому его нет и не будет. Снять объект с поддержки может только человек — в Конфигураторе или EDT.
Холодный старт
Сразу после запуска EDT модель проекта ещё грузится, и режим поддержки проверить нельзя. Писать вслепую Кванта не станет: запись отвечает 🔴 failed с полем support: UNDETERMINED и советом повторить через несколько секунд. Это не запрет — см. «повторите, support: UNDETERMINED».
Массовые операции
rights_action меняет права сразу во многих ролях. Роли с 🔒 он не отклоняет целиком, а пропускает и перечисляет в секции Skipped — остальные роли меняются.