28.12.2005, 11:10 | #1 |
Участник
|
Связь поставщиков с проводками по поставщикам в стандартном фильтре
Нужно фильтровать поставщиков по условию, накладываемому на проводки по поставщикам, а в стандартном фильтре в списке связанных с поставщиками по 1:n таблиц таблица Проводки по поставщикам отсутствует, хотя должна быть связь по коду поставщика. Не подскажете, в чем может быть дело?
|
|
28.12.2005, 11:24 | #2 |
Участник
|
Попробуйте вывести весь спиок.
1:n -> Более.... Или там тоже нет? |
|
28.12.2005, 11:25 | #3 |
Участник
|
Создайте явный релейшен для таблицы VendTrans на VendTable по полю AccountNum.
PS и обновите перекрестные ссылки
__________________
Axapta v.3.0 sp5 kr2 Последний раз редактировалось AndyD; 28.12.2005 в 11:28. |
|
28.12.2005, 11:41 | #4 |
Участник
|
Не помогает
AndyD, а у вас это работает? |
|
28.12.2005, 11:43 | #5 |
Участник
|
После добавления релейшена? Да работает
__________________
Axapta v.3.0 sp5 kr2 |
|
28.12.2005, 11:49 | #6 |
Участник
|
Тогда что такое PS?
|
|
28.12.2005, 11:49 | #7 |
Участник
|
Цитата:
Сообщение от AndyD
После добавления релейшена? Да работает
Работает! |
|
28.12.2005, 11:55 | #8 |
Участник
|
Таблица называется именно Проводки по поставщикАМ, а не Проводки по поставщику? Вы уверены? Нужна Проводки по поставщикАМ.
|
|
28.12.2005, 11:57 | #9 |
Участник
|
Цитата:
Сообщение от MironovI
Тогда что такое PS?
Цитата:
Сообщение от MironovI
Проводки по поставщикАМ
|
|
28.12.2005, 12:01 | #10 |
Участник
|
В фильтрах по связи 1:n и n:1 отображаются таблицы связанные как по явному relation на таблице, так и через relation на расширенных типах данных полей таблицы.
Чтобы обновить списки нужно вызвать обновление перекрестных ссылок, где достаточно выбрать только параметр "обновить модель данных". |
|
28.12.2005, 12:06 | #11 |
Участник
|
Цитата:
Сообщение от MironovI
Проводки по поставщику?
|
|
28.12.2005, 12:16 | #12 |
Участник
|
"Проводки по поставщику" - это view VendBalanceOpen_RU
__________________
Axapta v.3.0 sp5 kr2 |
|
28.12.2005, 12:24 | #13 |
Участник
|
Ура, получилось! Всем спасибо
[А что за таблица такая, можете её Name написать?] Это view: VendBalanceOpen_RU. А без явного создания Relation (по EDT, то есть) работать так и не захотело. |
|
28.12.2005, 12:39 | #14 |
Участник
|
Проблема в том, что при построении перекрестных ссылок сначала строятся ссылки по релейшенам на таблице, а затем для полей. При этом проверяется рейлейшен не по EDT, а по fieldid. Если существует явный релейшен на таблице для этого поля, то подхватится он, если не существует - то по EDT
__________________
Axapta v.3.0 sp5 kr2 |
|
28.12.2005, 14:14 | #15 |
Участник
|
Предлагаю небольшую модификацию обновления перекрестных ссылок для того, чтобы обойти эту проблему
В метод updateTableId() таблицы xRefTableRelation внести эти изменения. 1. Добавить определение переменной X++: //--> D.Andy DictRelation dictRelationType; //<-- D.Andy ; X++: ... for (fieldId = dictTable.fieldNext(0); fieldId; fieldId = dictTable.fieldNext(fieldId)) { dictField = dictTable.fieldObject(fieldId); setPrefix(dictField.name()); xRefTableRelation.relationName = dictField.name(); // --> D.Andy relatedTableId = 0; dictRelationType = dictField.relationObject(); if (dictRelationType) relatedTableId = dictRelationType.externTable(); if (!relatedTableId) // <-- D.Andy relatedTableId = dictFieldRelation.loadFieldRelation(fieldId); ...
__________________
Axapta v.3.0 sp5 kr2 |
|
|
За это сообщение автора поблагодарили: Alex_K (1). |
28.12.2005, 17:10 | #16 |
Участник
|
Цитата:
Если существует явный релейшен на таблице для этого поля, то подхватится он, если не существует - то по EDT
|
|
Теги |
перекрестные ссылки, связь таблиц, ax3.0 |
|
|