14.01.2009, 17:23 | #1 |
int 20h
|
Не ясная ошибка mismatching Sequence field values.
Версия Axapta 3.0 sp5
Доброго времени суток. Дамы и господа. На суд колективного разума выносится "странный" баг, абсолютно не понятный мне. Проблема заключается в следущем при попытке Преобразовать предоплату в оплату в модуле Клиенты. Операция проходит успешно счет фактура выписывается, но в конце происходит выкидывание ошибки. Record with RecId 254657545 in table 'Открытые проводки по клиенту' has mismatching Sequence field values. Original value was 253446063, new value is 254657545. Невозможно отредактировать запись в "Открытые проводки по клиенту" ("CustTransOpen"). Номер записи не соответствует первоначальному номеру. Путем ковыряния в коде выяснили что ошибку рождает метод executeQuery() X++: // класс CustPayment2Prepayment_RU\main - line 34 if (formDataSource) { formDataSource.executeQuery(); } .... // который в результате манипуляций с кодом приходит в таблицу CustTransOpen // таблица \CustTransOpen\Methods\Update - line 30 // привожу полностью данный метод void update() { CustTransOpen firstCustTransOpen; CustTrans custTrans; ttsbegin; if (this.dueDate != this.orig().dueDate) { select firstCustTransOpen order by dueDate where firstCustTransOpen.refRecId == this.refRecId; if (this.recId == firstCustTransOpen.recId) { select forupdate custTrans where custTrans.recId == this.refRecId; custTrans.dueDate = this.dueDate; if (custTrans.paymManLackDate) { custTrans.paymManLackDate += this.dueDate - this.orig().dueDate; } custTrans.update(); } } if (this.validateWrite()) { super(); // вот тут и происходит вызов инфо с сообщением об ошибке } ttscommit; } Кто нибудь с таким сталкивался.И как это можно побороть.Приветствуются любые варианты
__________________
It's just my Unhopelessnessabilityerism Trying to debug my mind |
|