19.09.2005, 20:05 | #1 |
Участник
|
Вопрос по фильтрации
Есть форма закупки (мод расширенно). Вверху грид с закупками, внизу грид со строками. Теперь я хочу, чтобы из формы InventTable по кнопке "показать все закупки по номенклатуре" у меня открывалась форма закупок, с закупками, в строках которых есть данная ном-ра, при этом необходимо, чтобы форма PurchTable полностью сохранила свою функциональность, т.е. в можно было бы бегать по строкам, создавать закупки как обычно. Да, мне не надо решать эту конкретную задачу (с закупкой я имею ввиду) : я создаю небольшую новую функциональность, которая должна работать по схеме, которую описал выше и мне кажется, что на примере закупке общаться будет легче. Если такое уже где-то есть, тыкните носом
Мне кажется должно быть стандартное решение, но у меня пока идей кроме как создавать временную таблицу PurchTableTmp, наполнить ее PHP код:
|
|
19.09.2005, 21:55 | #2 |
Banned
|
Можно в коде сделать exists join PurchLine к PurchTable_ds.query().datasourceNo(1). Получится, что PurchLine к PurchTable как бы два раза, как вы говорите, "приджойнена", но ничего страшного в этом нет, так как второй источник данных подключен как delayed, т.е. фактически как вложенный запрос.
|
|
19.09.2005, 21:59 | #3 |
Участник
|
Во-первых, если вы будете подключать временную таблицу к постоянной, то на сервер пойдут запросы по каждой строке временной таблицы.
Во-вторых, для того чтобы выполнить нужные вам действия ничего программировать не надо. Вызываем фильтр. Добавляем ч/з отношение 1:n к Таблице закупок таблицу Строки закупок. Добавляем к таблице Строки закупок таблицу Картотека номенклатуры ч/з отношение n:1. Ну и наконец к таблице Картотека номенклатуры ч/з отношение 1:n добавляем таблицу Строки закупок (эта таблица скорее всего не влезет в выпадающий список, по-этому надо будет выбрать пункт Более... и выбрать ее из появившегося окна. В форме закупки таблица отобразится как Строки закупок (2)). Нажимаем кнопку Добавить. В колонке Таблица выбираем Строки закупок (2). В колонке Поле - Закупка. В колонке Критерий выбираем номер закупки (или вводим любой необходимы нам критерий). Нажимаем кнопку Ok и любуемся на полученный результат. Для реюзабельности можно сохранить полученный запрос под любым понятным именем и выбирать его когда необходимо.
__________________
Axapta v.3.0 sp5 kr2 |
|
20.09.2005, 12:37 | #4 |
Участник
|
2 axaLearner :
Рекомендую воспользоваться советом EVGL. Кода потребуется добавить не так много. Да и работать будет это точно будет хорошо. (Уже проверил ) 2 AndyD : Ваш подход тоже не плох но имеет некоторые недостатки. Во первых: - Мне кажется не очень гуманно по отношению к пользователю, такое количество манипуляций (Для Вас я не сомневаюсь что это не сложно) Во-вторых: - Даже если Вы научите пользователя настраивать запросы (Что тоже не плохо), то при очередном сбросе данных он эти запросы потеряет, и ему их придется настраивать заново (что опять же не очень гуманно). |
|
20.09.2005, 13:25 | #5 |
Участник
|
Н-да. Мне даже нечего на это ответить.
По-моему пользователя вообще не гуманно сажать за Axapta'у
__________________
Axapta v.3.0 sp5 kr2 |
|
20.09.2005, 13:47 | #6 |
Участник
|
Цитата:
Изначально опубликовано AndyD
По-моему пользователя вообще не гуманно сажать за Axapta'у |
|
20.09.2005, 14:08 | #7 |
Участник
|
Шютка юмора
По-моему, тут не раз делись впечатлениями от показа Axapta'ы в первый раз бухгалтерам
__________________
Axapta v.3.0 sp5 kr2 |
|
20.09.2005, 14:13 | #8 |
Гость
|
дайте ссылки
|
|
20.09.2005, 14:56 | #9 |
Участник
|
Не могу найти Хотя вроде-бы было.
Глючу наверное.
__________________
Axapta v.3.0 sp5 kr2 |
|
20.09.2005, 18:59 | #10 |
Участник
|
Всем спасибо за ответы. Отдельное спасибо EVGL: сделал как вы порекомендовали - все заработало в лучшем виде.
|
|