AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 03.07.2010, 19:22   #1  
alek_sk is offline
alek_sk
Участник
 
8 / 10 (1) +
Регистрация: 01.08.2006
Проверка права при сохранении записи
Уважаемые коллеги, подскажите вариант(ы) решения следующей задачи:
есть объект (например, заказ, т.е. запись в SalesTable) c которым может работать только определенная группа пользователей. Каждый раз, когда кто-то сохраняет запись (в любой таблице, в которой есть поле SalesId), надо проверить что этот кто-то может работать с этим заказом.
Таблиц много и перекрывать validateWrite() на каждой из них не совсем красивый вариант.
Возможно есть способ перекрыть общий метод validateField(или его аналог) в одном месте и проверить проверить тип (расширенный тип данных) изменяемого поля?
Старый 03.07.2010, 19:37   #2  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от alek_sk Посмотреть сообщение
Таблиц много и перекрывать validateWrite() на каждой из них не совсем красивый вариант.
Зачем перекрывать validateWrite?

просто не давайте право записи всем, а дайте право записи только нужным товарищам. и программировать ничего не нужно.
__________________
полезное на axForum, github, vk, coub.
Старый 04.07.2010, 21:55   #3  
Raven Melancholic is offline
Raven Melancholic
Участник
Аватар для Raven Melancholic
Самостоятельные клиенты AX
Лучший по профессии 2015
 
2,164 / 1293 (48) ++++++++
Регистрация: 21.03.2005
Адрес: Москва-Петушки
А где в стандартной Аксе много мест использования SalesId?
В основном, все операции с заказом собраны в самом заказе. Всякие денежные вещи в стандартной Аксе выполняются в целом по клиенту или по накладным (сопоставления, письма напоминания и т.п.), ну в российской локализации еще и по договорам.
По заказам в голову приходят только периодическое операции разноски (включая регистрацию отборочной накладной), выбор заказа в WMS, некоторые операции в модуле Проекты.
Вообще, можно подробнее описать правило:
Цитата:
надо проверить что этот кто-то может работать с этим заказом.
Что имеется ввиду под работой с заказом?
Старый 04.07.2010, 23:35   #4  
SergeD is offline
SergeD
Участник
 
9 / 10 (1) +
Регистрация: 24.09.2003
Я бы настроил RLS на SalesTable и тогда те, кто не должен иметь права работать с этим заказом, его и не увидят. Если конечно у Вас те, кто не может работать, не должны и видеть.
Старый 07.07.2010, 00:17   #5  
alek_sk is offline
alek_sk
Участник
 
8 / 10 (1) +
Регистрация: 01.08.2006
У RLS всего один недостаток, есть возможность вписать SalesId ручками. И насколько я знаю сохранить такую запись система даст (у меня по крайней мере так). Да запись пропадет из обзора, но как говорится, целостность данных будет нарушена.
Задача на самом деле шире, нужен механизм позволяющий ограничивать доступ к записям любой таблицы (с заказов просто начали, на очереди, клиенты, поставщики...)
RLS ограничивает только просмотр.
В принципе осталось решить только проверку на запись. Суть моего вопроса - есть ли единая точка входа (какой-либо класс или иной обработчик), который вызывается при проверке на запись любой таблицы?
Старый 07.07.2010, 01:37   #6  
oip is offline
oip
Axapta
Лучший по профессии 2014
 
2,564 / 1416 (53) ++++++++
Регистрация: 28.11.2005
Записей в блоге: 1
Цитата:
Сообщение от alek_sk Посмотреть сообщение
есть ли единая точка входа (какой-либо класс или иной обработчик), который вызывается при проверке на запись любой таблицы?
Нет.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Добавление Note при сохранении записи алька DAX: Программирование 2 29.03.2007 23:47
Проверка целостности coja DAX: Администрирование 6 06.09.2006 13:14
Права доступа на шаблон записи slava09 DAX: Функционал 6 14.12.2005 15:42
Разные права на одну таблицу coja DAX: Администрирование 3 24.03.2005 07:26
Как решить проблему с правами на вновь создаваемые записи таблицы. AY DAX: Прочие вопросы 4 02.10.2003 12:44

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 15:25.