Итерация по любой таблице

Я только начал новую работу, где они используют динамик топор 2009 года. Я новичок в этой технологии.

Есть ли способ в x++ для перебора любой таблицы? Я не знаю, откуда берутся данные, их длина и количество полей.

Я имею в виду, что мне нужна функция, которая будет вести себя так

void convert(Table anyTable) 
{
    int i=0; 
    int k=0;
    ;

    for(i; i < anyTable.Lenght; i++)
    {
        for(k; k < anyTable[i].Count; k++) 
        {
            //some xml processing 
        } 
    }
} 

(Под таблицей я имею в виду своего рода родителя всех таблиц). И это в основном мой вопрос - есть ли родитель всех таблиц или что-то в этом роде, что может помочь мне достичь чего-то подобного?

Прошу прощения за форматирование, я набираю это с мобильного устройства

3 ответа

Решение

Common Таблица является базовым классом для всех таблиц. Он не содержит никаких данных. Он в основном используется в коде X++ для ссылки на любую таблицу полиморфным способом. пожалуйста, проверьте Dictionary классы для решения вашей проблемы:

void convert(Common _common)
{
    DictTable       dictTable;
    FieldId         fieldId;
    anytype         value;
    ;

    dictTable = new dictTable(_common.TableId);

    if (dictTable)
    {
        while select _common
        {
            fieldId = dictTable.fieldNext(0);

            while (fieldId)
            {
                value = _common.(fieldId);

                //do processing

                fieldId = dictTable.fieldNext(fieldId);
            }
        }
    }
}

Смотрите этот ответ. Это предполагает использование класса Dictionary а также DictTable для размышления.

Проверьте метод xml() в классе Common, он может помочь сгенерировать ваш XML, представляющий текущую запись.

Другие вопросы по тегам