Показать сообщение отдельно
Старый 06.07.2009, 23:26   #9  
raz is offline
raz
NavAx
Аватар для raz
NavAx Club
Лучший по профессии 2014
Лучший по профессии 2009
 
1,495 / 1070 (38) ++++++++
Регистрация: 22.07.2003
Адрес: МО
2 Dima_Dima
ИМХО, дело не в отсутствии custTable.clear(), т.к. запись идет в одни и те же поля, а в том, что f=rs.fields() возвращает одни и те же значения, т.е. рекордсет не перебирается.

Специально сваял джоб, для которого сделал CopyOfCustTable, как копию CustTable, удалил с неё все методы, кроме initValue(). Джоб прекрасно отработал без custTable.clear().
Если я прав и рекордсет не перебирается, то custTable.clear() не поможет.

X++:
static void Job1(Args _args)
{
   CustTable            custTable;             
   CopyOfCustTable      CopyOfCustTable;
   ;
    while select custTable
    {
        ttsbegin;
        CopyOfCustTable.initValue();
        CopyOfCustTable.AccountNum        = custTable.AccountNum;
        CopyOfCustTable.CustGroup         = custTable.CustGroup;
        CopyOfCustTable.Name              = custTable.Name;
        CopyOfCustTable.Street            = custTable.Street;
        CopyOfCustTable.City              = custTable.City;
        CopyOfCustTable.ZipCode           = custTable.ZipCode;
        CopyOfCustTable.Currency          = 'EUR';
        CopyOfCustTable.LanguageId        = 'EN';

        if(CopyOfCustTable.validateWrite())
            CopyOfCustTable.insert();
        else ttsabort;

        ttscommit;
    }
}
Просто хочется понять где ошибка, может я ошибаюсь, может что поменялось в аксапте.
У меня Ax3, а у Вас?

ЗЫ. Я в таких конструкциях всегда использую clear().