06.06.2003, 18:08 | #1 |
Участник
|
Как решить проблему с правами на вновь создаваемые записи таблицы.
Привет всем,
в Axapta 3.0 в базовую включена функциональность настройки прав доступа к записям таблицы, когда ответственный сотрудник, например, видит только своих клиентов, а чужих -нет. И при настройке прав группы просто задается фильтр, например, по кодам клиентов. Вопрос: что делать с создаваемыми записями. Поскольку в настройках группы клиента новые коды явно указаны не будут - привет! - после создания новой записи в таблице клиентов ответственный сотрудник уже больше её не увидит. Можно, конечно, фильтровать по другому признаку, например, по соответствующему коду аналитики, но представим, что задача - работать через коды. Пример решения. Рассмотрим для примера раздельный доступ к таблице клиентов в Аксапте 3.0 в таких условиях: Есть User, принадлежащий к группе Users (подчиненный - работает только со своими клиентами) Есть User2, принадлежащий к группе Masters (начальник - работает со своими клиентами и клиентами Userа1). Решение: 1. Рассмотрим доступ к таблице клиентов (CustTable) Свойство таблицы CustTable CreatedBy устанавливаем в Yes. 2. Настраиваем права на записи группы Users (Administration/Security/Record Level Security): Для группы Users и таблицы CustTable задаем фильтр: CreatedBy: User 3. Настраиваем права на записи группы Masters: Для группы Masters и таблицы CustTable задаем фильтр: CreatedBy: User, User2 А если ещё и ModifiedBy поиграться - вообще круто будет... Чувствую, что можно решить проблему проще и изысканее, без таких административных хлопот и изменения свойств таблиц. Буду признателен за комментарии и рекомендации. С уважением, AY |
|
12.06.2003, 14:22 | #2 |
Участник
|
1. Прежде всего воспользоваться стандартным функционалом по ограничению значений. Например, ограничение аналитики, контроль журналов и т.п.
Например, http://axapta.mazzy.ru/hints/validatedimension/ 2. делать validateWrite более интелектуальным, если это настолько критично для бизнес-процессов. Я вопрос перенес из базы данных в обсуждения. |
|
16.06.2003, 14:44 | #3 |
Участник
|
вноь добавленнная таблица для разграничения доступа
Подскажите, как вновь добавленную таблицу включить в список выбора в мастере "Доступа на уровне записей"? Включение radiobutton "Показать все таблицы" не помогает
Версия Axapta 3.0 + SP1 CIS Буду признателен за комментарии и рекомендации. |
|
16.06.2003, 14:49 | #4 |
Участник
|
Спасибо, если кто уже начал отвечать - догадался сам.
Дело было в отсутствии SecurityKey у таблицы, на которую необходимо "навесить" разграничение доступа на уровне строк. |
|
02.10.2003, 12:44 | #5 |
Участник
|
Цитата:
Изначально опубликовано mazzy
1. Прежде всего воспользоваться стандартным функционалом по ограничению значений. Например, ограничение аналитики, контроль журналов и т.п... Спасибо за ответ, ты, как всегда, прав))) кстати, об этом функционале, - из серии "Знаете ли вы, …" (назовем это фичи для извращенцев))) 1. Как обмануть контрольный список. Если в настройках счета Главной книги для валюты выбрать тип проверки «Список» и ввести коды валюты в контрольном списке YYY, ZZZ, но в поле «Валюта» этого же счета указать код валюты XXX, не принадлежащий контрольному списку, то при использовании этого счета в журналах ГК система проставит в качестве кода валюты XXX и позволит... разнести журнал. 2. Как оригинальным образом запретить операции над счетом. Если в настройках счета Главной книги для валюты выбрать тип проверки «Таблица» и оставить поле Валюта пустым, система не позволит проводить операции по счету в журналах вовсе, на любую валюту выдавая магическое сообщение «Для счета XXX код валюты должен быть ''»! 3. Как сделать счет невидимым в журналах ГК. Если в настройках счета Главной книги для пользователя выбрать тип проверки «Cписок» и оставить и список, и код пользователя пустыми, то счет в журнале ГК под любым пользователем на закладке "По типу разноски" будет выбрать невозможно (счет-невидимка), при попытке выбрать счет на закладке "По типу счета" система сгенерит error "Значение 'Пользователь' = 'XXX' недопустимо в счете YYY". 4. Как обмануть «прошитый» Корр. Счет в журнале ГК. Если в настройках для журнала ГК выбрать «Фиксированный счет» и указать счет XXX, а в настройках счета YYY указать ассоциированный кор.счет ZZZ, то при создании строки в этом журнале со значением YYY в поле «Счет», значение кор.счет будет недоступно для редактирования, но там вместо XXX премило расположится код счета ZZZ. Журнал, естесственно, разнесется. Проверено на RU-Axapta 2.5 SP5... SP6, too. С уважением, AY. |
|