![]() |
#4 |
Постигающий
|
![]() Цитата:
Сообщение от Damn
![]() В этом методе входной параметр - RecId из таблицы LedgerTrans. Вызывается reverseSettlement в одном месте - LedgerVoucher.post(), в качестве входного параметра передаётся переменная sourceRecid, которая заполняется значением RecId из записи ledgerTrans, являющейся на тот момент временной записью. RecId во временных таблицах совсем не такие как в постоянных.
Вследствие чего в таблице LedgerTransSettlement появляются записи со значениями типа 3, 4, 5, 6 и т.д. в поле TransRecId (таких записей не большинство, но они есть). И изредка во время разноски возникают ошибки о невозможности вставки записи в эту таблицу, так как TransRecId должно быть уникально. Не могу понять какую всё-таки цель пытались добиться разработчики и что изменить чтобы ошибка не возникала. X++: if (localDetailSummary == DetailSummary::Detail )
{
recId++;
ledgerTrans.RecId = recId;
} хотел добавить условие (как в 73 строке этого самого LedgerVoucher.postGroup) X++: if (localDetailSummary == DetailSummary::Detail && !reversal)
{
recId++;
ledgerTrans.RecId = recId;
} кто-то еще сталкивался с проблемой описанной в перовом посте? как решали? Последний раз редактировалось Андрей К.; 26.01.2012 в 08:40. |
|
|
|