04.06.2002, 14:45 | #1 |
Moderator
|
Расширенная фильтрация
Добрый день.
Проблема следующая. Любую данные в форме можно фильтровать, причем если мы нажимаем кнопку "Расширенно", то можем фильтровать и по полям связанной таблицы. Есть форма InventJournalLossProfit, в нем есть источник данных InventJournalTrans. Ранее я модифицировал эту форму добавив в Grid столбец в который выводится название номенклатуры с помощью display метода из InventTable. Необходимо фильтровать данные по названию номенклатуры. То что фильтр не работает по display методу - это я знаю. Но если я вызываю форму фильтрации, нажимаю клавишу Расширено и в ниспадающем списке выбираю связанную таблицу InventTable - я ожидаю, что фильтрация будет работать. Ан нет. Не работает. Если я создам явную связь между этими таблицами, то все будет - Ок, но мне не кажется что это удачное решение. Вернее мне кажется, что это очень неудачное решение. Подкажите пожалуйста, как можно решить эту проблему ? |
|
07.06.2002, 13:49 | #2 |
Участник
|
Не работает потому что QueryRun в форме не изменяется, если ты добавишь новую таблицу в фильтре. (QueryRun изменяется таким образом только в потомках RunBaseReport)
Добавить в датасорс таблицу InventTable для того, чтобы показать название, - это нормально. Другое дело, что Аксапта работает с кодами, и название приактически нигде в формах не показывается. Следовательно, тебе придется добавлять это название во многих формах. Кроме того, по-умолчанию для названия отводится 1000 символов (если ты не изменил эту длину при устновке в мастере)... А это много для интерактивной работы... По-моему гораздо полезнее использовать значимые коды. И везде работать только с кодами. |
|
22.07.2002, 12:52 | #3 |
Moderator
|
Добрый день.
То ли меня совсем жара достала, то ли еще что... Опять я насчет расширенной фильтрации. Смоделируем простейший случай. Создал таблицу MyTable. В ней два поля - ItemId (Type=ItemId), Priznak (String). Создал Relation с InventTable (нормально InventTable.ItemId=MyTable.ItemId). Открываю форму номенклатуры -> Фильтрация -> Расширенно. Слева дерево - устанавливаю фокус на таблицу "Картотека номенклатуры" и нажимаю правую кнопку мыши -> появляется ниспадающее меню (1:n, n:1) - ни там, ни там моей таблицы нет. Ладно, далее я стал совершать следующие действия в надежде достичь ожидаемого результата, после каждого из них проверяя результат: 1. Зашел в таблицу InventTable и создал в ней Relation к MyTable. 2. Перетащил MyTable в DataSource формы InventTable 3. В DataSource InventTable на MyTable установил JoinSource=InventTable Ни один из этих пунктов мне не помог. Если не трудно, объясните в чем дело и каким образом строится этот список таблиц в "Расширенно" ? Спасибо. |
|
22.07.2002, 18:25 | #4 |
Участник
|
Для того, чтобы появилась связь необходимо обновить перекресные ссылки.
Сервис \ Разработка \ Перекрестные ссылки \ Периодические операции \ Обновить В данном случае важны две нижние галочки про "обновить модель данных". |
|
|
Похожие темы | ||||
Тема | Ответов | |||
Фильтрация на форме "Журнал" | 16 | |||
Фильтрация записей | 9 | |||
Фильтрация отрицательных остатков | 20 | |||
Фильтрация записей | 0 | |||
Фильтрация в Lookup-форме | 5 |
|