Показать сообщение отдельно
Старый 25.01.2013, 22:31   #21  
alicedr is offline
alicedr
Участник
 
175 / 43 (2) +++
Регистрация: 06.07.2012
Адрес: Канада
Аналогичная проблема. В форме резервирования InventOnHandReserve необходимо спозиционироваться на строке, где InventDim.wmsLocationId идентичен ему же из формы-родителя (значение InventDim-а формы-родителя хранится в переменной InventDimRes (типа InventDim) формы)

Изначальные варианты типа
X++:
if (InventDimRes)
    {
     InventDim_ds.findValue(fieldNum(InventDim,wmsLocationId),strfmt("%1",InventDimRes.wMSLocationId));
     element.redraw();
    }
не работают. InventSum_ds.FindRecord() тоже не прокатило, т.к. там сплошные аггрегатные функции с группировками.

X++:
element.args().lookupField(fieldNum(InventDim,InventDimId));
element.args().lookupValue(InventDimRes.InventDimId);
тоже не работает. (При размещении в ExecuteQuery первого датасорса (InventSum) перед супером)

X++:
     do {
            record = InventDim_ds.cursor();
            if( record.(fieldNum(InventDim,wmsLocationId)) == InventDimRes.wmsLocationId )
                break;
        } while( InventDim_ds.next() );
в дебаггере отлично срабатывает, чего, однако не видно на форме!
(При размещении в ExecuteQuery последнего датасорса (InventTrans) после супера)

И как же спозиционироваться на нужную запись???