Готовишься к экзамену?
Полнофункциональный тренажер @bot_1cnik_bot с полноценным обучением, режимом экзамена и подробной статистикой.
Какие возможности по настройке порядка обхода элементов в управляемой форме существуют в системе 1С:Предприятие 8?
Порядок обхода зависит от ролей пользователя и функциональных опций, но может изменяться программно
Неправильно: Доступность элементов действительно зависит от прав и функциональных опций: скрытые/недоступные элементы пропускаются при обходе. Но порядок обхода не сводится только к программной настройке - он также определяется структурой (деревом) элементов и может быть изменен интерактивно через настройку формы.
Порядок обхода единый для всех пользователей, но может изменяться программно
Неправильно: В управляемых формах для разных пользователей набор и доступность элементов могут отличаться из-за ролей и функциональных опций, поэтому фактический маршрут обхода будет разным. Кроме того, пользователь может менять форму интерактивно (перестановкой/скрытием элементов), что влияет на обход.
Порядок обхода зависит от ролей пользователя и функциональных опций и не может изменяться
Неправильно: Роли и функциональные опции действительно влияют на видимость и доступность элементов, а значит и на обход. Но порядок обхода можно менять - как через перестройку структуры элементов (в конфигураторе/программно), так и интерактивно пользователем в настройках формы.
Порядок обхода единый для всех пользователей и не может изменяться
Неправильно: В реальных формах порядок обхода зависит от того, какие элементы доступны конкретному пользователю (права, функциональные опции, режимы работы), поэтому он не всегда «единый». Также существует возможность изменить порядок за счет изменения структуры/расположения элементов в форме.
Порядок обхода зависит от ролей пользователя и функциональных опций, и по своей сути определяется положением элементов в дереве элементов в форме (может меняться программно и интерактивно самим пользователем)
Правильно: Обход идет по логике структуры (дерева) элементов и их группировок: как элементы расположены в форме, так по ним обычно и перемещается фокус. При этом права и функциональные опции могут скрывать или делать элементы недоступными, из-за чего порядок для разных пользователей отличается, а сам порядок можно изменить как изменением структуры/свойств элементов, так и интерактивной настройкой формы пользователем.
Порядок обхода единый для всех пользователей, но может изменяться программно и интерактивно самим пользователем
Неправильно: Возможность менять порядок (программно и интерактивно) в целом верная, но утверждение про «одинаковый для всех» неверно. Если элементы скрыты/недоступны из-за ролей или функциональных опций, обход будет учитывать только доступные элементы, поэтому фактический порядок меняется для разных пользователей.
Пояснение
Запомните три ключевые идеи про обход элементов в управляемой форме:
1) Основа - дерево элементов формы.
Порядок перехода фокуса обычно следует за тем, как элементы расположены в структуре формы: внутри групп, страниц, панелей и т.п. Если вы «переезжаете» полем из одной группы в другую или меняете порядок элементов внутри группы, маршрут Tab/Shift+Tab меняется вместе с этим.
2) Права и функциональные опции меняют фактический маршрут.
Если элемент скрыт, отключен или недоступен пользователю (например, роль не дает видеть реквизит, или функциональная опция убрала блок формы), то при обходе он будет пропущен. Поэтому два пользователя могут нажимать Tab на «одной и той же» форме и получать разный порядок - потому что набор доступных элементов разный.
3) Порядок можно изменить двумя путями.
- Интерактивно: через настройку формы в режиме работы (например, «Еще» → «Изменить форму»), где пользователь может скрыть поля или переставить их/группы (если это разрешено), тем самым изменив и обход.
- Программно/конфигурационно: разработчик может влиять на структуру и свойства элементов (видимость, доступность, расположение в группах, добавление/удаление элементов), а это напрямую отражается на том, как будет ходить фокус.
Пример из практики:
В форме заказа есть блок «Скидки» и блок «Доставка». Для менеджера скидки доступны, для стажера - нет. Менеджер при нажатии Tab пройдет через «Скидка%» и «Причина скидки», а стажер эти поля пропустит и сразу перейдет к полям доставки. Если затем пользователь в настройке формы переместит «Телефон» выше «E-mail», то Tab начнет заходить в «Телефон» раньше - без доработки конфигурации.