![]() |
#1 |
Участник
|
SysQueryForm - Dimension
Здравствуйте!
Подскажите, пожалуйста, у кого есть идея на счет того, чтобы в SysQueryForm работая с таблицей LedgerTrans, её поля Dimension лукапились в зависимости от выбранного значения поля "Бухг. счет". Надо как - то капитально переделывать, а как, не знаю даже с какого места подойти. |
|
![]() |
#2 |
Участник
|
Попробуй посмотреть метод lookupRange класса SysLookup - это то, что вызывается, когда ты хочешь выбрать значение для поля из выпадающего списка. Так вот, там пол TableId и FieldId можно проверить, то ли это поле и таблица.
|
|
![]() |
#3 |
NavAx
|
2Natasha: просто напишите свою lookup - форму и повесьте ее на dataType. Не надо ломать SysQueryForm и SysLookup!
__________________
Isn't it nice when things just work? |
|
![]() |
#4 |
Участник
|
а на чей dataType?
на LedgerTrans.Dimensions? |
|
![]() |
#5 |
Участник
|
2Natasha: Нет, он видимо имеет в виду -- создать форму в которой проверять в методе init условие твое, и в зависимости от этого выводить нужные данные. А имя этой формы прописать в свойство FormHelp EDT Dimension
|
|
![]() |
#6 |
NavAx
|
2Natasha: Да, именно это он и имеет в виду
![]()
__________________
Isn't it nice when things just work? |
|
![]() |
#7 |
Участник
|
Да, спасибо, это я все понимаю,
я про возможность "то крыжим форму DimensionsLookup", либо свою. Как это делать динамически, чтоб не обижать LadgerTrans |
|
![]() |
#8 |
Участник
|
Я, сделала лукаповскую свою форму, она работает на LadgerTable.Dimensions, но не хочет в LedgerTrans.Dimensions на SysQueryForm
|
|
![]() |
#9 |
NavAx
|
А, понял, в SysQueryForm выбираете один range и в зависимости от него должен лукапиться другой? Ну тогда в init lookup- формы, нужно вынимать datasource вызывающей SysQueryForm, брать из него TmpSysQuery, через cursor(), и проверять значение нужного range.
__________________
Isn't it nice when things just work? |
|
![]() |
#10 |
Участник
|
спасибо за совет, попробую
|
|
![]() |
#11 |
Участник
|
Цитата:
через курсор не получилось.. мне нужно было сделать подобное в axapta 3.0, для полей ToDimNum и FromDimNum таблицы LedgerRRGDimensionInterval_RU. Для этого в методе useSelectableLookup лукап-формы DimensionsLookup. добавил код: X++: switch(tmpSysQuery.Table_Id) { case tablenum(LedgerRRGDimensionInterval_RU): tmp.setTmpData(tmpSysQuery); while select tmp { if(fieldExt2Id(tmp.Field_Id) == fieldNum(LedgerRRGDimensionInterval_RU, DimensionCode)) { sysDimension = new DictEnum(enumNum(SysDimension)).name2Value(strrem(tmp.RangeValue, "\"")); } } return false; } |
|
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|