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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 15.07.2009, 18:17   #1  
mira is offline
mira
Участник
Аватар для mira
 
140 / 25 (1) +++
Регистрация: 18.03.2007
Адрес: Москва
Всем доброго дня.

Flow Field показывает правильное значение с учетом фильтров на форме, но при LookUp поля показывает записи без учета фильтра.
В чем может быть причина?

Триггер LookUp кода не содержит.
FF рассчитываю через Rec , например, CALCFIELDS("Qty. Sold").

Версия 4.0 SP3.

Не могу понять даже, на что обратить внимание. В таблицу, которая лежит в основе матричной формы с фильтром, добавлено поле Flow Filter. Наверно, проблемы с ним. Проверяемое поле Flow Field с другим фильтром и полем Flow Filter при LookUp показывает записи с учетом фильтра.
Сверила его свойства с другим полем Flow Filter, ликвидировала все отличия.

Но ..крокодил не ловится

Старый 15.07.2009, 18:39   #2  
Eugeny_F is offline
Eugeny_F
Участник
 
371 / 30 (2) +++
Регистрация: 18.11.2003
Адрес: Москва
Наверное, все-таки не LookUp, а DrillDown.
В триггере OnDrillDown должны быть строки типа: GLEntry.SETFILTER("Posting Date",GETFILTER("Date Filter"));
В качестве примера можете посмотреть Фин. Оборотную Ведомость
Старый 15.07.2009, 21:45   #3  
mira is offline
mira
Участник
Аватар для mira
 
140 / 25 (1) +++
Регистрация: 18.03.2007
Адрес: Москва
Да, "все-таки не LookUp, а DrillDown"...

Можно, конечно, DrillDown написать, но почему стандартный не срабатывает.
Меня смущает, что есть два одинаковых по принципу использования поля Store и Item Department в таблице операций.
И два соответствующих им поля Flow Filter в таблице, на которой построена форма.

Почему для фильтра Store все шоколадно и не надо писать триггер DrillDown, а для Item Department мне придется это сделать.
Чего-то я не сделала при настройке...

Свойства полей Flow Filter Store Filter и Item Department Filter сверила, никаких расхождений.
В таблице операций тоже сверила, расхождения устранила, но все равно: фильтр по магазину, DrillDown - операции только по этому магазину...
фильтр по Item Department, DrillDown - все операции ... но значение поля нормально пересчитывается для обоих фильтров
SETFILTER у меня на кнопочке на форме, т.е. все фильтры выставил, жмешь кнопочку и SETFILTER отрабатывает по всем полям-фильтрам.
Но в Matrix - OnAfterGetRecord() тоже переносила: все равно - значение считается, а фильтр не накладывается (((((((((((
Старый 16.07.2009, 16:24   #4  
Eugeny_F is offline
Eugeny_F
Участник
 
371 / 30 (2) +++
Регистрация: 18.11.2003
Адрес: Москва
А в поле, из которого выводится DrillDown тоже все одинаково? Проверьте, есть ли ссылки на поля с типом FlowFilter в формуле расчета (CalcFormula) вашего поля с типом FlowField.
Старый 30.07.2009, 16:07   #5  
mira is offline
mira
Участник
Аватар для mira
 
140 / 25 (1) +++
Регистрация: 18.03.2007
Адрес: Москва
"Крокодил не ловился" в форме, которую породила от дорабатываемой на период доработки.

При переносе изменений (всего-то: поле с фильтром!) в рабочую форму усе заработало!

Не поняла я, что это было.
И опыта не хватает самой раскрутить. А ведущего разработчика привлекать, когда все заработало .. совестно..

Мож, когда-нибудь появятся версии..с опытом )))
Старый 03.08.2009, 14:51   #6  
Storkich is offline
Storkich
Участник
 
149 / 10 (1) +
Регистрация: 08.03.2007
Посмотри коды тригеров фомы, которая открывается для проспомтра таблицы-источника.
OnOpenForm()
OnFindRecord(0
OnAfterGetRecord()

Возможно там сбрасываются фильтры
Например так
Код:
Form - OnFindRecord(Which : Text[1024]) : Boolean
  IF FIND(Which) THEN
	EXIT(TRUE)
  ELSE BEGIN
	SETRANGE("No.");
	EXIT(FIND(Which)); 
  END;
или
Код:
SETRANGE("Document Type");
 


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

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

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