04.04.2007, 09:29 | #1 |
Участник
|
доступ к группе складов
для чего нужен класс UserRightsInventLocationEngine? и можно ли с полощью его узнать к какой группе складов имеет доступ пользователь?
|
|
04.04.2007, 10:40 | #2 |
Дмитрий Ерин
|
1. Нет такого класса в стандартной функциональности. Указывайте уж тогда, какое решение Вы используете - отвечающим будет легче ориентироваться.
2. Чтобы найти ответ на Ваш вопрос, посмотрите перекрестные ссылки по этому классу (контекстное меню / Add-Ins / Перекрестные ссылки / Чем используется).
__________________
|
|
04.04.2007, 11:02 | #3 |
Axapta Retail User
|
a-da, обратитесь в раздел форума под названием Axapta Retail
|
|
04.04.2007, 11:09 | #4 |
Участник
|
мда...
есть таблицы: UserRightsInventLocation - Права пользователей на склады InventLocation -Склады нужно что бы по UserId определялась его ShopGroupId ______________________________________________________ написала такой запрос Query QF = new Query(); QueryRun qr; QueryBuildDataSource qbds = QF.addDataSource(tableNum(InventLocation)); QueryBuildRange qbr = qbds.addRange(fieldnum(InventLocation,ShopGroupId)); qbds = qbds.addDataSource(tablenum(UserRightsInventLocation)); qbds.addLink(fieldNum(UserRightsInventLocation, InventLocationId), fieldNum(InventLocation, InventLocationId)); qbds.joinMode(joinMode::EXISTSJOIN); qbds.addRange(fieldNum(UserRightsInventLocation, UserId)).value(curUserid()); должно вроде работать ...ан нет не работает |
|
04.04.2007, 13:05 | #5 |
Axapta Retail User
|
А если конкретнее в чем проблема?
У меня данный запрос отработал прекрасно. По данному запросу вы получите все склады, к которым пользователь имеет доступ (правда по хорошему неплохо бы еще учесть операцию, на которую есть доступ). А дальше просто получаете уже группу складов. |
|
04.04.2007, 13:59 | #6 |
Дмитрий Ерин
|
Цитата:
В методе addLink() сначала указывается поле родительского ДС, а потом подчиненного! То есть должно быть так: X++: qbds.addLink(fieldNum(InventLocation, InventLocationId), fieldNum(UserRightsInventLocation, InventLocationId));
__________________
|
|
04.04.2007, 16:49 | #7 |
Участник
|
Это был вопрос по Axapta Retail? Перенести в раздел?
|
|
04.04.2007, 17:12 | #8 |
Участник
|
Это действительно очень похоже на вопрос по Axapta Retail.
Если так , то ответ такой: в стандартном функционале Axapta Retail нет настройки пользователей на группы складов, есть настройка только на конкретные склады. По крайней мере, в нашей версии (Retail 3.030 CU1.601.000 от 19.07.2005). Из таблички UserRightsInventLocation вытаскиваете коды доступных конкретному юзеру складов (с учетом типа операции, о чем уже написала выше ViV), каждый склад относится к какой-то группе. Но то, что Вы нашли какую-то группу, не означает, что юзер имеет права доступа на всю группу в целом - т.к., повторюсь, такого понятия как "доступ к группе складов" попросту нет. Последний раз редактировалось Zabr; 04.04.2007 в 17:15. |
|
05.04.2007, 08:54 | #9 |
Участник
|
Цитата:
я этот запрос пишу в executeQuery DS(InventTable) и соответственно просматриваю на форме... |
|
09.04.2007, 08:02 | #10 |
Axapta Retail User
|
Приведите, пожалуйста, весь код метода executeQuery. На какой форме просматриваете? И расскажите - в чем собственно задача? А то как то неожиданно видеть данный запрос в связке с inventTable.
|
|