Подскажите, имеется вот такой 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;
}
}