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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 26.07.2011, 16:01   #21  
Alterant is offline
Alterant
Участник
 
378 / 10 (1) +
Регистрация: 31.03.2004
Цитата:
Сообщение от jopagames2 Посмотреть сообщение
О! Круто! Тоже работает
Хотя, честно говоря, я так и понял в чём же КАРДИНАЛЬНОЕ отличие кода?

ProdOrderComponent.SETRANGE("Prod. Order No.", '256') который НЕ РАБОТАЕТ

от ProdOrderComponent.SETRANGE("Prod. Order No.", '256', '256') который РАБОТАЕТ ?!

Фантастика
Ничего фантастического нет. Все дело в волшебных пузырьках в условии при котором система заполняет поля значением фильтра. В справке к PopulateAllFields написано:
Values will be inserted in those fields where a filter expression that is currently active evaluates into exactly one value.
Key fields are always populated.

Ставя множественный фильтр, хоть и по одному и тому же значению, мы заставляем систему думать, что фильтр не evaluates into exactly one value.
Старый 27.07.2011, 01:41   #22  
RedFox is offline
RedFox
Участник
 
1,441 / 10 (0) +
Регистрация: 28.12.2004
Адрес: Киев
Цитата:
Сообщение от Shaitan-Babay Посмотреть сообщение
Добрый день всем. Подскажите, в чём моя ошибка. Мне необходимо открыть форму с определённым фильтром. Если есть записи по результатам фильтра то форма без проблем открывается. Но если по результатам фильтрации нет записей, то программа прерывается и ругается, что такие значения не найдены, хотя по логике вещей должна открыться пустая форма с возможностью создать данную запись..
Наверное пишу глупость, но я обычно использую констукции типа:
Код:
ApplyCustEntries.SetSales(Rec,CustLedgEntry,SalesHeader.FIELDNO("Applies-to Doc. No."));
ApplyCustEntries.SETTABLEVIEW(CustLedgEntry);
ApplyCustEntries.SETRECORD(CustLedgEntry);
ApplyCustEntries.LOOKUPMODE(TRUE);
IF ApplyCustEntries.RUNMODAL = ACTION::LookupOK THEN BEGIN
  ApplyCustEntries.GetCustLedgEntry(CustLedgEntry);
...
  "Applies-to Doc. No." := CustLedgEntry."Document No.";
END;
или
Код:
DimValList.LOOKUPMODE(TRUE);
DimValList.SETTABLEVIEW(DimVal);
IF DimValList.RUNMODAL = ACTION::LookupOK THEN BEGIN
  DimValList.GETRECORD(DimVal);
  Text := Text + DimValList.GetSelectionFilter;
  EXIT(TRUE);
END
А на вставку - просто вешал кнопочку, где можно всегда получить все фильтра..
Старый 03.08.2011, 10:37   #23  
raniel is offline
raniel
Участник
Аватар для raniel
 
239 / 11 (1) +
Регистрация: 20.10.2006
Приношу извинения что пропал... командировка была. Как приехал сразу же проверил. Спасибо Alterant Ваш совет очень помог!
Тему можно считать закрытой.
 


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

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

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