Показать сообщение отдельно
Старый 23.07.2013, 14:01   #11  
Corkscrew is offline
Corkscrew
Участник
Аватар для Corkscrew
 
9 / 11 (1) +
Регистрация: 13.11.2008
Цитата:
Сообщение от macklakov Посмотреть сообщение
А, понял, в SysQueryForm выбираете один range и в зависимости от него должен лукапиться другой? Ну тогда в init lookup- формы, нужно вынимать datasource вызывающей SysQueryForm, брать из него TmpSysQuery, через cursor(), и проверять значение нужного range.

через курсор не получилось..

мне нужно было сделать подобное в 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;
}