Показать сообщение отдельно
Старый 08.11.2006, 13:22   #1  
denny is offline
denny
Участник
 
93 / 29 (1) +++
Регистрация: 16.11.2003
Адрес: Novosibirsk
RLS. Проблема.
Салют.
В текущем проекте используем Record Level Security. Применяем достаточно осторожно и ограниченно, потому до поры до времени на проблемы не натыкались. Однако вот ведь вылезла одна! Опишу кратко.
AX 3.0 SP3
Потребовалось ограничить доступ пользователя к редактированию ссылок на номерные серии. Создали группу NumSeqRef, дали полные права в рамках стандартной Security. Настроили RLS для таблицы "Ссылки на серии" (NumberSequenceReference) так, чтобы выбирались лишь определенные ссылки (NumerSequenceReference.DataTypeId = 256, например. Теперь в настройках модуля "Расчеты с клиентами" на закладке "Номерные серии" будет видна лишь ссылка "Накладная по заказу").

Все работает замечательно до той поры, пока пользователь не начнет пользоваться функционалом, _программно_ обращающимся с указанной таблицей! Трассировка операторов SQL показывает, что запросы к базе выполняются с использованием указанных ограничений. Естественно, многие функции в системе, связанные с номерными сериями при таком безобразии работать отказываются. Падало подозрение на то, что в коде используется xRecord.RecordLevelSecurity(true)- ничего подобного.
Очень похоже на баг. В описании фиксов к SP4, SP5 похожего описания не нашел. Случалось у кого-нибудь?

Спасибо.
__________________
Денис Балуев.

Последний раз редактировалось denny; 08.11.2006 в 14:46. Причина: орфографические ошибки :)