Delen via


Dynamics CRM Connector: 倒入AX Vendor记录到CRM自定义实体内

如下测试是基于Dynamics CRM Connector V3 Refresh版本,AX 2012 R2 CU6, 以及Dynamics CRM 2011 最新版本。

相关的版本历史记录请查看

https://blogs.msdn.com/b/crminthefield/archive/2012/08/15/microsoft-dynamics-crm-4-0-and-2011-update-rollup-release-dates-build-numbers-and-collateral.aspx

https://blogs.msdn.com/b/dynamicsconnector/archive/2012/06/19/connector-for-microsoft-dynamics-version-history.aspx

https://www.axaptapedia.com/Build_numbers

问题的由来:

Dynamics CRM Connector没有标准的针对AX Vendor (VendTable)的AIF服务; 已有的是针对AX Customer (CustTable)的AIF服务 – ConnCustomerOrgService. AX 2012中有标准的CustCustomerService 为什么CRM Connector不能直接使用呢?答案在于AX2012 里的新特性表级别的继承关系。具体到这里是由于DirPartyXXX系列的多态表类型,所以导致标准的AIF服务没办法利用。

https://blogs.msdn.com/b/dynamicsconnector/archive/2012/08/14/integrating-microsoft-dynamics-ax-2012-inherited-tables-with-connector-for-microsoft-dynamics.aspx

同理AX 2012有标准的AIF VendVendTableService,但是CRM  Connector部鞥直接使用,所以我们必须仿照ConnCustomerOrgService创建新的针对Vendor的AIF 服务。

新建AIF服务步骤:

clip_image002

1. 倒入附件里的Project到AX中去,编译该Project并运行ConnectorHelper.main()方法

clip_image001

2. AOT ->> Tools ->> Application Integration Framework ->> Create Document Service

其中最后的Axd Document Class 要记下来,后面修改object config文件的QueryName时候要用到。

clip_image002[4]

clip_image003

clip_image004

3。发布该ConnVendorOrgService

clip_image005

clip_image007

4. 在CRM Connector中重新配置AX 2012 Adapter, 勾选步骤3中发布的AIF服务。然后configure生成config 文件。

clip_image008

5. 到CRM Connector安装路径,在AX 2012 Adapter下找到对应的刚刚发布的AIF服务的.config文件,打开修改:

在文件的尾部,修改QueryName为第2步里Axd Document Class对应的类,注意这个名字是大小写敏感的,不要写错了。

clip_image009

clip_image010

6. 新建map: CRM Custom Entity (TestEntity) ->> AX 2012 Conn Vendor Org Document Service

clip_image011

因时间限制我这里简单测试只映射了3个fields:

Currency=”USD”

VendGroup=”10”

OrganizationName=name

具体我建议你参考那个标准的Account to Customer Service map.

clip_image012

clip_image013

clip_image014

7.该Map同步运行后

clip_image015

clip_image016

clip_image017