08.10.2010, 14:28 | #41 |
Участник
|
|
|
08.10.2010, 14:35 | #42 |
Administrator
|
))))))))
востановить таблицы? индексы послетали? ну у меня креатив кончился жду результатов |
|
08.10.2010, 14:40 | #43 |
Участник
|
Есть возможность настраивать секьюрити фильтры для фирмы.. Может быть фирмы разные в двух базах? ))
|
|
09.10.2010, 15:05 | #44 |
Участник
|
Цитата:
Если перейти к конкретике, то права настроены для всех фирм и сделано это одинаково в двух базах. |
|
09.10.2010, 15:14 | #45 |
Участник
|
Тестирую на таблице-справочнике в которой 100 записей. Фильтрую по первичному ключу (одно поле Code). Да и проблема на нескольких разных таблицах выявляется. Кстати ещё выяснил, что вызов функции SETPERMISSIONFILTER не устанавливает никаких фильтров на запись
|
|
09.10.2010, 16:03 | #46 |
Участник
|
Чтобы не было мысли что я где-то дезинформирую, распишу по шагам свои действия.
Создана новая роль у которой установлены следующие права доступа: Код: Тип Объекта Объект 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 |
Участник
|
Немного всё таки дезинформировал из-за спешки
В коде установка фильтров безопасности стояла не в том месте Код: _Loc.FINDFIRST; _Loc.SETPERMISSIONFILTER; MESSAGE(_Loc.Code); Код: _Loc.SETPERMISSIONFILTER; _Loc.FINDFIRST; MESSAGE(_Loc.Code); |
|
11.10.2010, 16:07 | #48 |
Участник
|
Не должно быть ошибки - код всегда работает с полным набором данных.
Хотите наложить в коде "фильтры доступа" - вызывайте SETPERMISSIONFILTER |
|