Показать сообщение отдельно
Старый 13.08.2008, 09:52   #3  
Breeze is offline
Breeze
Участник
 
19 / 10 (1) +
Регистрация: 01.06.2007
Адрес: Омск
X++:
nodePropStruct = newNode.AOTgetPropertiesExt();
if (nodePropStruct)
{
propertiesCount = nodePropStruct.value('Entries');
propertyInfoArray = nodePropStruct.value('PropertyInfo');
for (i = 1; i <= propertiesCount; i++)
{
propertyInfo = propertyInfoArray.value(i);
needSaveProp = false;
for (j = 1; j <= propertyInfo.fields(); j++)
{
fieldPropName = propertyInfo.fieldName(j);
valueIndexProp = propertyInfo.valueIndex(j);
if (j == 1 && valueIndexProp != "Label") 
break;
if (fieldPropName == "value" && propertyInfo.fieldType(j) == Types::String)
{
valuePropName = any2str(valueIndexProp);
labelId = this.prepareToTranslate(valuePropName);//поиск метки
if (sysLabelALDAction == GM_SysLabelALDAction::UpdateAction &&
labelId && SysLabel::isLabelId(labelId) && labelId != valuePropName)
{
needSave = true;
needSaveProp = true;
propertyInfo.valueIndex(j, labelId);
}
}
}
}
if (needSave)
{
newNode.AOTsetPropertiesExt(nodePropStruct);
newNode.AOTSave();
}
}
__________________
Step by step...