Получить список выделенных записей в окне Группа Пользователей

Как в скрипте, который выполняется разделе Администрирование при нажатии на кнопку "Добавить группу пользователей" получить список выделенных групп в левой части окна(по которым назначаются права)?

Нравится

6 комментариев

Какова задача? Уточните, вы хотите мультивыделением раздавать права?

Я хочу доработать решение по назначению прав таким образом, чтоб назначать одинаковые права по умолчанию для нескольких выделенных групп пользователей(слева в дереве Групп Пользователей).

Здравствуйте, Руслан.
Хочу уточнить, правильно ли я понимаю необходимый Вам функционал:

если Вы в разделе "Администрирование"-"Права доступа по умолчанию" слева в дереве групп выбираете несколько групп, а затем нажимаете кнопку "Добавить группу", то эта группа должна добавиться в права доступа для всех выбранных слева групп?

Инна Безверхняя,
II линия службы поддержки Terrasoft.

У нас есть ряд групп пользователей, которые работают в своем информационном поле, соответственно к их документам имеет доступ только члены групп - руководители, т.к. права на доступ находятся в процессе проектирования и внедрения, часто приходиться добавлять группы в доступ по умолчанию. Таких групп пользователей больше десятка, соответственно при механистическом добавлении во многие группы пользователей велика вероятность ошибки, хочу этот процесс автоматизировать.
Соответственно, я хочу выбрать несколько групп слева и добавить в выбранный в основном окне программы документ(документы) доступ для группы пользователей по кнопке "Добавить группу"...

Здравствуйте, Руслан.

Логика раздачи прав прописана в разделе конфигурации [Users].

Для того, чтобы права по умолчанию раздавались для всех выбранных слева групп, а не только для одной, Вам необходимо немного подправить функцию GetSelectAdminUnitResult (скрипт scr_TableDefaultRightGridArea).

Определить количество групп, выбранных слева можно следующим образом:
Self.Attributes('Workspace').ComponentsByName('wndGroups').Window.ComponentsByName('grdData').SelectedIDs.Count

ID всех выбранные групп можно получить так:
Self.Attributes('Workspace').ComponentsByName('wndGroups').Window.ComponentsByName('grdData').SelectedIDs.Items(n)

* чтобы использовать Self.Attributes('Workspace'), в скрипте scr_UsersWorkspace в функции InitializeTableDefaultRightsDetail() пропишите:
SetAttribute(Window, 'Workspace', Self);

Таким образом, в функции GetSelectAdminUnitResult, Вам нужно будет циклом проходиться по каждой из выбранных групп и в Dataset.Values('AdminUnitID') заносить соответствующее значение.

Инна Безверхняя,
II линия службы поддержки Terrasoft.

Спасибо Огромное, все получилось.

Показать все комментарии