Получить список выделенных записей в окне Группа Пользователей
Как в скрипте, который выполняется разделе Администрирование при нажатии на кнопку "Добавить группу пользователей" получить список выделенных групп в левой части окна(по которым назначаются права)?
Нравится
Я хочу доработать решение по назначению прав таким образом, чтоб назначать одинаковые права по умолчанию для нескольких выделенных групп пользователей(слева в дереве Групп Пользователей).
Здравствуйте, Руслан.
Хочу уточнить, правильно ли я понимаю необходимый Вам функционал:
если Вы в разделе "Администрирование"-"Права доступа по умолчанию" слева в дереве групп выбираете несколько групп, а затем нажимаете кнопку "Добавить группу", то эта группа должна добавиться в права доступа для всех выбранных слева групп?
Инна Безверхняя,
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.