Dynamics CRM:Word Template Feature 的使用和实际遇到问题解决方案
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 的使用和实际遇到问题解决方案的更多相关文章
- Dynamics CRM 2015 New Feature (9): Services Changes
Dynamics CRM 2015 为开发者加入了一些新的Service Request以及一个帮助类库XrmTooling,它支持连接各种环境下的CRM,比方:Online,O365,On Prem ...
- Dynamics CRM中的操作(action)是否是一个事务(transaction)?
关注本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复168或者20151104可方便获取本文,同时可以在第一时间得到我发布的最新的博文信息,follow me! 以前的博文 微软Dynamics ...
- Dynamics CRM 2016 的新特性
新版本CRM (2016 with update 0.1) 发布已有几个月了,总结一下新特性,从几个方面来看: 1. 针对整合功能的新特性 (1) 增加了CRM App for Outlook. 这个 ...
- Step by step Dynamics CRM 2011升级到Dynamics CRM 2013
原创地址:http://www.cnblogs.com/jfzhu/p/4018153.html 转载请注明出处 (一)检查Customizations 从2011升级到2013有一些legacy f ...
- Intellisense in Visual Studio for Microsoft Dynamics CRM 2016
Intellisense in Visual Studio for Microsoft Dynamics CRM 2016 posted by dynamicsnick on may 18, 2016 ...
- Dynamics CRM 2015 Update 1 系列(4): 自己定义主键 - Alternate Keys
Alternate Keys. 还是和系统集成相关的一个重量级Feature.使用该Feature能极大的提高开发数据集成接口的时间成本以及接口的执行效率. 在之前的Dynamics CRM 版本号中 ...
- Data Encryption Errors After Restoring Microsoft Dynamics CRM Database
If you’re seeing an error similar to the one above, you’ve probably done a database backup and resto ...
- Dynamics CRM 2016 Web API 消息列表
Function Name Description CalculateTotalTimeIncident Function Calculates the total time, in minutes, ...
- Dynamics CRM邮件附件,你真的了解吗?
关注本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复160或者20151014可方便获取本文,同时可以在第一时间得到我发布的最新的博文信息,follow me! 听人问起怎么读取到一封邮件所有的 ...
随机推荐
- ASP.NET Core MVC 控制器创建与依赖注入
本文翻译自<Controller activation and dependency injection in ASP.NET Core MVC>,由于水平有限,故无法保证翻译完全准确,欢 ...
- Python学习笔记——import模块
OS模块 直接输出系统命令到屏幕,该方法获取的命令返回值不可被赋值给变量,输出结果受编码影响会乱码: import os os.system("ipconfig") 将执行获取的系 ...
- jsp实现上一页下一页翻页功能
前段时间一直忙于期末考试和找实习,好久没写博客了. 这段时间做了个小项目,包含了翻页和富文本编辑器Ueditor的两个知识点,Ueditor玩的还不是很深,打算玩深后再写篇博客. 要实现翻页功能,只需 ...
- QQ空间魔力日志大全SduSRZ
大家好~最近,在QQ空间里出现了一种神奇的日志,谁看显示谁的信息,在个人中心显示的是一张图片,在日志里显示的又是另一张图片.这就是传说中的魔力日志.魔力日志从今年的9月份开始盛行,因为具有谁看就针对谁 ...
- win10 运行sqlplus报错“SP2-1503: 无法初始化 Oracle 调用界面”
解决方法: 1.临时方案:此时可以以“管理员身份”运行cmd,然后再执行sqlplus就行了. 长久方案: 请看原文:http://blog.csdn.net/bisal/article/detail ...
- Android studio中找不到so文件的问题:java.lang.UnsatisfiedLinkError
解决Android studio中找不到so文件的问题:java.lang.UnsatisfiedLinkError 表示我们不编译jni代码,直接从libs里面复制so库 文件路径:app\buil ...
- Android - 读取JSON文件数据
Android读取JSON文件数据 JSON - JavaScript Object Notation 是一种存储和交换文本信息的语法. JSON对象在花括号中书写.用逗号来分隔值. JSON数组在方 ...
- (转载)Windows 上搭建Apache FtpServer
因工作需要,最近经常接触到FTP,今天我来介绍一个开源的FTP服务器,那就是Apache FTPServer,Apache FTPServer是一个100%纯Java的FTP服务器. 它的设计是基于现 ...
- 关于html转换为pdf案例的一些测试与思考
由于工作所需,最近花时间研究了html转换为pdf的功能.html转换为pdf的关键技术是如何处理网页中复杂的css样式,通过在网上收集资料,发现目前html 转换为pdf的解决方案主要分为三类: 客 ...
- if else 和switch case以及continue,break的区别
1,if 经常用于做区间判断 或者 固定值: break和continue的使用 break:用来结束循环结构或者switch case continue:结束此次循环进入 ...