30.06.2011, 17:25 | #1 |
Участник
|
Доброго времени суток!
Уважаемые форумчане, подскажите, пожалуйста, по вопросу установки/снятия фильтров для page. Требуется заменить существующие значения фильтра собственными. Вот здесь и возникла проблема. Ситуация: 1. Есть страница (page) 2. На ней уже установлены фильтры по некоторым полям 3. Пытаюсь прописать свои значения для фильтров, но в результате фильтры не перезаписываются, а суммируются. Фрагмент кода: ... Page.OPENEDIT; Page.FILTER.SETFILTER("Starting Date",FORMAT(Table."Starting Date")); ... Комментарии: 1) Page.FILTER.RESET; - не прокатило 2) Page.FILTER.SETFILTER("Starting Date"); - не прокатило 3) В дебаггере имеем следующее: ... Starting Date = 20-01-2013..26-01-2013 ... Starting Date = 02-01-2013 т.е. фильтры не переписываются с заменой значений 4) Поле "Starting Date" не редактируется напрямую (запрещено на page) (собственно, отсюда и все проблемы!), можно только установить фильтр, но он, к сожалению, только дополняет предыдущий. 5) Есть решение через REPEAT Page.PreviosPeriod.INVOKE; EVALUATE(PageStartingDate,Page.StartingDate.VALUE); UNTIL PageStartingDate < Table."Starting Date"; но это хорошо, когда даты находятся недалеко друг от друга. =( Помогите, пожалуйста, решить проблему. |
|
01.07.2011, 20:22 | #2 |
Участник
|
Скажите, а приведённый Вами код вообще в C/AL написан? Если да, то как вам удалось написать вообще этот код?
Код: Page.OPENEDIT; Page.FILTER.SETFILTER А если Ваш код находится/вызыается в самом обьекте Page, и вы обращаетесь к этому самому обьекту Page, то опятъ же всё идёт через CurrPage и там опять же нет никаких OPENEDIT, FILTER.SETFILTER? Или я что-то перепутал? |
|
02.07.2011, 17:58 | #3 |
Участник
|
Если Page имеет SourceTable, то почему Вы не манипулируете с фильтрами на Rec'e?
Упс, только сейчас увидел что речь идёт о NAV7. Не поделитесь ссылкой где можно 7-версию скачатъ? В PartnerSource я что-то не нашёл, да и выпуск 7-ки вроде на 2012 перенесли??? |
|