![]() |
#8 |
Участник
|
Столкнулись с похожей проблемой. Победили так. Запустите следующий джоб (ногами не пинать – писали начинающие стажеры), если джоб найдет ошибки, то надо будет написать ещё один джобик, который удалить "испорченные" объекты.
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. Последний раз редактировалось LRA; 23.09.2013 в 15:57. |
|