标签:定义 entity ice 表格 工作 account har map 设置
Word Template 是Dynamics CRM 2016 中的其中一个新的功能。Word Template 就是文档模板,用于在Dynamics CRM中定义文档模板,从而对实体记录按照文档模板的格式进行导出数据。这个功能使用起来非常方便,快捷。极大减少扩展开发的工作量。
下载实体对应的文档模板
定义文档模板的格式和导出的字段
在菜单栏中选择:销售->设置->模板
在模板页面中选择文档模板(Document Templates)
点击"新建"按钮,创建一个新的文档模板,选择“Word Template”,选择应用此模板的实体,最后点击“选择实体”按钮
下一步,我选择Account作为应用此模板的实体,并选择导出这个客户所关联的商机(在下图中,你可以根据具体需要导出的内容,选择与此实体关联的实体数据)。
打开下载下来的Word文档,第一步先要开启Office Word的开发者模式:
定义文档的格式
字段的映射,找到菜单栏中的 “开发者”,选择XML Mapping Pane,在右侧列表中选择对应的实体,在这里我们选择Account,因为我们刚刚导出的是Account的Word Template
在文档中指定插入字段的位置。首先我们插入客户编号的字段(字段是在CRM Account实体中的字段)
插入后的效果如下
接下来我们来定义商机明细的格式,插入一个 两行的表格,第一行用于定义表头,第二行用于放置数据映射字段
在Xml Mapping的右侧我们可以发现,最下端有一个关于商机的实体,对的,这个实体就是我们刚刚下载模板的时候选择的,类似于Account的子表
选中表格中的第二行,在XML Mapping 中选择商机的这个实体,右击插入循环列
最后就是在表格中对应的列放置字段的映射
最后一步,上传模板。回到Dynamics CRM中的文档模板的的页面,点击“上传”的按钮。
打开Account的数据,在顶部按钮栏中找到"Word Templates",在这里会看到我们刚刚上传的Word文档
点击我们上传的文档,导出后的效果如下
完成!
下面列出我在实际开发中遇到的问题
1.实体的ObjectTypeCode不一致
在开发中,会存在开发环境,测试环境,生产环境。按照正常的发布内容步骤,实体的ObjectTypeCode在三个环境中是保持一致,一旦出现不一致,而且这个不一致的实体需要使用Word Templates,那么恭喜你,在各个环境分别下载模板重新做一个。
2.导出相关实体的行数是有限制,默认值为100
这个问题出现在一下场景,就是导出相关联的实体数据只能导出前100条数据。比如:客户的商机有200个,但导出的模板只能导出100个。
这个问题非常严重,怎么解决:
1:使用报表代替这个模板(我不愿意,工作量大,哈哈)。
2,修改这个限制,但发现在CRM中无法地方可以设置 ,我只能去翻数据库表,发现这个限制存储在MSCRM_Config中的ServerSettingsProperties表中,使用SQL 语句直接更新这个数值并在CRM中发布所有选项即可解决。
SELECT [Id] ,[ColumnName] ,[BigIntColumn] ,[IntColumn] ,[SmallIntColumn] ,[TinyIntColumn] ,[BitColumn] ,[FloatColumn] ,[DateTimeColumn] ,[SmallDateTimeColumn] ,[NVarCharColumn] ,[UniqueIdentifierColumn] ,[VarBinaryColumn] ,[Encrypted] FROM [MSCRM_CONFIG].[dbo].[ServerSettingsProperties] WHERE ColumnName=‘MaxRelatedEntityRecordsForWordTemplate‘
3.暂没发现其它问题。如有问题,大家共同研究
Dynamics CRM:Word Template Feature 的使用和实际遇到问题解决方案
标签:定义 entity ice 表格 工作 account har map 设置
原文地址:http://www.cnblogs.com/ellis/p/WordTemplate.html