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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 01.04.2005, 06:27   #1  
LIV is offline
LIV
Участник
 
18 / 10 (1) +
Регистрация: 31.03.2005
Ситуация такая

Есть текущая форма (допустим накладной). В ней есть поле Код склада, связанное с полем Location Code таблицы формы. Location Code, понятно, связан с таблицей Location через ее поле Code.

Теперь вопрос: как прогаммно, находясь в форме накладной, повесить фильтр на таблицу Location, чтобы тыкаясь в поле Код склада у пользователя высвечивались не все склады, а только разрешенные конкретному пользователю?
Старый 01.04.2005, 11:39   #2  
zm is offline
zm
Участник
 
44 / 10 (1) +
Регистрация: 15.07.2003
Адрес: Латвия
Примерно так...

На OnLookUp

CLEAR(LocationListForm);
LocationListForm.SetUserRestriction(TRUE);
LocationListForm.LOOKUPMODE(TRUE);
IF LocationListForm.RUNMODAL = ACTION::LookupOK THEN BEGIN
Text := LocationListForm.GetSelectionFilter();
EXIT(TRUE);
END;

В форме LocationListForm
global booUserLocFiler;
Function: SetUserRestriction(boolean AppUserFilter)
booUserLocFiler := AppUserFilter;

на OnOpen
if booUserLocFiler then begin
IF UserSetup.GET(USERID) THEN BEGIN
IF UserSetup."Location Filter" <> '' THEN BEGIN
FILTERGROUP(2);
SETFILTER(Code,UserSetup."Location Filter");
FILTERGROUP(0);
END ELSE
SETRANGE(Code);
END ELSE
SETRANGE(Code);
end;
Ну и в UserSetup добавить поле "Location Filter".
Старый 01.04.2005, 13:50   #3  
LIV is offline
LIV
Участник
 
18 / 10 (1) +
Регистрация: 31.03.2005
Работает, большое спасибо!
А то я на Navision всего недели две как смотрю, и сам ни за что бы не додумал
 


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

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

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