|
|
#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 |
|
Участник
|
Тогда что такое PS?
|
|
|
|
|
#7 |
|
Участник
|
Цитата:
Сообщение от AndyD
После добавления релейшена? Да работает
Работает! |
|
|
|
|
#8 |
|
Участник
|
Таблица называется именно Проводки по поставщикАМ, а не Проводки по поставщику? Вы уверены? Нужна Проводки по поставщикАМ.
|
|
|
|
|
#9 |
|
Участник
|
Цитата:
Сообщение от MironovI
Тогда что такое PS?Цитата:
Сообщение от 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 |
|
|
| Опции темы | Поиск в этой теме |
| Опции просмотра | |
|