Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
29 июн 2024, 05:15

Функциональные опции и РС

Автор vitasw, 07 апр 2016, 09:23

0 Пользователей и 1 гость просматривают эту тему.

vitasw

Здравствуйте.
Дано: Документ "Договор" с реквизитом "Подписан" (Булево). РС "Права"(непериодический независимый. Измерение "Пользователь"(тип=справочник), ресурс "Активно"(Булево)). Как подвязать новую функц. опцию, которая на основании данных о текущем пользователе из РС "Права" управляет видимостью реквизита "Подписан" в документе "Договор".
Спасибо.

LexaK

немного усложним задачу
В РС права добавляете/создаете
Измерения
ТипОбъекта - Строка(150)
Пользователь - (Ссылка справочник)
ИмяПоля - Строка(50 хватит?)

Ресурсы/Реквизиты
Видимость - Булево
Доступность - Булево

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

при открытии формы
делаете запрос к РС.Права где в параметры передаете ТипОбъекта (из Метаданных, лучше взять ПолноеИмя) и ссылку Пользователь
получаете (или не получаете )
пробегаете по ней циклом
в цикле

Элементы[лкСтр.ИмяПоля].Видимость = лкСтр.Видимость;
Элементы[лкСтр.ИмяПоля].Доступность = лкСтр.Доступность ;

конец цикла

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

если помогло нажмите: Спасибо!

vitasw

:D. как все это реализовать через запросы и роли - это не интересно и долго, в смысле окончательный результат будет отрабатывать долго. Интересно это сделать именно через функ. опции. В принципе вариант нашел, но как-то мне он не очень нравится.

LexaK

Так в том то и дело, что предложенный вариант это не РЛС, и срабатывает он только при открытии формы, и то если в эту форму вставили процедуру УправлениеВидимостью(...).
При всех других работах с данными базы ни каких тормозов и ограничений как в случае с РЛС - Нет.
если помогло нажмите: Спасибо!

vitasw

Цитата: LexaK от 08 апр 2016, 08:40При всех других работах с данными базы ни каких тормозов и ограничений как в случае с РЛС - Нет.
Думаю, что когда начнете тестить под нагрузкой - появятся, только вы об этом знать не будете. в том смысле что определить какие ресурсы уходят на "Видимость" в базе под нагрузкой - очень проблематично по многим причинам.

:) Проблема с самой видимостью. Управляемая форма - это очень ресурсоемкий объект и когда начинаешь играться с элементами через "Видимость" все стает еще печальнее.
С другой стороны функ. опция - отрабатывает на уровне платформы, если я не ошибаюсь, еще до "ПриСозданииНаСервере"


cska-fanat-kz

ФО чем регулируется? константой?

получается в ПриНачале(или ПередНачалом, хз)РаботыСистемы() оббегаем РС и в зависимости от текущего пользователя взводим соответствующие константы.
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

vitasw

Цитата: cska-fanat-kz от 09 апр 2016, 04:59ФО чем регулируется? константой?

получается в ПриНачале(или ПередНачалом, хз)РаботыСистемы() оббегаем РС и в зависимости от текущего пользователя взводим соответствующие константы.

Ээээээээ? под каждого пользователя создавать новую константу? Не перебор ли это? Зачем мне тогда вообще РС нужен? Раз программно заполнить константы - и живем спокойно.
Неее, тут как раз ситуация, когда есть РС, в котором указаны разрешения для пользователей.

cska-fanat-kz

ну тогда ФО не причем, а нужно RLS настраивать...
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

vitasw

Цитата: cska-fanat-kz от 11 апр 2016, 07:06ну тогда ФО не причем, а нужно RLS настраивать...

Опять, по-моему, не то. РЛС мне позволит читать/редактировать весь объект-документ целиком. А мне нужно установить видимость-доступность одного реквизита в документе. По-моему, по такому принципу построено наличие колонки "Серия" в реализации товаров в УТ 11. Там настройка задается в складе для каждого вида товара через РС и регулируется все это ФО. У меня не хватило времени это разобрать. Думал, может кто уже успел вникнуть.

Теги:

Похожие темы (1)

Рейтинг@Mail.ru

Поиск