14.09.2005, 19:26 | #1 |
MCTS
|
Нахлынули вопросы, нужна помощь
Датаитем - 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 |
Участник
|
Все работает через | -без проблем, через type=Filter. У вас наверно в другом проблема.
|
|
19.09.2005, 11:17 | #3 |
MCTS
|
Может и в другом.
Сделал тестовый отчет - дата итем всего один Продакшн Ордер. В свойстве DataItemTableView указал WHERE(Status=FILTER(Released|Finished)). Не работает. Один работает, а два никак. Сделал другой тестовый отчет - дата итем тоже один Продакшн БОМ Хидер. В нем вообще ничего не работает ни статус (ни один, ни несколько), ни номер (ни один, ни несколько). Точнее позиционирование происходит (на первом пождходящем), но скрытия неподходящих нет. Впал в задумчивость, ответа не вижу. В теперешней задаче это не надо (нужны только завершенные). Но очень хочеться разобраться. Если не трудно, работающий объект можете выслать? Буду очень благодарен. С уважением, АП |
|
19.09.2005, 11:36 | #4 |
NavAx
|
ID 55555.
__________________
"Моей лошадке ядрышком полмордочки снесло..." А.В.Суворов, письма к дочери |
|
19.09.2005, 11:51 | #5 |
MCTS
|
Спасибо за оперативность.
Понял - не правильно спросил. Вопрос, не в том, чтобы в отчет попали только Released или Finished. А чтобы на первой закладке, там где фильтры (в Вашем примере ее нет). При выборе производственного заказа (Но.). в открывающемся списке была предустановлена фильтрация. По умолчанию там стоит Модель. А надо чтобы было запущенный|завершенный. Для одного статуса, используемая мною конструкция подходила. Я знаю, что она используется для других целей (для выборки данных в отчет по данному фильтру, а не для оптимизации процесса установки фильтра вручную). Вывод: То что при использовании конструкции WHERE(Status=FILTER(Released)) в открываемой форме списка устанавливается соответствующий фильтр - скорее исключение, чем правило. Данная конструкция не работает в спецификациях, товарах и при нескольких фильтрах (в части фильтрации). Вопрос, что имела в виду Галина, когда говорила, что у нее все работает. АП |
|
19.09.2005, 13:29 | #6 |
Участник
|
Да я как раз проверяла как в репорте, который Дуд сделал.
А вам я так поняла нужно чтобы в ReqFilterFields - стояло поле и это же поле было прописано в DataItemTableView(WHERE(поле=FILTER(значение поля)). И при запуске отчета - в поле-уже стояли значения, введенные в DataItemTableView ? Я правильно поняла? Так как я поняла-я пробовала - даже с одним значением - у меня в поле-при запуске отчета не стоят значения. Мне кажется это взаимоисключающие фильтры (ReqFilterFields и DataItemTableView). А подскажите-где у вас -в каких отчетах стоят значения? С другой стороны-пользователь если один раз поставит-фильтры, то эти значения сохраняются в zup файл(до изменения отчета) и второй раз этому же пользователю набирать повторно уже не нужно. |
|
19.09.2005, 13:41 | #7 |
Участник
|
Это надо в таблице триггер OnLookup написать или TableRelation хитро переопределить...
как развести лукап в этом отчете и лукап "вообще"... простор для фантазии |
|
19.09.2005, 13:57 | #8 |
MCTS
|
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 |
Участник
|
А какой отчет?
|
|
19.09.2005, 14:06 | #10 |
MCTS
|
Самодельный.
|
|
19.09.2005, 14:13 | #11 |
MCTS
|
Кстати практически в любом отчете 99000761-766 замечена такая особенность, работаем как пользователь с первой закладкой:
* если не указывать статус - то при выборе номера заказа список отфильтрован по статусу Модель. * если указать статус например Завершен то список открывается с фильтром по указанному статусу. * А если указать Released|Finished то Список опять отфильтрован по статусу Модель. Что и вызывает мое недовольство. АП |
|
19.09.2005, 14:16 | #12 |
NavAx
|
Ну забейте тогда на закладку датаайтема.
Заведите спец. переменную для этого фильтра, на OnOpenForm в реквест форме, например, задайте ей значение RELEASED|FINISHED, вытащите на реквест форму.
__________________
"Моей лошадке ядрышком полмордочки снесло..." А.В.Суворов, письма к дочери |
|
19.09.2005, 14:33 | #13 |
Участник
|
Самое интересное-а причем здесь DataItemTableView - хотя бы в этом же отчете : 99000761 ?
Там не стоят никакие фильтры. Да и действительно странно - работают фильтры по полю Status. |
|
19.09.2005, 14:45 | #14 |
MCTS
|
Я уже начинаю сомневаться в своих способностях объяснять. Либо дела у меня настолько плохо, либо обсуждаемый здесь способ фильтрации настолько нестандартный, что участникам сложно понять, что к чему.
Как сделать чтобы работало я понял (спасибо Дуд и Wizard). DataItemTableView в отчете 99000761 действительно не причем. Упор делался на другую особенность, я решил что она имеет отношение к теме: В данном отчете на первой закладке при открытии списка Заказов фильтры устанавливаются в зависимости от фильтра в поле Статус. Если в него вписать несколько значений - то этот эффект пропадает (при выборе Заказа из списка, но остается при работе отчета). Если же вместо того чтобы значение Фильтра Статус выбирать вручную (пользователем), указать его (их) в DataItemTableView то наблючаем те же последствия: одно значение в фильтре Статус - выбор номера заказ происходит нормально (фильтрация в форме списка заказов), два значения - уже становится неудобно. АП |
|
19.09.2005, 15:29 | #15 |
Участник
|
Цитата:
Сообщение от apanko
Я уже начинаю сомневаться в своих способностях объяснять. Либо дела у меня настолько плохо, либо обсуждаемый здесь способ фильтрации настолько нестандартный, что участникам сложно понять, что к чему.
Как сделать чтобы работало я понял (спасибо Дуд и Wizard). DataItemTableView в отчете 99000761 действительно не причем. Упор делался на другую особенность, я решил что она имеет отношение к теме: В данном отчете на первой закладке при открытии списка Заказов фильтры устанавливаются в зависимости от фильтра в поле Статус. Если в него вписать несколько значений - то этот эффект пропадает (при выборе Заказа из списка, но остается при работе отчета). Если же вместо того чтобы значение Фильтра Статус выбирать вручную (пользователем), указать его (их) в DataItemTableView то наблючаем те же последствия: одно значение в фильтре Статус - выбор номера заказ происходит нормально (фильтрация в форме списка заказов), два значения - уже становится неудобно. АП По моему фильтр, указанный в DataItemTableView-срабатывает при прохождении тригерра OnAfterGetRecord(). Возможно-я ошибаюсь. |
|
19.09.2005, 16:16 | #16 |
MCTS
|
Спасибо Галина.
Спасибо Дуд. Спасибо Wizard. Кое-что понял, кое-какие выводы сделал. Продолжать тему смысла не вижу, буду считать замеченный эффект недокументированной возможностью до тех пор пока не встречу описание в литературных источниках. Еще раз спасибо всем за помощь и участие. С уважением, АП |
|