Показать сообщение отдельно
Старый 24.11.2010, 21:26   #2  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,340 / 3558 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Теоретически корректно. Собственно говоря - так и надо делать ... И для тех таблиц, к которым пользователь получит доступ через поля формы - так все и будет работать.
Грабли наступят там, где существуют пункты меню / кнопки на форме, которые данные меняют (как пример - периодические операции). При соблюдении Best Practice на соответствующих пунктах меню (а я надеюсь, что нет кнопок типа Button, а есть только кнопки типа MenuItemButton) необходимо свойство NeedAccessLevel устанавливать в значение, соответствующее действию периодической операции по отношению к данным. Если периодическая операция пересоздает записи - то Delete, если добавляет записи - то Add, если только правит - то Edit. Если данные не меняются (актуально для отчетов) - то можно оставить значение View по умолчанию.

Собственно - подстава будет там, где разработчики оставили значение по умолчанию (а это View). На моей практике (может мне просто так "везло") разработчики совершенно не заботились установкой данного свойства. Т.е. если у Вас та же ситуация - то сделав так, как Вы предположили - пользователь получит доступ ко всем функциям, меняющим данные, хотя и самостоятельно в форме изменить данные не сможет.

Также хочу отметить, что еще могут возникнуть ситуации, когда доступ на ключи придется давать по-любому - т.к. в структуре самого меню они прописаны (касается подотчетных лиц, русских ОСов, CRM и т.д.)
__________________
Возможно сделать все. Вопрос времени
За это сообщение автора поблагодарили: IKA (1), farlander (1).