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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 30.12.2009, 13:13   #1  
MuleTail is offline
MuleTail
Участник
 
1 / 10 (1) +
Регистрация: 08.07.2009
Давно уже мною было замечен следующий факт:
1.пишем OnLookup триггер для поля выбранной нами таблицы:
как самый надежный вариант можно воспользоваться данным шаблоном:
Код:
WITH Cust DO BEGIN
  Cust := Rec;
  Dept.Code := "Department Code";
  IF FORM.RUNMODAL(O,Dept) = Action::LookupOK THEN BEGIN
    "Department Code" := Dept.Code;
    VALIDATE("Department Code");
    Rec := Cust;
  END;
END;
Источник

2.В списочной форме для указанной таблицы вызываем фильтр поля (или таблицы) и вызываем, для удобства, опять же - LookUp -
3.Результат такого вызова, в случае предопределенного OnLookup (Fields) Trigger, будет то, что мы изменим значение выбранного поля, а не значение фильтра.
Ясно, что данный эффект является нежелательный, и самый простой способ его обойти - переопределять триггеры на формах, а не на таблицах. Но... такое переопределение на табличных триггерах встречается в оригинальном коде, кроме того нигде не сказано, что так делать не совсем корректно.
Можно ли как-то правильно обрабатывать вызовы Lookup из форм для фильтров, или хотя бы предотвращать изменение значения поля в этих случаях?
 


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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 16:11.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.