Всем привет!
Ax2009, SP1, RU7
Наткнулся на следующую проблему:
Если сделать две таблицы, одна справочник, во второй таблице есть поле которое заполняется из него.
На EDT нет relation'a!
На второй таблице определяем связь с первой таблицей по полям:
- первое поле, связь обычная, EDT строкового типа
- второе поле, связь обычная
(не поле ссылки фиксировано и наоборот), BaseEnum (т.е. текущая запись)
если выбирать значенния из справочников, все хорошо фильтруется, но если сделать запрос, по кнопке на панели инструментов, или вызвать его программно, то значения не появляются в лукапе.
Нашел метод lookupTableFieldRelation в SysLookup:
X++:
...
if (dictRelation.lines() &&
dictRelation.lineType(dictRelation.lines()) != TableRelation::ThisFixed &&
dictRelation.lineTableValue(dictRelation.lines()) == Global::fieldExt2Id(_fieldId)) // Вот здесть получается, что только одна связь может быть для лукапов по обычным relation'ам
{
relationPack = connull();
for (j=1; j <= dictRelation.lines(); j++)
{
relationPack = conins(relationPack, conlen(relationPack)+1, [dictRelation.lineType(j), dictRelation.lineTableValue(j)]);
}
relationMap.insert(setIterator.value(), relationPack);
}
...
Никто не сталкивался, как решали?