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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 14.09.2005, 19:26   #1  
apanko is offline
apanko
MCTS
MCBMSS
Лучший по профессии 2009
 
1,164 / 139 (7) +++++
Регистрация: 24.02.2005
Нахлынули вопросы, нужна помощь

Датаитем - Prod. Order Line.
ReqFilterFields : Prod. Order No.,Line No.
Надо чтобы при выборе Прод. ордер Но, открывался список с наложенным фильтром по полю статус = Запущен или Завершен. Если в DataItemTableView указать SORTING(Status,Prod. Order No.,Line No.) ORDER(Ascending) WHERE(Status=FILTER(Released)) то фильтр устанавливается. Вопрос как туда указать и Released, и Finished. Через "|" не работает, если в две строки, то используется последний фильтр.

Кто нибудь знает?

Заранее спасибо.

АП
Старый 14.09.2005, 19:41   #2  
Галина is offline
Галина
Участник
 
1,132 / 28 (3) +++
Регистрация: 01.07.2003
Все работает через | -без проблем, через type=Filter. У вас наверно в другом проблема.
Старый 19.09.2005, 11:17   #3  
apanko is offline
apanko
MCTS
MCBMSS
Лучший по профессии 2009
 
1,164 / 139 (7) +++++
Регистрация: 24.02.2005
Может и в другом.
Сделал тестовый отчет - дата итем всего один Продакшн Ордер.
В свойстве DataItemTableView указал WHERE(Status=FILTER(Released|Finished)).

Не работает. Один работает, а два никак.

Сделал другой тестовый отчет - дата итем тоже один Продакшн БОМ Хидер.
В нем вообще ничего не работает ни статус (ни один, ни несколько), ни номер (ни один, ни несколько). Точнее позиционирование происходит (на первом пождходящем), но скрытия неподходящих нет.

Впал в задумчивость, ответа не вижу.

В теперешней задаче это не надо (нужны только завершенные). Но очень хочеться разобраться.

Если не трудно, работающий объект можете выслать?

Буду очень благодарен.

С уважением, АП
Старый 19.09.2005, 11:36   #4  
Yoil is offline
Yoil
NavAx
NavAx Club
Лучший по профессии 2017
Лучший по профессии 2009
 
1,574 / 70 (6) ++++
Регистрация: 20.11.2002
Адрес: Msk
ID 55555.
Вложения
Тип файла: fob example.fob (3.6 Кб, 402 просмотров)
__________________
"Моей лошадке ядрышком полмордочки снесло..."
А.В.Суворов, письма к дочери
Старый 19.09.2005, 11:51   #5  
apanko is offline
apanko
MCTS
MCBMSS
Лучший по профессии 2009
 
1,164 / 139 (7) +++++
Регистрация: 24.02.2005
Спасибо за оперативность.

Понял - не правильно спросил.

Вопрос, не в том, чтобы в отчет попали только Released или Finished.
А чтобы на первой закладке, там где фильтры (в Вашем примере ее нет). При выборе производственного заказа (Но.). в открывающемся списке была предустановлена фильтрация. По умолчанию там стоит Модель. А надо чтобы было запущенный|завершенный.

Для одного статуса, используемая мною конструкция подходила. Я знаю, что она используется для других целей (для выборки данных в отчет по данному фильтру, а не для оптимизации процесса установки фильтра вручную).

Вывод: То что при использовании конструкции WHERE(Status=FILTER(Released)) в открываемой форме списка устанавливается соответствующий фильтр - скорее исключение, чем правило. Данная конструкция не работает в спецификациях, товарах и при нескольких фильтрах (в части фильтрации).

Вопрос, что имела в виду Галина, когда говорила, что у нее все работает.

АП
Старый 19.09.2005, 13:29   #6  
Галина is offline
Галина
Участник
 
