关注本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复137或者20141228可方便获取本文,同时可以在第一时间得到我发布的最新的博文信息,follow me!

       博文讲述的主要是如何根据我前面定义的规则来自动化的录入积分记录,并且可以方便的看到录入订单时候用户还有多少积分。我这里还是采用工作流来实现吧。购买后什么时候给予客户积分呢?我想的是在订单完成配送后给予,不管后续可能出现的问题,比如有人不满意要求退货退款,毕竟萝卜青菜各有所爱嘛。还有就是如果订单录入或者修改了 推荐人 字段,就赠送推荐人积分,为了支持晒单也能积分,我在订单上增加了已晒单字段,当它变成是的时候需要出发工作流运行一下,这样就可以选择工作流的触发条件,为了方便操作,我还在命令栏增加了一个晒单的按钮。
      我这里新建一个工作流如下,我取消了默认对 在后台运行此工作流(推荐) 的选中,因为我想用实时工作流来做。当然,实时工作流和异步工作流在绝大部分情况下是可以互相转换的,什么情况下不能转换这里卖个关子,自己看SDK去。
 
我做了如下的几个工作流:
随便打开一个给大家看看,因为差不多:
我这里还需要插件来帮忙,因为工作流设置字段的值时候,除了日期时间类型,不能使用运算符,但是我的积分是要使用乘法来做的,所以需要更改下。
在进行插件开发之前,需要先安装 适用于 Windows Vista SP2、Windows 7 SP1、Windows 8、Windows 8.1、Windows Server 2008 SP2 Windows Server 2008 R2 SP1、Windows Server 2012 和 Windows Server 2012 R2 的 Microsoft .NET Framework 4.5.2 开发人员包 ,这和2013版本不同,而且目标的.Net框架要选择 4.5.2,再也不是4.0了,各位看官注意哦。安装完毕后,如果Developers' tools如果坏了,就修复下。值得一提的是2015的SDK居然没有提这个Developer‘s tools了,我很喜欢用的东西,真心伤不起啊,还好用 2013版本的依然可以。
我这里部署了IFD,所以我连接的画面稍有不同,如下:
新建的插件和工作流项目目标可能还是 4.5,最好改成4.5.2.
弄好以后给插件项目和工作流项目签名后保存就可以写代码,然后部署了,因为以前的博客有插件和工作流的相关教程,所以本博文不会详细介绍了。但是解决方案部署的时候会报如下的错误:Error registering plugins and/or workflows. Assembly bin\Debug\SuGeGeSolution.Plugins.dll could not be found.,用SDK提供的插件注册工具 PluginRegistration 也不好用,不得不吐糟一下,很郁闷!我暂时用的解决方案是将更改后的 Plugins 项目和Workflow项目下面产生的dll文件拷贝到CrmPackage的bin\Debug\目录下,然后再部署就可以了。至于插件的具体内容就不写了,也不是什么高级功能。
2014年12月29日我找到的解决方法如下,用记事本打开那个 CrmPackage.csproj 文件,将TargetFrameworkVersion 元素的只从 v4.5 改成 v4.5.2 ,然后保存,用Visual Studio再次打开就可以了。
我在订单上新增一个汇总字段(RollupField),如下,注意字段类型要选择 汇总。
然后点击旁边的编辑按钮,我的设置如下,意思非常明显,就是该联系人下面的所有有效记录的积分汇总。
 
这个字段是可以像其他字段一样拉动到表单界面的,下面是一个效果图,可以看到这个字段是只读的,同时它在字段最后部分有个刷新图标,点击一下是可以刷新,应该是会立即计算一下的。
为了能够在订单页面方便的查看到联系人剩余的积分,我新建了一个 类型为 快速视图窗体 的窗体如下:
 然后将这个窗体插入到订单页面。
 
我这里插入的快速视图窗体设置如下:
下面是一个效果图:
我再在订单上添加 已支付金额字段。

我再加入一个未支付金额字段,注意这个字段是一个计算字段哦,用来查看还有多少钱没有支付。

 
我点击编辑按钮设置如下,意义非常明显,我想知道这个单客户还欠我多少钱,适当的时候的催促下,哥又不是土豪,欠多了真的伤不起。当然,这个表达式支持部分函数,有智能提示,看一下就知道了,这个东西做的非常酷,超赞!
 
把刚才的两个字段拉到界面上,我们去看看效果,需要保存你得更改后才能看到效果的。
 

