关注本人微信和易信公众号: 微软动态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. [Swift]LeetCode128. 最长连续序列 | Longest Consecutive Sequence

    Given an unsorted array of integers, find the length of the longest consecutive elements sequence. Y ...

  2. IntelliJ IDEA下SVN的配置及使用说明

    1 下载及安装SVN客户端. 到官网下载小乌龟SVN客户端,官网地址:https://tortoisesvn.net/downloads.html,根据操作系统情况选择适合版本.比如64为操作系统,如 ...

  3. Python内置函数(49)——pow

    英文文档: pow(x, y[, z]) Return x to the power y; if z is present, return x to the power y, modulo z (co ...

  4. ECMAScript 6 学习(一)generator函数

    1.ES2017标准引入async函数,那么async函数到底是个什么函数呢? async 是一个generator函数的语法糖. 2.那么generator函数到底是什么函数ne? generato ...

  5. qt实现头像上传功能

    想必大家都使用过qt的自定义头像功能吧,那么图1应该不会陌生,本片文章我就是要模拟一个这样的功能,虽然没有这么强大的效果,但是能够满足一定的需求. 图1 qq上传图片 首先在讲解功能之前,我先给出一片 ...

  6. java基础(十六)----- equals()与hashCode()方法详解 —— 面试必问

    本文将详解 equals()与hashCode()方法 概述 java.lang.Object类中有两个非常重要的方法: public boolean equals(Object obj) publi ...

  7. asp.net core 系列 10 配置configuration (上)

    一.  ASP.NET Core 中的配置概述 ASP.NET Core 中的应用配置是基于键值对,由configuration 程序提供. configuration  将从各种配置源提供程序操作键 ...

  8. 补习系列(7)-springboot 实现拦截的五种姿势

    目录 简介 姿势一.使用 Filter 接口 1. 注册 FilterRegistrationBean 2. @WebFilter 注解 姿势二.HanlderInterceptor 姿势三.@Exc ...

  9. PE知识复习之PE新增节

    PE知识复习之PE新增节 一丶为什么新增节.以及新增节的步骤 例如前几讲.我们的PE文件在空白区可以添加代码.但是这样是由一个弊端的.因为你的空白区节属性可能是只读的不能执行.如果你修改了属性.那么程 ...

  10. 日志服务Python消费组实战(三):实时跨域监测多日志库数据

    解决问题 使用日志服务进行数据处理与传递的过程中,你是否遇到如下监测场景不能很好的解决: 特定数据上传到日志服务中需要检查数据内的异常情况,而没有现成监控工具? 需要检索数据里面的关键字,但数据没有建 ...