15.07.2009, 18:17 | #1 |
Участник
|
Всем доброго дня.
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 |
Участник
|
Наверное, все-таки не LookUp, а DrillDown.
В триггере OnDrillDown должны быть строки типа: GLEntry.SETFILTER("Posting Date",GETFILTER("Date Filter")); В качестве примера можете посмотреть Фин. Оборотную Ведомость |
|
15.07.2009, 21:45 | #3 |
Участник
|
Да, "все-таки не 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 |
Участник
|
А в поле, из которого выводится DrillDown тоже все одинаково? Проверьте, есть ли ссылки на поля с типом FlowFilter в формуле расчета (CalcFormula) вашего поля с типом FlowField.
|
|
30.07.2009, 16:07 | #5 |
Участник
|
"Крокодил не ловился" в форме, которую породила от дорабатываемой на период доработки.
При переносе изменений (всего-то: поле с фильтром!) в рабочую форму усе заработало! Не поняла я, что это было. И опыта не хватает самой раскрутить. А ведущего разработчика привлекать, когда все заработало .. совестно.. Мож, когда-нибудь появятся версии..с опытом ))) |
|
03.08.2009, 14:51 | #6 |
Участник
|
Посмотри коды тригеров фомы, которая открывается для проспомтра таблицы-источника.
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"); |
|