Показать сообщение отдельно
Старый 01.10.2009, 12:14   #1  
Kent is offline
Kent
Участник
 
46 / 10 (1) +
Регистрация: 24.01.2007
tmpTable mandatory field
Привет!

Я използуваю реалнаю таблицу как тмп таблицу. Table.setTmp()
Патом нунзна убрат мандаторы проперти.

X++:
    Dictionary  dict = new Dictionary();
    TreeNode    treeNode;
    TreeNode    fieldNode;
    DictTable   dictTable;
    DictField   dictField;
    AOTTableFieldList   fieldList;
    str         properties;
    int         i;
    ;

    dictTable = new DictTable(_tableId);
    if (dictTable.isSystemTable() || dictTable.isView())
        continue;
    treeNode = TreeNode::findNode('\\Data Dictionary\\Tables\\'+dictTable.name());
    if (treeNode)
    {
        for(i=1;i<= dictTable.fieldCnt();i++)
        {
            dictField = new DictField(_tableId,dictTable.fieldCnt2Id(i));
            if (dictField.isSystem())
                continue;
            if( New SysDictField(_tableId,dictField.id()).mandatory())
            {
                fieldList = treeNode.AOTfindChild('Fields');
                fieldNode = fieldList.AOTfindChild(dictField.name());
            
                if (!fieldNode)
                    continue;
                properties = fieldNode.AOTgetProperties();
                properties = setProperty(properties,'Mandatory','No');
                fieldNode.AOTsetProperties(properties);
                fieldNode.AOTsave();
            }
        }
    }
Ну етот код изменит реалнаю таблицу. Как изменит толка в тмп уровнем?