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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 29.10.2002, 14:26   #1  
axot is offline
axot
Участник
 
32 / 11 (1) +
Регистрация: 26.04.2002
Адрес: СПб
Создание своих функц. ключей
Приветствую!
Создали несколько своих функциональных ключей.
В методе напрямую прописали эти функциональные ключи (ключи НЕ привязывали к таблицам).
Импортировали проект в одну базу, она сразу стала синхронизировать какие-то таблицы и выругалась, что не может дропнуть те таблицы, которые участвуют в репликации. После этого группа пользователей Administrators в этой базе заимела права на созданные функциональные ключи с уровнем Полный доступ (как известно, группе пользователей Admin нет возможности редактировать уровни доступа на любые функц ключи)
В другой базе данных, использующей ту же серверную часть группе пользователей Administrators на созданные функц ключи стоит уровень доступа Нет доступа!!!

Вопросы такие:
1) Почему в базе данных, в которую не импортировали проект с созданными нами функц ключами группе польз Administrators стоит Нет доступа, А в базе, в которую импортировали, стоит Полный доступ. Как сделать чтобы во всех базах, использующих одну серв часть, уровень доступа группе Admin был Полный доступ?

2) Правильно ли прописывать новые функц ключи в методах или надо как-то по другому делать? Есть у кого опыт?

3) Зачем запускается синхронизация таблиц и как это связано с вновь созданным фьючекеем, который на таблицу не повешен?

4)Как сделать подчиненность фьючекеев?

Спасибо.
Старый 29.10.2002, 14:38   #2  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Ответ длинный.
Несколько вех:
1.
права прописываются в таблице AccessRightsList.

2.
Для Админа система сама прописывает права как только функциональный ключ появляется в системе. Но иногда ошибается (когда и почему - очень длинная тема )

3.
Чтобы поправить пропавшее право админа достаточно вручную добавить соответствующую строку в таблице. (как сделать не вручную и как оптимизировать этот процесс тоже очень длинная тема)
Старый 29.10.2002, 14:39   #3  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
насчет подчиненности - правая кнопка на featurekey, добавь родителя.
Старый 29.10.2002, 14:42   #4  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Re: Создание своих функц. ключей
Цитата:
Изначально опубликовано axot
Импортировали проект в одну базу, она сразу стала синхронизировать какие-то таблицы и выругалась, что не может дропнуть те таблицы, которые участвуют в репликации. После этого группа пользователей Administrators в этой базе заимела права на созданные функциональные ключи с уровнем Полный доступ (как известно, группе пользователей Admin нет возможности редактировать уровни доступа на любые функц ключи)
В другой базе данных, использующей ту же серверную часть группе пользователей Administrators на созданные функц ключи стоит уровень доступа Нет доступа!!!
Бывает...


Цитата:
Изначально опубликовано axot
1) Почему в базе данных, в которую не импортировали проект с созданными нами функц ключами группе польз Administrators стоит Нет доступа, А в базе, в которую импортировали, стоит Полный доступ. Как сделать чтобы во всех базах, использующих одну серв часть, уровень доступа группе Admin был Полный доступ?
Почему - это вопрос для разработчиков. А как сделать - здесь: http://www.axforum.info/forums/showt...s=&threadid=27

Цитата:
Изначально опубликовано axot
2) Правильно ли прописывать новые функц ключи в методах или надо как-то по другому делать? Есть у кого опыт?
Поясните, что значит "прописывать в методах".

Цитата:
Изначально опубликовано axot
3) Зачем запускается синхронизация таблиц и как это связано с вновь созданным фьючекеем, который на таблицу не повешен?
Видимо, вы указали его тип User Interface + Database либо просто Database. Хотя, вполне возможно, что синхронизацию делает Axapta при любом изменении ключей. Просто, чтобы перестраховаться.

Цитата:
Изначально опубликовано axot
4)Как сделать подчиненность фьючекеев?
Feature Key может иметь неограниченное количество предшественников (получается псевдодерево). Чтобы добавить предка ключу, нажмите в AOT на ключе на правую кнопку мыши и добавьте Parent Feature Key. Дальше действуйте по интуиции.
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Старый 29.10.2002, 15:12   #5  
axot is offline
axot
Участник
 
