Показать сообщение отдельно
Старый 21.10.2005, 16:19   #13  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2476 (88) +++++++++
Регистрация: 20.08.2005
Цитата:
Сообщение от Dron AKA andy
Экспериментирую повторно. То слетают, то не слетают. Попробуйте использовать несколько полей разных типов и менять id в произвольном порядке.
Вот тестовый джоб
X++:
static void Job37(Args _args)
{
    UtilIdElements      ue_Table;
    UtilIdElements      ue_Fields;
    SQLDictionary       SQLDict;
    ;
    select firstonly ue_Table
    where ue_Table.recordType == UtilElementType::Table && ue_Table.name == "Table13";

    ttsbegin;
    if (ue_Table)
        while select forupdate ue_Fields
            order by id desc
            where ue_Fields.recordType == UtilElementType::TableField &&
                ue_Fields.ParentId == ue_Table.id 
        {
            select forupdate firstonly SQLDict
            where SQLDict.TabId == ue_Table.id && SQLDict.FieldId == ue_Fields.id;

            ue_Fields.id += 13;
            ue_Fields.update();
            if (SQLDict)
            {
                SQLDict.FieldId = ue_Fields.id;
                SQLDict.Update();
            }
        }
    ttscommit;
}
Пробовал менять сортировку, шаг изменения, менял по одному и по несколько полей разных типов
__________________
Axapta v.3.0 sp5 kr2
За это сообщение автора поблагодарили: Logger (2).