02.09.2020, 09:00 | #1 |
Участник
|
DAX2009: работа changeCompany(currComp) в цикле
Подскажите, имеется вот такой job, не могу понять почему changeCompany переключает только на первую компанию в цикле по контейнеру conCompany.
А на следующие компании не переключает. X++: VendTrans vendTrans; Counter conIdx, _count; str company; VendAccount vendAccount = 'CONTR_'; SysDim dimOldContragent = 'CONTR'; SysDim dimNewContragent = VendAccount; Counter numDim = Dimensions::code2ArrayIdx(SysDimension::Contragent); container conCompany = ['AAA', 'BBB', 'CCC']; str getMsg(str comp, str name, int64 recId, SysDim dim) { return strFmt("[%1] %2: recId - %3, contragent - %4", comp, name, recId, dim); } ; for (conIdx = 1; conIdx <= conLen(conCompany); conIdx++) { company = conPeek(conCompany, conIdx); changeCompany (company) { _count = 0; ttsbegin; while select forupdate vendTrans where vendTrans.AccountNum == vendAccount && vendTrans.Dimension[numDim] == dimOldContragent { info(getMsg(company, "vendTrans", vendTrans.RecId, vendTrans.Dimension[numDim])); vendTrans.Dimension[numDim] = dimNewContragent; vendTrans.update(); _count++; } ttscommit; } } |
|
02.09.2020, 09:05 | #2 |
Участник
|
Скорее всего переключает корректно.
Надо обнулить табличную переменную внутри changecompany Vendtr =null; Vendtrans = null; |
|
|
За это сообщение автора поблагодарили: oleggy (1). |