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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 20.03.2008, 11:03   #18  
rmv is offline
rmv
Участник
 
481 / 11 (1) +
Регистрация: 15.02.2005
Есть хитрый способ имитровать некий аналог OR на формах.
Пример - В списке счетов фактур нужно показывать только те записи где я менеджер ИЛИ клиент='Вася Пупкин'.
Что делаем
1. На форме Объявляем две переменные record Purh. Inv Header. и при открытии накладываем фильтры PIH1.setrange("Salesperson Code", Я); PIH2.setrange("Salesperson Code", Я).
2. На OnFindRecord и OnNextRecord обманываем Нав следующим образом:

[codebox]OnFindRecord:
PIH1:=rec;
PIH2:=rec;
Found1:=PIH1.find(which);
Found2:=PIH1.find(which);
if not(Found1) and not(Found2) then exit(false);
if Found1 and Found2 then begin
if PIH1."No."<PIH2."No." then
rec:=PIH1;
else
rec:=PIH2;
end
else begin
if Found1 then
rec:=found1
else
rec:=found2;
end;
exit(true)[/codebox]
Аналогичным образом (работая с двумя наборами и сравнивая) - пишем код на OnNextRecord.

В приведенном примере не учитываются фильтры наложенные на форму и выбранный ключ - эти проблемы решаются достаточно просто.
 

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

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

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

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

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