12.02.2018, 19:41 | #1 |
Участник
|
Extensible Data Security Policies
Есть таблица MyTable и ,соответственно, форма к ней MyForm
Нужно: В зависимости от значения одного из полей MyTable.ColumnA : 1) Показывать пользователю записи или скрывать (e.g отфильтровывать). 2) Давать пользователю редактировать и удалять записи В старой спецификации предложена реализация такая: Создать таблицу настроек из трех колонок: (Значение поля в колонке ColumnA) -> (Группа пользователей, кто может видеть записи) -> (Группа пользователей, кто может редактировать) Набор возможных значений колонки ColumnA ограничен В соответствии с этой таблицей настроек, при открытии формы MyForm нужно отфильтровывать /показывать /давать редактировать записи Вопрос: 1) По идее, в AX2012 группы пользователей уже не актуальны 2) Постановка задачи очень похожа на то, с чем должен справляться Extensible Data Security (замена RLS) Но читаю Microsoft Dynamics AX 2012 White Paper: Developing Extensible Data Security Policies и смотрю реализацию в My* таблицах, и закрадываются сомнения, что это overkill. Как я понимаю, все равно же потребуется таблица , ставящая в соответствие значения из колонки и пользователя, но вместо пары фильтров на конкретной форме целый огород нужно воротить с временными таблицами. Как лучше реализовать требование? Спасибо AX2012 R3 Последний раз редактировалось IKA; 12.02.2018 в 19:44. |
|
12.02.2018, 21:26 | #2 |
Участник
|
Ровно так как там и написано. Создаёте временную табличку my* и метод xds который набьет в табличку все разрешенные или запрещённые значения вашего поля для текущего пользователя на основании настроенной таблици. Создаёте полиси в которой джоините вашу my* табличку Экзист или нот Экзист джоином в зависимости от типа значений и готово. Весь огород городить пару часов.
|
|
|
За это сообщение автора поблагодарили: IKA (1). |
Теги |
ax2012, xds |
|
|