32 / 11 (1) +
Регистрация: 26.04.2002
Адрес: СПб
Спасибо, коллеги.

Mazzy, я попытаюсь руками добавить строки, как ты рекомендуешь. Очень бы хотелось услышать про две длинные темы Может у тебя уже где-то это описано?

Максим,
1) Что означает "При создании ключа в группе USR ..."? Мы создаем ключ на VAR слое, а настройку пользователям прав ведем Adminом под USR слоем.

2) С помощью методов класса DictFeatureKey можно анализировать установленные права доступа для текущего пользователя:
boolean validateFeatureKey(FeatureKey featureKey)
{
DictFeatureKey dictFeatureKey;
;
dictFeatureKey = new DictFeatureKey(featureKey);

return (dictFeatureKey.rights() != AccessType::NoAccess) ? true : false;
}

3) Типы у созданных нами фьючекеев User Interface Похоже, что Аx перестраховывается

4) Под подчиненностью я имел в виду не только графический классификатор. Необходимо, чтобы при запрете доступа у родителя автоматически запрещался доступ у всех его детей. Аналогично с другими уровнями доступа Чтение, Редактирование... Как это сделать?
Старый 29.10.2002, 15:47   #6  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Цитата:
Изначально опубликовано axot
1) Что означает "При создании ключа в группе USR ..."? Мы создаем ключ на VAR слое, а настройку пользователям прав ведем Adminом под USR слоем.
Это лишь одно из предположений с целью объяснить поведение Axapta. На тот момент оно казалось верным, но теперь... в общем, нельзя объяснить необъяснимое.
Цитата:
Изначально опубликовано axot
2) С помощью методов класса DictFeatureKey можно анализировать установленные права доступа для текущего пользователя:
PHP код:
boolean validateFeatureKey(FeatureKey   featureKey)
{
    
DictFeatureKey      dictFeatureKey;
;
    
dictFeatureKey = new DictFeatureKey(featureKey);

    return (
dictFeatureKey.rights() != AccessType::NoAccess) ? true false;

Да, можно.
Не очень понял, что вы хотели спросить. Если о том, запрещают ли Feature Keys доступ к объектам из кода, то ответ - нет, не запрещают. Другими словами, если вы закрыли ключом таблицу и установили на него права "Чтение", то редактировать записи из кода вы все равно сможете. Так что единственный способ - проверять права доступа в коде.
Цитата:
Изначально опубликовано axot
3) Типы у созданных нами фьючекеев User Interface Похоже, что Аx перестраховывается

Цитата:
Изначально опубликовано axot
4) Под подчиненностью я имел в виду не только графический классификатор. Необходимо, чтобы при запрете доступа у родителя автоматически запрещался доступ у всех его детей. Аналогично с другими уровнями доступа Чтение, Редактирование... Как это сделать?
А это и получится, если вы добавите Parent Feature Key. Кстати, почитайте в Axapta Development про свойство ANDParents у Fetaure Key.
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Старый 29.10.2002, 16:42   #7  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Изначально опубликовано axot
Очень бы хотелось услышать про две длинные темы Может у тебя уже где-то это описано?
Нет.
Надеюсь, в ближайшее время станет полегче и смогу выложить то, что готово.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Создание номенклатуры с использ. axInventTable класса. Можно ли запретить использование шаблонов записей? Hub DAX: Программирование 2 03.09.2008 15:12
Enterprise Portal - Создание Заказа Finnsky DAX: Функционал 9 27.08.2008 14:07
CRM создание писем и их рассылка - в чем трабл? ShadowFromXZone DAX: Функционал 9 17.06.2008 16:51
Создание закупки на основе контракта. NJD DAX: Программирование 0 06.09.2004 13:01
Фича лицензионных ключей (версия 3-0) komar DAX: Администрирование 0 27.05.2003 14:16
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 04:58.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.