В CustTrans добавлены 2 поля.
Почему-то некоторые записи не возможно обновить.
X++:
static void fillCustTrans(Args _args)
{
#avifiles
CustInvoiceJour CustInvoiceJour;
CustTrans custTrans;
SysOperationProgress progress;
int i,j;
;
select count(recid) from custTrans where custTrans.Invoice != "" ;
i = custTrans.RecId;
progress = SysOperationProgress::newGeneral(#aviupdate, "Update", i);
while select AmountCur10,AmountCur18,recid,Invoice,AccountNum,TransDate from custTrans
where custTrans.Invoice != ""
// && custTrans.RecId == 5638268785
{
j++;
progress.setText(strfmt("%1 from %2", j, i));
progress.incCount();
select firstonly TaxAmount10, TaxAmountStandart from CustInvoiceJour
where CustInvoiceJour.invoiceId == custTrans.Invoice
&& CustInvoiceJour.InvoiceAccount == custTrans.AccountNum
&& CustInvoiceJour.InvoiceDate == custTrans.TransDate;
custTrans.selectForUpdate(true);
ttsbegin;//custTrans.ttsbegin();
custTrans.AmountCur10 = CustInvoiceJour.TaxAmount10;
custTrans.AmountCur18 = CustInvoiceJour.TaxAmountStandart;
try
{
custTrans.doupdate(); // ошибка возникает здесь
}
catch
{
info(strfmt("%1",custTrans.RecId));
ttsabort;
continue;
}
ttscommit;//custTrans.ttscommit();
}
}
на
doUpdate возникает ошибка:
Невозможно отредактировать запись в Проводки по клиенту (CustTrans).
Возник конфликт обновления из-за того, что другой пользовательский процесс выполняет удаление записи или изменение одного или нескольких полей в записи.
Причем всегда по одному и тому же recId. База тестовая, на ней никто не работает.
Что можно сделать такое, чтобы обновить всю таблицу?