Показать сообщение отдельно
Старый 23.09.2013, 15:41   #8  
LRA is offline
LRA
Участник
 
41 / 39 (2) +++
Регистрация: 19.12.2005
Адрес: Москва
Столкнулись с похожей проблемой. Победили так. Запустите следующий джоб (ногами не пинать – писали начинающие стажеры), если джоб найдет ошибки, то надо будет написать ещё один джобик, который удалить "испорченные" объекты.
X++:
// Поиск дубликатов объектов с различными ID
static void findDuplicateJob_LRA(Args _args)
{
    Dictionary                  dict1 = new Dictionary();
    Dictionary                  dict2 = new Dictionary();
    DictTable                   dictTable1;
    DictTable                   dictTable2;
    DictEnum                    dictEnum;
    DictType                    dictType;
    int                         i1, i2, num;
    ;
    // Обработка таблиц
    for (i1 = 1; i1 <= dict1.tableCnt(); i1++)
    {
        dictTable1 = new DictTable(dict1.tableCnt2Id(i1));
        if (dictTable1)
        {
            print strFmt("%1 из %2    %3", i1, dict1.tableCnt(), dictTable1.name());
            for (i2 = i1+1; i2 <= dict2.tableCnt(); i2++)
            {
                dictTable2 = new DictTable(dict2.tableCnt2Id(i2));
                if (dictTable2)
                {
                    if (dictTable1.name() == dictTable2.name() && dictTable1.id() != dictTable2.id())
                    {
                        // Здесь собственно и есть ошибка
                        error(strFmt("Ошибка в объекте %1  %2  %3", dictTable1.name(), dictTable1.id(), dictTable2.id()));
                        num++;
                    }
                }
                else
                {
                    info(strFmt("Ошибка при инициализации Table %1", dict2.tableCnt2Id(i2)));
                }
            }
        }
        else
        {
            info(strFmt("Ошибка при инициализации Table %1", dict2.tableCnt2Id(i2)));
        }
    }
 
    info(strFmt("Готово! Ошибок %1", num));
}
Внедряли у нас Dynamics AX кстати, тоже АНД-проджект, и такая же байда была не только с таблицами, больше всего траболов всплыло на енумах и EDT. Кажется, ещё и на классах.
«Сервис \ Средства разработки \ Объекты приложения \ Переиндексация» у нас безвозвратно подвисала Dynamics AX.

Последний раз редактировалось LRA; 23.09.2013 в 15:57.