Показать сообщение отдельно
Старый 25.05.2006, 14:19   #7  
somebody is offline
somebody
Участник
 
128 / 30 (2) +++
Регистрация: 30.04.2003
Адрес: Москва
Мне надо было занести в массивы структуру таблицы. Сделал так (Аксапта 2.5):

X++:
    Dictionary                  dict        = new Dictionary();
    DictTable                   priceDt     = new DictTable(dict.tablename2id(tablestr(PriceDiscTable)));
    FieldId                     fieldId;
    int                         fieldCnt;                           // кол-во полей
    int                         fieldIds[];                         // массив идентификаторов полей
    str                         fieldNames[];                       // массив имён полей
    boolean                     nonSystemField[];                   // массив признаков "обычное поле?"

    // структура таблицы PriceDiscTable

    fieldCnt    = priceDt.fieldCnt();

    for (i = 1; i <= fieldCnt; i += 1)
    {
        fieldIds[i]         = priceDt.fieldCnt2Id(i);
        fieldNames[i]       = priceDt.fieldName(fieldIds[i]);

        nonSystemField[i]   = true;
        if (any2int(fieldIds[i]) >= 60000)       // "системное" поле
            nonSystemField[i]   = false;
    }
Ну и замените в этом коде Id таблицы на tableId от табл. переменной...

Последний раз редактировалось mazzy; 08.07.2014 в 10:52.