Показать сообщение отдельно
Старый 29.04.2009, 11:51   #10  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,975 / 3268 (116) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Цитата:
Сообщение от sukhanchik Посмотреть сообщение
Потому что "гладиолус" Сильно не ковырялся лично - но коллеги после долгих попыток добиться этого просто модифицировали форму выбора компаний, скрывая в ней компании, которые не разрешено показывать
В общем случае работает правило :
Если не включено открытие доступа к домену, то для того чтобы компания была в списке доступных для пользователя, для него должно быть хоть что-нибудь открыто в этой компании. Если же для него в компании все закрыто - нет никакого доступа - то и в списке она не появляется.

Правда есть неприятное исключение из этого правила - оно не действует на компании с русскими буквами в коде - почему непонятно.
Т.е. компании с русскими буквами в коде, могут по непонятным причинам скрываться при формировании списка для выбора.
Я так и не смог с этим разобраться - почему так получается. Ставил логирование запросов к БД - запрос уходит корректный без дополнительных фильтров.

Функция
\Classes\xDataArea\checkAccessible
возвращает что компания доступна пользователю, а в списке на форме SysDataAreaSelect она скрывается - почему непонятно.

Для себя я решил, что если компании называются латинскими буквами или цифрами то описанное правило всегда работает. Так что лучше не использовать русские буквы в названии.

P.S.
Я бы на самом деле в кодах компании использовал только цифры, потому что помимо указанного глюка еще есть куча мест в коде при формировании прямых запросов к БД, которые могут глючить для базы данных Оракл, так как не учитывают при формировании запроса приведение к нужному регистру полей при наложении условий фильтрации. Для цифровых кодов этот глюк не будет сказываться. Правда для этой темы это уже оффтопик

Последний раз редактировалось Logger; 29.04.2009 в 12:21.
За это сообщение автора поблагодарили: sukhanchik (2), aidsua (1).