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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 08.10.2010, 14:28   #41  
grif is offline
grif
Участник
Аватар для grif
 
236 / 10 (1) +
Регистрация: 31.08.2006
Цитата:
Сообщение от Sancho Посмотреть сообщение
снести зуп файлы?
Бог знает что там может быть понаписано...
Пробовал уже и не помогло
Старый 08.10.2010, 14:35   #42  
Sancho is offline
Sancho
Administrator
Аватар для Sancho
Лучший по профессии 2017
Лучший по профессии 2009
 
1,294 / 221 (10) ++++++
Регистрация: 11.01.2006
))))))))

востановить таблицы? индексы послетали?

ну у меня креатив кончился

жду результатов
Старый 08.10.2010, 14:40   #43  
romeo is offline
romeo
Участник
Аватар для romeo
 
564 / 10 (2) +
Регистрация: 31.03.2004
Есть возможность настраивать секьюрити фильтры для фирмы.. Может быть фирмы разные в двух базах? ))
Старый 09.10.2010, 15:05   #44  
grif is offline
grif
Участник
Аватар для grif
 
236 / 10 (1) +
Регистрация: 31.08.2006
Цитата:
Сообщение от romeo Посмотреть сообщение
Есть возможность настраивать секьюрити фильтры для фирмы.. Может быть фирмы разные в двух базах? ))
Если бы я затупил и настроил секьюрити фильтры не для той фирмы с которой работаю, то на форме этой таблицы (и в таблице в обджект дизайнере) отображались бы все записи, а не определённый секьюрити фильтром.
Если перейти к конкретике, то права настроены для всех фирм и сделано это одинаково в двух базах.
Старый 09.10.2010, 15:14   #45  
grif is offline
grif
Участник
Аватар для grif
 
236 / 10 (1) +
Регистрация: 31.08.2006
Цитата:
Сообщение от Sancho Посмотреть сообщение
))))))))

востановить таблицы? индексы послетали?

ну у меня креатив кончился

жду результатов
Тестирую на таблице-справочнике в которой 100 записей. Фильтрую по первичному ключу (одно поле Code). Да и проблема на нескольких разных таблицах выявляется. Кстати ещё выяснил, что вызов функции SETPERMISSIONFILTER не устанавливает никаких фильтров на запись
Старый 09.10.2010, 16:03   #46  
grif is offline
grif
Участник
Аватар для grif
 
236 / 10 (1) +
Регистрация: 31.08.2006
Чтобы не было мысли что я где-то дезинформирую, распишу по шагам свои действия.
Создана новая роль у которой установлены следующие права доступа:
Код:
Тип Объекта	Объект ID	Имя Объекта	Чтение	Вставка	Изменение	Удаление	Запуск	Фильтр защиты
Данные		14		Склад		Да	Да	Да		Да		Да	Location: Код=ТРАНЗИТ
Таблица		0				Да	Да	Да		Да		Да	
Форма		0				Да	Да	Да		Да		Да	
Система		0				Да	Да	Да		Да		Да
Тестовому пользователю назначена ТОЛЬКО эта роль.
Permissions для таблицы 14 - <Undefined>
Permissions для тестовой формы - <Undefined>

На форме добавлена кнопка с кодом
Код:
Name	DataType	Subtype	Length
_Loc	Record		Location

_Loc.FINDFIRST;
_Loc.SETPERMISSIONFILTER;
MESSAGE(_Loc.Code);
При нажатии кнопки под тестовым пользователем (перелогинен после настройки прав и редактирования формы) выскакивает сообщение с текстом склада, название которого начинается на А (что с ТРАНЗИТ не совпадает).
Если убрать строку _Loc.SETPERMISSIONFILTER, то ничего не меняется.

При этом если зайти в Object Designer и глянуть записи для Table 14 Location, то видна только одна запись (смотрю там специально, чтобы вы не предположили что на форме были сохранены фильтры)

Причём вот такой код
Код:
  _Perm.SETRANGE(_Perm."Role ID",'ТЕСТ');
  _Perm.SETRANGE(_Perm."Object Type",_Perm."Object Type"::"Table Data");
  _Perm.FINDFIRST;
  MESSAGE(FORMAT(_Perm."Object ID")+' '+FORMAT(_Perm."Security Filter"));
на той же кнопке под тестовым пользователем выдаёт
Цитата:
---------------------------
Microsoft Business Solutions-Navision
---------------------------
14 Location: Код=ТРАНЗИТ
---------------------------
ОК
---------------------------
Т.е. фильтры на роли точно есть, они применяются автоматом к формам, таблицам и т.п., но никак не применяются для кода.
Старый 11.10.2010, 15:38   #47  
grif is offline
grif
Участник
Аватар для grif
 
236 / 10 (1) +
Регистрация: 31.08.2006
Немного всё таки дезинформировал из-за спешки
В коде установка фильтров безопасности стояла не в том месте
Код:
_Loc.FINDFIRST;
_Loc.SETPERMISSIONFILTER;
MESSAGE(_Loc.Code);
Вот так правильно
Код:
_Loc.SETPERMISSIONFILTER;
_Loc.FINDFIRST;
MESSAGE(_Loc.Code);
и вот так фильтрует, но если убрать _Loc.SETPERMISSIONFILTER, то ошибки не возникает, но должна
Старый 11.10.2010, 16:07   #48  
SVG is offline
SVG
Участник
 
201 / 10 (1) +
Регистрация: 15.11.2004
Не должно быть ошибки - код всегда работает с полным набором данных.
Хотите наложить в коде "фильтры доступа" - вызывайте SETPERMISSIONFILTER
 

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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

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