Показать сообщение отдельно
Старый 20.04.2011, 20:45   #3  
Ivanhoe is offline
Ivanhoe
Участник
Аватар для Ivanhoe
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
4,143 / 2161 (81) +++++++++
Регистрация: 29.09.2005
Адрес: Санкт-Петербург
Цитата:
Сообщение от someOne Посмотреть сообщение
Если на таблице есть какой нибудь ключ безопасности, и у пользователя нет прав на этот ключ, (хотя и есть право на объект (таблицу)) то при запуске проверка возвращает "false"
Почему сделан такой вывод? =) Так должно быть согласно документации? По мне (я не программист, могу и заблуждаться), dictTable.rights() должен возвращать доступ к объекту, а не его ключу. Ведь проверка на доступ к ключу обычно делается по-другому.

Цитата:
Сообщение от someOne Посмотреть сообщение
Особенность в том что в случае запуска на стороне сервера и на стороне клиента (у меня по крайней мере) он возвращает разные значения!!!

Вот пример. Проверьте у себя разве он у вас работает не так ?

Если на таблице есть какой нибудь ключ безопасности, и у пользователя нет прав на этот ключ, но есть право на объект (таблицу), то при запуске на стороне сервера пример вернет "false", а при запуске на клиенте - "true"

Интересно, каким образом в вашем случае пользователю отображены табличные связи ? Неужели в вашем случае этот метод работает иначе ???
У меня в дебагере стоит значек "сервера" напротив метода \Classes\SysQueryBuilder\buildRelations - значит выполняется на сервере? Джоб запускал и напрямую, и через меню айтем с запуском на сервере - в обоих случаях возвращает true.

Явно же барабашки нет? ) Не знаю, важно это или нет, но клиент стоит на самом сервере АОС.
__________________
Ivanhoe as is..