![]() |
#1 |
Участник
|
Связь поставщиков с проводками по поставщикам в стандартном фильтре
Нужно фильтровать поставщиков по условию, накладываемому на проводки по поставщикам, а в стандартном фильтре в списке связанных с поставщиками по 1:n таблиц таблица Проводки по поставщикам отсутствует, хотя должна быть связь по коду поставщика. Не подскажете, в чем может быть дело?
|
|
![]() |
#2 |
Участник
|
Попробуйте вывести весь спиок.
1:n -> Более.... Или там тоже нет? |
|
![]() |
#3 |
Участник
|
Создайте явный релейшен для таблицы VendTrans на VendTable по полю AccountNum.
PS и обновите перекрестные ссылки
__________________
Axapta v.3.0 sp5 kr2 Последний раз редактировалось AndyD; 28.12.2005 в 11:28. |
|
![]() |
#4 |
Участник
|
Не помогает
![]() AndyD, а у вас это работает? |
|
![]() |
#5 |
Участник
|
После добавления релейшена? Да работает
__________________
Axapta v.3.0 sp5 kr2 |
|
![]() |
#6 |
Участник
|
![]() |
|
![]() |
#7 |
Участник
|
Цитата:
Сообщение от AndyD
После добавления релейшена? Да работает
Работает! |
|
![]() |
#8 |
Участник
|
Таблица называется именно Проводки по поставщикАМ, а не Проводки по поставщику? Вы уверены? Нужна Проводки по поставщикАМ.
|
|
![]() |
#9 |
Участник
|
Цитата:
Сообщение от MironovI
![]() Цитата:
Сообщение от MironovI
![]() |
|
![]() |
#10 |
Участник
|
В фильтрах по связи 1:n и n:1 отображаются таблицы связанные как по явному relation на таблице, так и через relation на расширенных типах данных полей таблицы.
Чтобы обновить списки нужно вызвать обновление перекрестных ссылок, где достаточно выбрать только параметр "обновить модель данных". |
|
![]() |
#11 |
Участник
|
Цитата:
Сообщение от MironovI
Проводки по поставщику?
|
|
![]() |
#12 |
Участник
|
"Проводки по поставщику" - это view VendBalanceOpen_RU
__________________
Axapta v.3.0 sp5 kr2 |
|
![]() |
#13 |
Участник
|
Ура, получилось! Всем спасибо
![]() [А что за таблица такая, можете её Name написать?] Это view: VendBalanceOpen_RU. А без явного создания Relation (по EDT, то есть) работать так и не захотело. |
|
![]() |
#14 |
Участник
|
Проблема в том, что при построении перекрестных ссылок сначала строятся ссылки по релейшенам на таблице, а затем для полей. При этом проверяется рейлейшен не по EDT, а по fieldid. Если существует явный релейшен на таблице для этого поля, то подхватится он, если не существует - то по EDT
__________________
Axapta v.3.0 sp5 kr2 |
|
![]() |
#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). |
![]() |
#16 |
Участник
|
Цитата:
Если существует явный релейшен на таблице для этого поля, то подхватится он, если не существует - то по EDT
|
|
Теги |
перекрестные ссылки, связь таблиц, ax3.0 |
|
|