Dynamics CRM项目实例之六:积分管理,汇总字段,计算字段,快速查看视图的更多相关文章

  1. Dynamics CRM项目实例之七:站点地图修改,联系人-订单-积分管理

    关注本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复138或者20141229可方便获取本文,同时可以在第一时间得到我发布的最新的博文信息,follow me!        前面文章发表后,不 ...

  2. Dynamics CRM项目实例之九:CRM 2015的产品中的捆绑销售

    关注本人微信和易信公众号: 微软动态CRM专家罗勇,回复140或者20150112可方便获取本文,同时可以在第一时间得到我发布的最新的博文信息,follow me!      今天的博客主要是介绍Dy ...

  3. Dynamics CRM项目实例之八:CRM 2015的产品系列,克隆,修订

    关注本人微信和易信公众号: 微软动态CRM专家罗勇,回复139或者20150106可方便获取本文,同时可以在第一时间得到我发布的最新的博文信息,follow me!       今天的博客主要是关于D ...

  4. 获取、增加、修改、删除sqlserver字段描述及快速查看表字段与描述

    先看添加与删除字段描述 EXEC sys.sp_addextendedproperty @name = N'MS_Description', --添加Type字段说明 @value = N'屏蔽类型对 ...

  5. Microsoft Dynamics CRM 增删改子表汇总子表的某个字段到主表的某个字段(通用插件)

    背景 经常有某个汇总子表的数量到主表的总数量,或者汇总子表的总价到主表的总价这种需求. 传统的做法: 1.就是为每个子表实体单独写成一个插件,但是这样不好复用. 2.主表的汇总字段是汇总货币类型,但是 ...

  6. Dynamics CRM 插件Plugin中获取和更新时间字段值的准确转换

    前面两篇介绍了后台代码通过组织服务获取更新时间字段.窗体javascript通过Odata获取更新时间字段,最后篇来实验下在插件中的获取和更新时间字段是否需要时制的转化,为何说是最后篇呢,因为在CRM ...

  7. Dynamics CRM项目实例之十:CRM 2015的捆绑销售在订单中的效果

    关注本人微信和易信公众号: 微软动态CRM专家罗勇,回复141或者20150122可方便获取本文,同时可以在第一时间得到我发布的最新的博文信息,follow me!       上一篇博文我在素格格新 ...

  8. Microsoft Dynamics CRM 2011 当您在 大型数据集上执行 RetrieveMultiple 查询很慢的解决方法

    症状 当您在 Microsoft Dynamics CRM 2011 年大型数据集上执行 RetrieveMultiple 查询时,您会比较慢. 原因 发生此问题是因为大型数据集缓存 Retrieve ...

  9. Dynamics CRM使用Web Api时如果参数里面包含"&"的时候的处理方法

    当我们使用Dynamics CRM的Api的时候如果遇到查询字段的参数里面有&符号的话会影响Api的取值直接报错.原因是因为&符号在Url上面是一个关键字,这个关键字可以截断Url表示 ...

随机推荐

  1. Egg 中 Controller 最佳实践

    得益于 JavaScript 加入的 decorator 特性,可以使我们跟 Java/C# 一样,更加直观自然的,做面向切面编程.而随着 TypeScript 的成熟,类型系统也让我们增强了信心,面 ...

  2. JS关于Date函数的格式化输出

    // 对Date的扩展,将 Date 转化为指定格式的String // 月(M).日(d).小时(h).分(m).秒(s).季度(q) 可以用 1-2 个占位符, // 年(y)可以用 1-4 个占 ...

  3. 主流数据库连接池性能比较 hikari druid c3p0 dbcp jdbc

    背景 对现有的数据库连接池做调研对比,综合性能,可靠性,稳定性,扩展性等因素选出推荐出最优的数据库连接池 . NOTE: 本文所有测试均是MySQL库 测试结论 1:性能方面 hikariCP> ...

  4. 最快效率求出乱序数组中第k小的数

    题目:以尽量高的效率求出一个乱序数组中按数值顺序的第k 的元素值 思路:这里很容易想到直接排序然后顺序查找,可以使用效率较高的快排,但是它的时间复杂度是O(nlgn),我们这里可以用一种简便的方法,不 ...

  5. 阿里云对象存储 OSS 应用服务器搭建代码

    背景说明 最近做一个APP客户端图片直传阿里云OSS的服务,需要在后台开一个阿里云的OSSToken获取的接口. 阿里云官方文档地址:快速搭建移动应用直传服务. 略过移动端说明,直接看服务端的. 不是 ...

  6. ansible基础-roles

    一 简介 注:本文demo使用ansible2.7稳定版 在我看来,role是task文件.变量文件.handlers文件的集合体,这个集合体的显著特点是:可移植性和可重复执行性. 实践中,通常我们以 ...

  7. [Swift]LeetCode918. 环形子数组的最大和 | Maximum Sum Circular Subarray

    Given a circular array C of integers represented by A, find the maximum possible sum of a non-empty ...

  8. PHP实现用户注册并保存数据到文件

    首先我们实现功能时,分析实现的步骤是什么,就这个而言,我们应该接收用户提交的数据并进行校验,然后保存在文件,最后给用户反馈. 这里需要注意的是为了避免嵌套过深,这里使用自定义函数来实现,其代码如下: ...

  9. 第一次c语言上机

    实验结论 part1: 第一部分的内容是按照书上所给的例题,进行简单的验证.虽然听起来很简单,但是由于之前并未接触过这方面的内容,还是犯了很多微小的错误.主要是在进行编程语言的输入时会输错字母,会忘记 ...

  10. mogodb分片配置

    下图展示了在MongoDB中使用分片集群结构分布: 上图中主要有如下所述三个主要组件: Shard: 用于存储实际的数据块,实际生产环境中一个shard server角色可由几台机器组个一个repli ...