как прочитать каждое значение столбца в таблице - PullRequest
2 голосов
/ 29 декабря 2011

Используя x ++, как создать задание для чтения каждого значения столбца в таблице в Microsoft Dynamics AX 2009?

Ответы [ 3 ]

2 голосов
/ 30 декабря 2011

Этот код отобразит все значения столбца для записи.

static void Job1(Args _args)
{
    DictTable   dictTable = new DictTable(tableNum(CustTable));
    DictField   dictField;
    int         counter, fieldId;

    CustTable   custTable;
    anytype     value; 

    select firstonly custTable;

    for (counter = 1; counter <= dictTable.fieldCnt(); counter++)
    {
        fieldId = dictTable.fieldCnt2Id(counter);
        dictField = new DictField(tableNum(CustTable), fieldId);

        if (!dictField.isSystem())
        {
            value = custTable.(fieldId);
            if(value)
            {
                info(strFmt('%1 = %2', 
                            dictField.label(),
                            any2str(value)));
            }
        }
    }
}

Для получения всех значений для определенного столбца, пожалуйста, используйте код Карлоса Хойбергера.

1 голос
/ 29 декабря 2011

Одна возможность: в AOT (Ctrl-D) щелкните правой кнопкой мыши на Jobs и выберите New Job.В новом окне введите что-то вроде (используя правильное имя таблицы и столбца, которое вы хотите прочитать):

static void Job()
{
    YourTable  yourTable;
    ;
    while select TheColumn from yourTable
    {
        // process yourTable.TheColumn
        info(strFmt("value: %1", yourTable.TheColumn));
    }
}

, но есть и другие способы: Выбор выписок

0 голосов
/ 19 октября 2016

Просто небольшой мод, достал any2str, чтобы заставить мой стол работать:

strFmt('%1 = %2 \r\n', dictField.label(), value);

...