|
|
#9 |
|
Участник
|
А при чем здесь замена типа? У Вас повреждено описание структуры таблицы на уровне AOS.
Т.е. на уровне SQL поле имеет тип nVarChar, а на уровне Axapta поле имеет тип Integer (Enum). В версии dax2012 и старше - это означало бы, что повреждена модель данных. Лечится копированием из "образца" (по сути, восстановление из BackUp, но попроще). В dax2009 и младше - это в каких-то файлах повреждение. Ссылку на возможные файлы я привел. Т.е. вопрос вовсе не в изменении типа, а лишь в "синхронизации" указания типа в Axapta в соответствии с типом в SQL. Не уверен, что получится, но попробуйте вот так X++: TreeNode treeNode;
str properties;
;
// Узел AOT
treeNode = TreeNode::findNode(@"\Data Dictionary\Tables\InventDim\Fields\configId");
// Свойства
properties = treeNode.AOTgetProperties();
info(properties);
// Замена значения свойства
properties = Global::setProperty(properties, 'Type', 'Enum');
info(properties);
// Запись новых свойств
//treeNode.AOTsetProperties(properties);
//treeNode.AOTsave();Можно еще попробовать сделать подмену в XPO. Т.е. выгрузить XPO, в нем подменить реквизиты поля и загрузить этот измененный XPO обратно. Но, сомневаюсь, что получится...
__________________
- Может, я как-то неправильно живу?! - Отчего же? Правильно. Только зря... |
|
|