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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 07.05.2007, 18:07   #1  
Lates is offline
Lates
Участник
 
207 / 10 (1) +
Регистрация: 08.02.2007
Добрый день!

Столкнулся со следующей проблемой.
Решил настроить ограничение доступа к таблице Фин. Журнал Строка. К примеру по полю Бал. Тип Счета. Так, чтобы группа пользователей видела только значение "Банк. Счет".
Проверил работу под пользователем. Поначалу все было нормально, но потом открыл Приходные кассовые ордера и нажал F5 для просмотра списка. Вот тут программа и ругнулась, что отсутствуют права для просмотра таблицы Фин. Журнал Строка. Причем сделала это хитро - сначала, буквально на долю секунды, открыла форму (где, кстати, был виден нужный документ) и сразу же закрыла ее, выдав сообщение об ошибке.
После этого попробовал открыть в дизайнере (под этим же пользователем) таблицу и там увидел, что установленный в правах группы фильтр работает как надо.
Так же все нормально работает (фильтруется) в журнале платежей (там же тоже используется эта таблица).
И вот единственная проблема с кассовыми ордерами...
Может кто знает как это лечится?

Заранее спасибо
Старый 08.05.2007, 10:48   #2  
kas1 is offline
kas1
Участник
 
51 / 10 (1) +
Регистрация: 13.02.2007
А зачем на таблицу. Сделайте ограничение на форме на которой вы смотрите данные.
На OnOpenForm напишите например:
IF User."User ID" = 'Ivanov' THEN
CurrForm."Ваше поле".VISIBLE:=FALSE;

Это проше всего по моему.
Старый 08.05.2007, 10:53   #3  
Fordewind is offline
Fordewind
Участник
 
1,134 / 10 (3) +
Регистрация: 01.12.2005
Цитата:
Сообщение от kas1 Посмотреть сообщение
IF User."User ID" = 'Ivanov' THEN
CurrForm."Ваше поле".VISIBLE:=FALSE;
Не пешите ХАРДКОД!
Завтра Иванов уйдет, а прийдет Петров и что тогда?

З.Ы. Есть такая команда 'USERID'
Старый 08.05.2007, 11:01   #4  
kas1 is offline
kas1
Участник
 
51 / 10 (1) +
Регистрация: 13.02.2007
Тогда можно сделать так.
Есть табличка где прописаны роли.
Так же д.б. табличка где сотруднику присваивается эта роль. Если нет то создайте, там несколько полей всего будет. У меня она называется Member Of.
Создайте роль, присвойте ее всем необх. сотрудникам.
На OnOpenForm напишите:

IF "Member Of".GET(USERID,'Название роли') THEN BEGIN
CurrForm."Ваше поле".EDITABLE:=FALSE;
END;

Такой вариант лучше.
Старый 08.05.2007, 11:43   #5  
Lates is offline
Lates
Участник
 
207 / 10 (1) +
Регистрация: 08.02.2007
Все это, конечно, здорово...
Но:
1. хотелось бы использовать готовый имеющийся функционал раз уж он есть
2. для каждой формы, для каждого пользователя программировать настройку... мягко говоря, не айс
Хотя, насколько я понимаю, функционал по настройке ограничений в Navision достаточно сырой - настраивается местами очень тяжело.
Ну может все-таки кто-нибудь знает какое заклинание...
 


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

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

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