您可以通过Web服务和.NET以编程方式创建DIXF处理组吗?

时间:2015-07-02 15:48:34

标签: axapta x++ dynamics-ax-2012

Dynamics AX导出导出框架(DIXF)具有用于创建数据源格式,处理组等的图形界面。但是,如果有人希望"放入"通过Web服务从外部应用程序导入/导出作业,有没有办法以编程方式执行此操作?或者是否有一些PowerShell实用程序可用于在没有GUI的情况下使用DIXF?谢谢!

1 个答案:

答案 0 :(得分:0)

我不相信没有使用GUI就有任何开箱即用的方法。你可以很容易地开发一些东西来自己做。这是我编写的一些代码的复制品,用于生成我需要的东西。你也可以通过.Net来做同样类型的代码。

创建处理组:

#define.DMFDefGroup('MyGroup')

DMFDefinitionGroup      dmfDefinitionGroup;

dmfDefinitionGroup = dmfDefinitionGroup::find(#DMFDefGroup);

if (!dmfDefinitionGroup)
{
    dmfDefinitionGroup.CompareType = DMFCompare::CopyEntity;
    dmfDefinitionGroup.DefinationGroupName = #DMFDefGroup;
    dmfDefinitionGroup.Description = 'Auto generated company data copy tool';
    dmfDefinitionGroup.insert();
}

然后我有一些像这样的代码来创建实体:

DMFDefinitionGroupEntity        dmfDefinitionGroupEntity;
DMFDataSource                   dmfDataSource = DMFDataSource::find('AX');
MyDMFAutoGenData               myDMFAutoGenData;
int64                             i;
DMFDefinationGroupName          groupName = dmfDefinitionGroup.DefinationGroupName;

while select myDMFAutoGenData
{
    i++;
    dmfDefinitionGroupEntity = DMFDefinitionGroupEntity::find(groupName, myDMFAutoGenData.TableName);

    if (!dmfDefinitionGroupEntity)
    {
        select count(RecId) from dmfDefinitionGroupEntity
            where dmfDefinitionGroupEntity.DefinitionGroup == groupName;

        dmfDefinitionGroupEntity.DefinitionGroup    = groupName;
        dmfDefinitionGroupEntity.Sequence           = int642int(dmfDefinitionGroupEntity.RecId) + 1;
        dmfDefinitionGroupEntity.Source             = dmfDataSource.SourceName;
        dmfDefinitionGroupEntity.Entity             = myDMFAutoGenData.TableName;
        dmfDefinitionGroupEntity.insert();
    }
}