Как объединить значения полей в представлениях в Dynamics AX 2009

Мне нужно создать представление для экспорта некоторых данных о продукте. В идеале мне нужно объединить значения двух полей (возможно, другие, если это возможно).

Я знаю, что SQL в AX не совсем правильный SQL, как я пробовал:

Select field1 + field2 from table

Что должно работать, а что нет

У меня есть ощущение, что я мог бы сделать это с помощью метода в представлении, но я никогда не делал этого раньше и нигде не могу найти достойных примеров.

Возможно ли то, что я хочу сделать, и если да, то как бы я это сделал?

Изменить

Причина, по которой я это делаю, заключается в том, что я начал использовать Magento. Он не был должным образом интегрирован с AX, поэтому я собирался создать представление со всеми данными о продукте, а затем вручную импортировать его в Magento.

Я хочу объединить SKU продукта с идентификатором цвета или идентификатором размера.

Таким образом, PP1234 и BLU станут PP1234-BLU.


person Tomgrohl    schedule 01.07.2011    source источник


Ответы (4)


Попробуй это

 select CAST(field1 AS varchar(number_characters)) 
 + CAST(field2 AS varchar(number_characters))
 from table
person Carlos Cocom    schedule 01.07.2011

Вы, вероятно, можете создать промежуточную таблицу, которую вы сможете использовать для экспорта, если это соответствует вашей цели...

static void Test(Args _args)
{
    InventTable inventTable;
    StagingTable stagingTable;
    ;

    ttsbegin;

    insert_recordset stagingTable (ItemId, Field1, Field2)
        select ItemId, SourceField1, SourceField2 from inventTable;

    update_recordset stagingTable
        setting Field1 = stagingTable.Field1 + inventTable.SourceField2,
                Field2 = -stagingTable.Field2 + inventTable.SourceField1
    join inventTable
        where inventTable.ItemId == stagingTable.ItemId;

    ttscommit;
}
person 10p    schedule 04.07.2011

Изучив небольшое количество документации о Dynamics AX, я не думаю, что это можно сделать.

Кажется странным, что небольшое количество SQL вы можете сделать.

person Tomgrohl    schedule 04.07.2011

Вы не упоминаете, почему вы хотите добавить эти два поля вместе, но если это просто для представления, то это можно легко решить, используя метод отображения для экземпляра таблицы.

public Amount myCustomMethod()
{
    return this.fieldA + thisfieldB;
}

Поскольку вы используете X++ и выполняете экспорт, я не понимаю, почему вы не можете выполнять вычисления как часть экспорта.

Надеюсь это поможет.

person Skaue    schedule 04.07.2011
comment
Я обновил свой вопрос с лучшим объяснением того, что я пытаюсь сделать. Спасибо. - person Tomgrohl; 04.07.2011