AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Прочие вопросы
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 06.06.2003, 18:08   #1  
AY is offline
AY
Участник
 
33 / 10 (1) +
Регистрация: 14.05.2002
Адрес: Москва
Как решить проблему с правами на вновь создаваемые записи таблицы.
Привет всем,
в 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  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
1. Прежде всего воспользоваться стандартным функционалом по ограничению значений. Например, ограничение аналитики, контроль журналов и т.п.
Например, http://axapta.mazzy.ru/hints/validatedimension/

2. делать validateWrite более интелектуальным, если это настолько критично для бизнес-процессов.

Я вопрос перенес из базы данных в обсуждения.
Старый 16.06.2003, 14:44   #3  
alpine is offline
alpine
Участник
 
13 / 10 (1) +
Регистрация: 08.02.2002
Адрес: Москва
? вноь добавленнная таблица для разграничения доступа
Подскажите, как вновь добавленную таблицу включить в список выбора в мастере "Доступа на уровне записей"? Включение radiobutton "Показать все таблицы" не помогает

Версия Axapta 3.0 + SP1 CIS

Буду признателен за комментарии и рекомендации.
Старый 16.06.2003, 14:49   #4  
alpine is offline
alpine
Участник
 
13 / 10 (1) +
Регистрация: 08.02.2002
Адрес: Москва
Спасибо, если кто уже начал отвечать - догадался сам.
Дело было в отсутствии SecurityKey у таблицы, на которую необходимо "навесить" разграничение доступа на уровне строк.
Старый 02.10.2003, 12:44   #5  
AY is offline
AY
Участник
 
33 / 10 (1) +
Регистрация: 14.05.2002
Адрес: Москва
Цитата:
Изначально опубликовано mazzy
1. Прежде всего воспользоваться стандартным функционалом по ограничению значений. Например, ограничение аналитики, контроль журналов и т.п...
Привет, mazzy,
Спасибо за ответ, ты, как всегда, прав)))

кстати, об этом функционале, - из серии "Знаете ли вы, …" (назовем это фичи для извращенцев)))

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.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Как узнать по объекту RecordSortedList, из какой таблицы в нем записи? gl00mie DAX: Программирование 4 20.02.2008 15:39
Два RecId у одной записи таблицы sparur DAX: Программирование 33 18.12.2006 15:56
Как при удалении записи из таблицы подавить вывод запроса "Удалить запись?" Anders DAX: Программирование 2 05.05.2004 17:52
Прикрепление OLE - объекта к записи таблицы Андре DAX: Программирование 2 12.04.2002 10:02

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 11:18.