Цитата:
Сообщение от
Eldar9x
Интересно. Insert() метод таблицы вызывается каждый раз при вызове recordSortedList.ins(custTable); С другой стороны, вставка в БД проиходит, только если вызван
insertDatabase
2 eldar: можно поподробнее описать ситуацию с вызовом метода insert() при вызовах recordSortedList.ins(custTable) - на какой версии Ax тестировался код (привести пример кода) и на основе чего сделан такой вывод?
Написал небольшой кусок для эксперимента :
X++:
static server void main( Args _args)
{
RecordSortedList recordSortedList ;
CustTable custTable ;
Counter counter ;
;
recordSortedList = new RecordSortedList( tablenum( CustTable ) );
recordSortedList.sortOrder( fieldnum( custTable,AccountNum ) ) ;
ttsbegin;
for( counter = 1; counter <= 100; counter++ )
{
custTable.AccountNum = strfmt( "Cust_%1", counter ) ;
custTable.CreditMax = counter * 100.0 ;
info( strfmt( "before recordSortedList.ins %1 record", counter ) ) ;
recordSortedList.ins( custTable ) ;
}
info( 'before recordSortedList.insertDatabase' ) ;
recordSortedList.insertDatabase() ;
ttscommit;
}
По результатам работы видно что перекрытый метод custTable.insert() начинает отрабатывать только при фактической вставке в БД после вызова recordSortedList.insertDatabase():