Написали 2 - ем за пару дней.
Ну на самом деле мы ничего гениального не изобрели. Задача изначально сводилась не только к запрету возможности редактировать строки, но и к запрету видеть не нужные строки определенным пользователям.По сему немножко она стала проще для нас.
Конечно мы хотели что-то динамичное(хотя идеально динамично все-таки не получилось) и не только для Справочника номенклатур и не только для какого-то конкретного поля ну и уж тем более для конкр. юзера.
Не мудрили , создали настроечную таблицу в которой хранится код юзера, код таблицы, поле этой таблицы и значение для этого поля - вот и все. Написали статический метод в ней , который помогает в нужной форме настроить Range на этого пользователя согласно забитым строкам в этой таблице. (Почему я тут недавно задавал вопрос по поводу Range на форме :-) ) Не идеальная динамичность заключается только в том , что для каждой формы , где необходимо использовать нашу маленькую RLS, в методе нужного датасоурса надо вызывать этот статический метод с параметрами (CurUserId , ds, Table) - ну эта одна строчка кода. Ну конечно осуществили немного удобств для работы с этой настр. таблицей. И дали возможность устанавливать Range не только для пользователей но и для групп. Ну и т.д. Чисто для себя. Ну не судите строго если что-то мы не дописали или упустили, есть и недостатки конечно и некоторые мы уже видим , но в целом задача решена , и вроде пока работает. Просто на отгаживание и усовершенствование не хватет времени - мы тут и за учителчя и за консультанта и за программиста и иногда за грузчика : -)))
|