AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 14.01.2009, 17:23   #1  
zZ_TOP_Zz is offline
zZ_TOP_Zz
int 20h
Аватар для zZ_TOP_Zz
 
143 / 24 (1) +++
Регистрация: 26.02.2007
Адрес: Санкт -Петербург
:( Не ясная ошибка 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;
}
Все validate до этого кода возвращают true то есть внесение записи в таблицу возможно.


Кто нибудь с таким сталкивался.И как это можно побороть.Приветствуются любые варианты
__________________
It's just my Unhopelessnessabilityerism
Trying to debug my mind
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
axStart: Check if the table field is mapped. Blog bot DAX Blogs 0 07.03.2009 00:05
axaptapedia: Validate field values on form Blog bot DAX Blogs 0 17.12.2008 12:05
palleagermark: Set focus on a particular field on an EP page Blog bot DAX Blogs 0 27.11.2008 14:05
axStart: table & field ID conflicts Blog bot DAX Blogs 0 29.05.2008 17:05
Русская локализация Axapta 3 ? SlavaK DAX: Администрирование 59 01.07.2003 22:38
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 05:05.