13.07.2005, 13:06 | #1 |
Участник
|
Доступ пользователей к определенным строкам справочника номенклатуры
Добрый день!
Помогите разобраться. Для начала сообщу что у нас редактирует справочник номенклатурных единиц один человек скажем Смирнов С.С. Пришел начальник просит дать возможность Пупкину П.П. редактировать название номенклатуры в справочнике номенклатурных едениц, но только ту , которая относится к определенной номенклатурной группе, остальную номенклатуру он даже не должен видеть. По сути мне нужно создать форму (как просит начальство) где будет наложен фильтр на эту группу и дать права доступа этому Пупкину на эту форму. Вопрос следующий: Есть ли какая-нибудь стандартный способ дать возможность определенным лицам видеть в стандартной форме справочника номенклатуры определенные строки? Ведь в следующий раз запросят такую же форму для кого-то другого по другой группе и так далее. Спасибо. |
|
13.07.2005, 13:13 | #2 |
Практикант
|
Re: Доступ пользователей к определенным строкам справочника номенклатуры
Цитата:
Вопрос следующий: Есть ли какая-нибудь стандартный способ дать возможность определенным лицам видеть в стандартной форме справочника номенклатуры определенные строки?
Ведь в следующий раз запросят такую же форму для кого-то другого по другой группе и так далее. Спасибо. Можно сделать сделать одну форму для всех, которая по UserId подставляла бы соответствующую номенклатурную группу в фильтр. |
|
13.07.2005, 13:16 | #3 |
Участник
|
спасибо, я так и думал, ну хоть какая-то динамичность останется.
|
|
13.07.2005, 13:21 | #4 |
Участник
|
Re: Доступ пользователей к определенным строкам справочника номенклатуры
Цитата:
Изначально опубликовано Pustik
По сути мне нужно создать форму (как просит начальство) где будет наложен фильтр на эту группу и дать права доступа этому Пупкину на эту форму. Вопрос следующий: Есть ли какая-нибудь стандартный способ дать возможность определенным лицам видеть в стандартной форме справочника номенклатуры определенные строки? Программировать в этом случае ничего не надо. |
|
13.07.2005, 13:55 | #6 |
Участник
|
спасибо почитаю про RLS - честно говоря до этого об этом RLS не знал
|
|
19.07.2005, 08:52 | #7 |
Участник
|
Начальство денег на покупку лицензии не дало. . Пришлось писать свою маленькую RLS.
|
|
19.07.2005, 10:53 | #8 |
Участник
|
Замечательно.
Давайте превратим этот случай в полезный. Расскажите как долго вы писали? С какими сложностями встретились? Думаю, эта информация поможет другим сделать более обоснованные выбор. Кстати, думаю стоит посмотреть сюда http://axapta.mazzy.ru/works/accessrecord/ Как вы закрыли возможность ввода кода руками? |
|
19.07.2005, 11:03 | #9 |
Участник
|
... к сожалению, в 2.5 необходимо внести простейшую модификацию в каждую форму и отчет...
а там нету SysSetupFormRun ? |
|
19.07.2005, 11:05 | #10 |
Модератор
|
Или поищите поиском
Я делал тоже самое, и писал об этом на форуме - что и где надо перекрывать и как сделать так, что бы механизм был гибким (настраивался). Если найду свою ветку - дам ссылку. С Уважением, Георгий |
|
19.07.2005, 11:09 | #11 |
Участник
|
так что посоветуете людям, которые стоят перед выбором - покупать модуль или вносиьт модификации?
|
|
19.07.2005, 11:22 | #12 |
Участник
|
я бы писал свое ... RLS их по гибкости врядли устроит (нас не устроила) ... система прав строится без концепции ... по прецеденту ... самый гиблый вариант. Но надо учесть:
1.громождкость этого дела в общем случае, т.е. в результате выльется в нехилые доработки. 2.Кроме того, практика показывает, что advaned user со сременем находит способ обойти систему прав, построенную на фильтрах. Дырки по мере обнаружения можно затывать по месту, но гарантии, что это последняя не будет никогда. С уважением, itfs |
|
19.07.2005, 11:32 | #13 |
Участник
|
Написали 2 - ем за пару дней.
Ну на самом деле мы ничего гениального не изобрели. Задача изначально сводилась не только к запрету возможности редактировать строки, но и к запрету видеть не нужные строки определенным пользователям.По сему немножко она стала проще для нас. Конечно мы хотели что-то динамичное(хотя идеально динамично все-таки не получилось) и не только для Справочника номенклатур и не только для какого-то конкретного поля ну и уж тем более для конкр. юзера. Не мудрили , создали настроечную таблицу в которой хранится код юзера, код таблицы, поле этой таблицы и значение для этого поля - вот и все. Написали статический метод в ней , который помогает в нужной форме настроить Range на этого пользователя согласно забитым строкам в этой таблице. (Почему я тут недавно задавал вопрос по поводу Range на форме :-) ) Не идеальная динамичность заключается только в том , что для каждой формы , где необходимо использовать нашу маленькую RLS, в методе нужного датасоурса надо вызывать этот статический метод с параметрами (CurUserId , ds, Table) - ну эта одна строчка кода. Ну конечно осуществили немного удобств для работы с этой настр. таблицей. И дали возможность устанавливать Range не только для пользователей но и для групп. Ну и т.д. Чисто для себя. Ну не судите строго если что-то мы не дописали или упустили, есть и недостатки конечно и некоторые мы уже видим , но в целом задача решена , и вроде пока работает. Просто на отгаживание и усовершенствование не хватет времени - мы тут и за учителчя и за консультанта и за программиста и иногда за грузчика : -))) |
|
19.07.2005, 11:34 | #14 |
Модератор
|
Хороший вопрос.
Если надо просто накладывать фильтры по всей системе - то RLS очень поможет. Но администратору будет работка - права настроить + RLS. В случае программирования гораздо больше гибкости можно проявить. Например, в моих последних решениях было: 1) "Кумулятивная" установка разрешений на всю группу пользователей, но настройки индивидуальные для каждого пользователя. Плюс отчет, какие настройки у пользователей отличаются от настройки группы. 2) Степень ограничения доступа: а) только свои заказы б) просмотр всех, правка только своих в) правка всех, при правке чужого - предупреджение г) полный доступ Настраивать, правда, все равно нужно но гибкости больше. Насчет же скорости... Все отлично проходит. Дело в том, что в производстве для стандартного сотрудника (диспетчера) надо было перекрыть функционал всего в 3х местах Просто наложить небольшой Range... + lookup. + validateWrite. Об этом говорилось в нескольких ветках, вот выборка. Там, кстати, полно полезной информации. http://www.axforum.info/forums/searc...der=descending С Уважением, Георгий |
|
19.07.2005, 12:00 | #15 |
Участник
|
George Nordic , ну действительно поражен гибкостью и возможностями.
Будет свободное время может то же что - нибудь из этого списка реализую. Спасибо всем за ссылки почитаю на досуге. Хотя конечно у нас задачка - то совсем простая : либо юзер видит и делает что хошь , либо не видит. Но черт его знает что еще потом нашему начальнику в голову придет. |
|
19.07.2005, 12:19 | #16 |
Участник
|
to Pustik
И что, теперь вы можете "Управление запасами/Запросы/В наличии" открывать по определнной номенклатурной группе? А пробовали в отфильтрованной (по правам) форме на поле ограничения выпонять "Найти - *" или вызывать стандартную формочку фильтра и снять ограничение или нажимать "Перейти к основной таблице"? Попробуйте, иначе это сделаю пользователи и наябедничают начальству. С уважением, itfs |
|
19.07.2005, 12:35 | #17 |
Участник
|
2 itfs :
1) "Управление запасами/Запросы/В наличии" - именно там не пробовали , пробовали пока только на Справочнике номенклатуры (задачи такой не стояло).Но обещаю именно там попробую в ближайшее время и напишу результат. 2)По поводу "Найти - *" читайте мою недавнюю дискуссию под названием <работа Range на форме> . Она была посвящена именно этой теме для нашей задачи. Да действительно через "Найти - *" теперь дырка для пользователей закрыта. 3)Стандартная формочка фильтра - тоже работает правильно -- так как мы блокируем фильтр rangeStatus::Locked 4)Но зато спасибо за <Перейти к основной таблице> - действительно дырка. . Будем работать. ))) Обязательно напишу как решил эту проблему. Но только когда будет время . Люди мы не собирались делать супер контроль на уровне записей. Просто времени нет. |
|
19.07.2005, 12:43 | #18 |
Участник
|
Цитата:
Изначально опубликовано Pustik
2 itfs : Люди мы не собирались делать супер контроль на уровне записей. Просто времени нет. С уважением, itfs. |
|
19.07.2005, 12:44 | #19 |
Участник
|
"Управление запасами/Запросы/В наличии" работать конечно не будет тоже, так как ни в таблице InventSum , ни InventDim нет поля Ном.группы , тоже надо дорабатывать и тоже спасибо за замечание
|
|
19.07.2005, 13:11 | #20 |
Участник
|
2Mazzy
Побывал на вашей ссылке. Неплохо бы было сделать lookup для списка полей принадлежащих соответствующей таблице в вашей настроечной форме . |
|
|
|