|
|
#7 |
|
Участник
|
Спасибо. Реальная помощь
Во всей системе поменялись поля таблиц, основанные на расширенном типе fieldId. Как по волшебству ) Обстоятельства выясняю. Спасибо за anyType. Я забыл об этом поведении, а метод рекурсивный... Менял обратно на не расширенные значения ИД полей таким джобом (может новичнам пригодиться) X++: static void SRA_FixFieldIdsee2fEntityLine_KBK(Args _args) { ee2fEntityLine structRec; FieldId realFieldId; DictTable dictTable; str fieldName; int counterFixed = 0; ttsBegin; while select forUpdate structRec where structRec.SrcFieldId >= 100000 // подозрение на расширенный FieldId { realFieldId = fieldExt2Id(structRec.SrcFieldId); if (realFieldId != structRec.SrcFieldId) { dictTable = new DictTable(structRec.SrcTableId); fieldName = dictTable.fieldName(realFieldId); info(strFmt("Fix: RecId %1 | Old: %2 -> New: %3 | FieldName: %4 | Table: %5 (%6) | DocumentRefRecId: %7 | TagId: %8", structRec.RecId, structRec.SrcFieldId, realFieldId, fieldName, structRec.SrcTableId, tableId2Name(structRec.SrcTableId), structRec.DstFieldName, structRec.EntityId)); structRec.SrcFieldId = realFieldId; structRec.doUpdate(); counterFixed++; } } ttsCommit; info(strFmt("Исправлено записей: %1", counterFixed)); } Вопрос по опыту. Чем может обернуться для системы в целом, если где останутся расширенные значения полей?
__________________
Dynamics AX 2009 SP1, Rollup 5, SQL Server 2008 Хороший ученик во всем найдет себе учителя... |
|
|