1,132 / 28 (3) +++
Регистрация: 01.07.2003
Да я как раз проверяла как в репорте, который Дуд сделал.
А вам я так поняла нужно чтобы в ReqFilterFields - стояло поле и это же поле было прописано в DataItemTableView(WHERE(поле=FILTER(значение поля)).
И при запуске отчета - в поле-уже стояли значения, введенные в DataItemTableView ? Я правильно поняла?
Так как я поняла-я пробовала - даже с одним значением - у меня в поле-при запуске отчета не стоят значения. Мне кажется это взаимоисключающие фильтры (ReqFilterFields и DataItemTableView).
А подскажите-где у вас -в каких отчетах стоят значения?

С другой стороны-пользователь если один раз поставит-фильтры, то эти значения сохраняются в zup файл(до изменения отчета) и второй раз этому же пользователю набирать повторно уже не нужно.
Старый 19.09.2005, 13:41   #7  
Wizard_imported is offline
Wizard_imported
Участник
 
157 / 10 (1) +
Регистрация: 25.11.2004
Это надо в таблице триггер OnLookup написать или TableRelation хитро переопределить...
как развести лукап в этом отчете и лукап "вообще"... простор для фантазии
Старый 19.09.2005, 13:57   #8  
apanko is offline
apanko
MCTS
MCBMSS
Лучший по профессии 2009
 
1,164 / 139 (7) +++++
Регистрация: 24.02.2005
2Галина. Пример
заказ : статус
00001 : модель
00002 : запущен
00003 : запущен
00004 : завершен

в отчете в ReqFilterFields указан "Но."

Запускаем отчет, видим закладку "Произ. заказ", в первой строке фильтр по номеру. Нажимаем Ассист батон и проваливаемся в список производственных заказов.
Если в DataItemTableView ничего не указано, то Список отфильтрован по статусу Модель (но его можно снять)
Если в DataItemTableView указать WHERE(Status=FILTER(Released)) или завершен то список открывается с фильтром по указанному статусу. (Почти то что нучно)
А если в DataItemTableView указать WHERE(Status=FILTER(Released|Finished)) то Список отфильтрован по статусу Модель.
А хотелось бы увидеть следушее:
заказ : статус
00002 : запущен
00003 : запущен
00004 : завершен


2 Wizard, вопрос в общем то появился из-за того, что в некоторых случаях фильтр указанный в DataItemTableView использовался системой при выборе значения из списка, что и ввело меня в заблуждение относительно назначения данного свойства. Это заблуждение и мешало понять другим участникам чего я спрашивал, похоже они эту возможность в своей практике не использовали.

Кстати очень любопытно почему при открытии формы 900815 сразу устанавливается фильтр по Модели.

С уважением, АП
Старый 19.09.2005, 14:04   #9  
Галина is offline
Галина
Участник
 
1,132 / 28 (3) +++
Регистрация: 01.07.2003
А какой отчет?
Старый 19.09.2005, 14:13   #11  
apanko is offline
apanko
MCTS
MCBMSS
Лучший по профессии 2009
 
1,164 / 139 (7) +++++
Регистрация: 24.02.2005
Кстати практически в любом отчете 99000761-766 замечена такая особенность, работаем как пользователь с первой закладкой:
* если не указывать статус - то при выборе номера заказа список отфильтрован по статусу Модель.
* если указать статус например Завершен то список открывается с фильтром по указанному статусу.
* А если указать Released|Finished то Список опять отфильтрован по статусу Модель. Что и вызывает мое недовольство.

АП
Старый 19.09.2005, 14:16   #12  
Yoil is offline
Yoil
NavAx
NavAx Club
Лучший по профессии 2017
Лучший по профессии 2009
 
1,574 / 70 (6) ++++
Регистрация: 20.11.2002
Адрес: Msk
Ну забейте тогда на закладку датаайтема.
Заведите спец. переменную для этого фильтра, на OnOpenForm в реквест форме, например, задайте ей значение RELEASED|FINISHED, вытащите на реквест форму.
__________________
"Моей лошадке ядрышком полмордочки снесло..."
А.В.Суворов, письма к дочери
Старый 19.09.2005, 14:33   #13  
Галина is offline
Галина
Участник
 
1,132 / 28 (3) +++
Регистрация: 01.07.2003
Самое интересное-а причем здесь DataItemTableView - хотя бы в этом же отчете : 99000761 ?
Там не стоят никакие фильтры.
Да и действительно странно - работают фильтры по полю Status.
Старый 19.09.2005, 14:45   #14  
apanko is offline
apanko
MCTS
MCBMSS
Лучший по профессии 2009
 
1,164 / 139 (7) +++++
Регистрация: 24.02.2005
Я уже начинаю сомневаться в своих способностях объяснять. Либо дела у меня настолько плохо, либо обсуждаемый здесь способ фильтрации настолько нестандартный, что участникам сложно понять, что к чему.
Как сделать чтобы работало я понял (спасибо Дуд и Wizard).


DataItemTableView в отчете 99000761 действительно не причем. Упор делался на другую особенность, я решил что она имеет отношение к теме:
В данном отчете на первой закладке при открытии списка Заказов фильтры устанавливаются в зависимости от фильтра в поле Статус.
Если в него вписать несколько значений - то этот эффект пропадает (при выборе Заказа из списка, но остается при работе отчета).
Если же вместо того чтобы значение Фильтра Статус выбирать вручную (пользователем), указать его (их) в DataItemTableView то наблючаем те же последствия: одно значение в фильтре Статус - выбор номера заказ происходит нормально (фильтрация в форме списка заказов), два значения - уже становится неудобно.

АП
Старый 19.09.2005, 15:29   #15  
Галина is offline
Галина
Участник
 
1,132 / 28 (3) +++
Регистрация: 01.07.2003
Цитата:
Сообщение от apanko
Я уже начинаю сомневаться в своих способностях объяснять. Либо дела у меня настолько плохо, либо обсуждаемый здесь способ фильтрации настолько нестандартный, что участникам сложно понять, что к чему.
Как сделать чтобы работало я понял (спасибо Дуд и Wizard).


DataItemTableView  в отчете 99000761 действительно не причем. Упор делался на другую особенность, я решил что она имеет отношение к теме:
В данном отчете на первой закладке при открытии списка Заказов фильтры устанавливаются в зависимости от фильтра в поле Статус.
Если в него вписать несколько значений - то этот эффект пропадает (при выборе Заказа из списка, но остается при работе отчета).
Если же вместо того чтобы значение Фильтра Статус выбирать вручную (пользователем), указать его (их) в DataItemTableView  то наблючаем те же последствия: одно значение в фильтре Статус - выбор номера заказ происходит нормально (фильтрация в форме списка заказов), два значения - уже становится неудобно.

АП
А кто с этим спорит? Я посмотрела в отчете 99000761 и поэтому написала-что странно работают фильтры по полю Статус (они работают - так как вы описали).
По моему фильтр, указанный в DataItemTableView-срабатывает при прохождении тригерра OnAfterGetRecord(). Возможно-я ошибаюсь.
Старый 19.09.2005, 16:16   #16  
apanko is offline
apanko
MCTS
MCBMSS
Лучший по профессии 2009
 
1,164 / 139 (7) +++++
Регистрация: 24.02.2005
Спасибо Галина.
Спасибо Дуд.
Спасибо Wizard.

Кое-что понял, кое-какие выводы сделал.
Продолжать тему смысла не вижу, буду считать замеченный эффект недокументированной возможностью до тех пор пока не встречу описание в литературных источниках.

Еще раз спасибо всем за помощь и участие.

С уважением, АП
 


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

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

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