BPM配置故事之案例4-子表】的更多相关文章

老李:好久不见啊,小明. 小明:-- 老李:不少部门有物资着急使用,现在的审批流程太慢了,申请时增加一个是否加急的选项吧.如果选加急,金额1000以下的直接到我这里,我审批完就通过,超过1000的直接发给总经理审批.不加急的流程保持不变. 小明在纸上勾画了半天,准备把流程做成这样 小明的设计图 刚好大毛今天路过,把他拦住了. 大毛:我教你个简单的办法吧-- 大毛:为了应对这样复杂流程线路条件,我们H3 BPM 中提供了一项功能"业务规则". 小明:业务规则是什么-- 大毛:业务规则是一…
Boss突然来到:小明啊,咱们的物资申请金额现在既然可以确定了,以后金额在1万以下的申请单,就不用我审批了.直接通过就行了. 小明:好的 然后小明把流程线路改成了这样. 线路条件1 线路条件2…
公司渐渐对采购管理重视起来了,新招聘了采购主管老李,老李对现有的申请表很不满意,要求将申请物资和申请原因改成物资明细表 物资明细表 小明只好继续致电大毛-- 大毛:把申请物资和申请原因删掉,新增一个数据项"物资明细表",类型选"子表",在子表中新增各列数据项. 子表数据项 大毛:保存并发布后,还是调表单和活动节点权限.表单默认会额外增加一行"统计",你不需要就右键删掉好了.…
某天,Boss找到了信息部工程师小明. Boss:咱们新上了H3 BPM,你研究研究把现在的采购申请流程加上去吧,这是采购申请单. 小明:好嘞 采购申请单 小明回去后拿着表单想了想,开始着手配置. 他找到了 "后台系统-流程模型"模块.首先建立了目录"物资"(小明:万一BOSS明天想把报废也加进来呢),在"物资"目录下建立了流程"采购申请". 系统自动在流程下创建了3个子目录:数据模型.默认表单.采购申请. 流程菜单 接下来小…
行政主管发来邮件.要求物资明细表增加"单价""总价"."单价"由其审批时填写,"总价"根据"单价"与"数量"计算.并增加"汇总金额",数值等于明细表中各项总价之和. 行政总监要求的子表格式 小明很快改好了数据模型.表单和数据权限,然后找到大毛询问如何继续数据的自动计算. 小明制作的表单 大毛:简单,在总价控件中找到"ComputationRule"…
老李:Hi,小明,我又来了 小明:--这次又怎么了. 老李:之前的物资管理方式太混乱了,这段时间我整理了采购物资清单,现在都录入到我们的ERP中了,以后申请物资改成从ERP数据选择吧.物资明细表我也做了一些改动,在这里,选物资,系统自动加载"类型""名称""型号""单价". 小明:我知道了,你先回吧 ,我得去找大毛了. 新物资申请表 小明找到大毛,描述了老李的需求. 大毛:对于外部数据的连接,在我们H3 BPM 中设计了6种方…
小明遇到了点麻烦,他昨天又收到了行政主管发来的邮件,要求把出差申请单改由H3 BPM进行,表单如下 行政主管的出差申请表 小明对表单进行了调整,设计出了一份适合在系统中使用的表单,但在"出差地点"控件的使用上遇到了问题. 小明查看产品资料,在"系统管理-系统参数-数据字典"中录入了地区数据字典,并在下拉菜单控件的属性"MasterDataCategory"中设置了关联,但是却不知道如何将"省""市"两个控件…
还记得阿海么,对就是之前的那个采购员,他又有了些意见. 阿海:小明,你看现在的流程让大家都这么方便,能不能帮个忙让我也轻松点啊-- 小明:--你有什么麻烦,现在不是已经各个部门自己提交申请了嘛? 阿海:可是每次申请通过还是要我去买啊,采购申请通过的时间又不确定,弄的我每天都要提借款申请-- 大毛:Hi,我来了 小明:--来的正好,看看这个问题怎么解决吧. 大毛:这个简单,通过我们的子流程功能就可以搞的定啦. 大毛:你在流程结束前增加一个分支环节"子流程",然后在属性"模板编码…
小明:可以获取ERP数据了-- 老李:哦,这么快?小伙子,我非常看好你,来来,别急着走,再陪我聊会-- 小明:--您老人家不是又要改流程吧? 老李:没有没有,哎嘿嘿嘿,我们这不都是为公司效率着想嘛,这次真不改流程. 小明:--那还是有东西要改了? 老李:啊,再帮个小忙,你们既然数据是从ERP获取的,那我们审批完成后的数据,也写入到ERP去吧.这个是数据表格 老李的ERP写入数据表 小明:表格都做好了--还有多少坑等着我-- 接着依然是大毛的出场时间. 大毛:其实这个和上次的获取外部数据很类似的…
老李:小明! 小明:--见你就没好事,又要我干嘛? 老李:额,小事小事,最近很多部门都觉得Boss的审批速度太慢了,能不能以后给审批人一个消息提醒? 小明:--有一种不太好的预感 老李:怎么,很困难么? 小明:那倒不是,设置一下提醒就是了--时间设置成多少? 老李:1个小时吧 审批许可时间及超时提醒属性 系统配置中的消息提醒配置 老李:内置了邮件发送功能么,好神奇! 小明(冷汗):我还是看看大毛配邮件服务器了没吧 集群管理登陆页面 消息设置配置 小明的预感还是很准的,Boss不久就找来了-- B…
小明兴奋的告诉大毛自己独立解决了必填和水印问题,腹黑的大毛决定给小明出一个进阶问题刷一下存在感. 大毛:我再考考你,我把表单改成了这样(下图).怎么做到,预算状态为"预算内"时,不显示"超预算原因":预算状态为"超预算"时,显示"超预算原因"并必填. 大毛修改的表单 小明(白眼):不会-- 大毛(坏笑):想知道么? 小明:--赶紧说! 大毛:在超预算原因的属性里分别找到"DisplayRule"和"…
这才过了两天,阿海又来了. 阿海:公司决定改进管理方式,以后物资申请的申请人和申请部门要写具体使用人的名字和部门了. 小明:不是要让我改回去吧? 阿海:那太麻烦了,你能不能把申请人改成选择,选好人自动加载对应的部门信息? 小明:我昨天看了教程,申请人换成"参与者(单人)"就是了,但是自动加载-- 小明还是决定去找大毛. 大毛:在"参与者(单人)"控件中,有一个属性"MappingControls",可以再其中设置属性映射关系,系统会自动按照映射,…
Boss感觉方便了很多,然而采购部采购员阿海却还是有点意见,他跑来找小明. 阿海:现在申请都是我在提交,申请人和申请部门能不能不要每次都要填写啊,好麻烦的. 小明:没问题,这个简单. 小明在表单中把申请人.申请部门的"DefaultValue"属性分别设为"{Originator.UserName}"."{Originator.OUName}",保存然后预览了一下效果,果然OK,阿海满意而归. 默认值属性…
物资申请表改好了,但是没过两天老李又找来了. 老李:这个表格每次都是各个部门发给我们,再由我们采购部来填,太影响效率了,以后要让他们自己填. 小明:那就让他们填呗,他们有权限啊. 老李:可是他们说不会写申请原因,你在原因那里加上提示信息吧,内容在这里. 老李的提示信息内容 老李:另外,把申请原因设置成必填项吧. 小明:好的,稍等--必填把活动节点权限勾选就行了,提示信息--有了,属性"PlaceHolder",发布预览,OK了,您老还有什么要求,一次说完吧-- 老李:一时还没想到--想…
上次写的是同一个表单的子表之间赋值,这次是不同表单之间子表的赋值 首先,我们给需要赋值的表单添加一个复制按钮 $.MvcSheet.AddAction({            Action: "start",            Icon: "fa-copy",       // 按钮图标            Text: "复制",           // 按钮名称            OnActionDone: function (e…
附件功能的实现(详见ewell.webclient.beans.warranty.WarrantysDateBean ,ewell.webclient.beans.doclinks.custom.AddDocLinksCustomBean , ewell.webclient.beans.doclinks.custom.ViewAttachmentsCustomBean)   附件浏览需在weblogic中配置附件服务在C盘doclinks文件夹内新建WEB-INF文件夹把C:\ibm\SMP\m…
背景 经常有某个汇总子表的数量到主表的总数量,或者汇总子表的总价到主表的总价这种需求. 传统的做法: 1.就是为每个子表实体单独写成一个插件,但是这样不好复用. 2.主表的汇总字段是汇总货币类型,但是不能实时计算,得手动在页面上重新计算,如下图,点刷新才会触发计算 这里有幸阅读了网上一位前辈[疯吻IT]4年前写的文章,继承了他的思路实现了增删改重新触发汇总子表的某个字段到主表某个字段上. 效果图: 话不多说,上代码. #region << 版 本 注 释 >> /*--------…
案例 案例:Laravel 在文章列表中附带上前10条评论?,在获取文章列表时同时把每个文章的前10条评论一同查询出来. 这是典型分区查询案例,需要根据 comments 表中的 post_id 字段进行分区,同时根据条件进行排序,把符合条件的前 N 条是数据取出来. 在其他数据库(Oracle, SQL Server,Vertica) 包含了 row_number partition by 这样的函数,能够比较容易的实现. 比如在 SQL Server 中: SELECT * FROM ( S…
mybatis进阶案例之多表查询 一.mybatis中表之间的关系 在数据库中,实体型之间的关系主要有如下几种: 1.一对一 如果对于实体集A中的每一个实体,实体集B中至多有一个(也可以没有)实体与之联系,反之亦然,则称实体集A与实体集B具有一对一联系,记为1:1 .例如,一个班级只有一个正班长,一个班长只在一个班中任职. 2.一对多 如果对于实体集A中的每一个实体,实体集B中有n个实体(n≥0)与之联系,反之,对于实体集B中的每一个实体,实体集A中至多只有一个实体与之联系,则称实体集A与实体集…
父表单在新建子表单项时弹出的窗口和 子表单的N:1关系是有关系的.说白了就是子表单窗体上的父表单字段是不是必填项. 关系如下: 1 非必填项 点击子表单的"+"号时,会出现lookup查找框,可以选择现有项.如果新建,还需要再点击下面的"+新建"按钮. 2 必填项, 点击子表单的"+"号时,会直接出现新建的页面. 总结:相当于CRM2011 的 添加现有项 和 新建的意思.…
例子1: from table2 b where a.id=b.id) 例子2: rebatepolicy表是主表,rebatepolicyitems是从表,从表有主表的主键,现在对于主表一些条件的数据的对应子表要求删除. 如下方式: delete from rebatepolicyitems rs where exists ( from rebatepolicy r where rs.rebateguid=r.rebateguid ' and r.creator='名字' ) delete f…
上一篇 Dynamic CRM 2013学习笔记(十一)利用Javascript实现子表合计(汇总,求和)功能 , 介绍了如何用js来实现子表合计功能,这种方法要求在各个表单上添加js方法,如果有很多实体要实现这个功能,有人觉得有点麻烦了,就不太喜欢这种方式,于是我写了一个通用的子表合计功能的通用插件,只用在注册插件时,填写不同的参数就可以实现这个功能了. 1. 首先看下效果:   2. 注册方法: 我们需要在子表上对create和update方法进行注册: 注册时要填写4个参数: 第一个参数是…
我们经常有这样一种需求,子表里新加或修改一数值后,要马上在主表里把它们的和显示在主表上.如果用插件来实现,可以实现求和,但页面上还要刷新一下才能显示正确.这时就考虑到用JS来实现这一功能,并自动刷新页面,让求和的值马上显示在主表上. 子表上新加或修改完,保存并关闭后,系统会自动刷新子表列表,以显示新的子表数据行,这时就想到是不是可以利用这个子表的刷新功能来计算并显示值. 下面介绍详细的实现方法: 1. 重写SubGrid的Refresh事件,SubGrid刷新的时候注册一个事件,完成SubGri…
//清除子表数据 public SalesSet removeSalesSetDistributor(SalesSet salesSet ){ List<SalesSetDistributor> salesSetDistributorList = salesSet.getSalesSetDistributors(); deleteAll(salesSetDistributorList); salesSetDistributorList.clear(); save(salesSet); retu…
表中有这样的记录,简单的主子表,现要想通过left join 语句把两表关联起来 select * from tbl_diary_reback a left join tbl_diary_reback_files s on a.id =s.diaryrebackid where diaryid = '-7e0f6876:1400eb06d1f:-7fed' and diaryrebackid = '1a75114e:140136e5d5f:-7ff3' 由于子表是两条不同数据,会出现两条记录.如…
本文继成上一篇通过hive分析nginx日志文章,详情参考下面链接: http://www.cnblogs.com/wcwen1990/p/7066230.html 接着来: 创建业务子表: drop table if exists chavin.nginx_access_log_comm; create table if not exists chavin.nginx_access_log_comm( host STRING, time STRING, request STRING, refe…
[sql]mysql管理手头手册,多对多sql逻辑 国家--城市例子 class Country(models.Model): name = models.CharField(max_length=30) def __str__(self): return self.name class City(models.Model): country = models.ForeignKey(Country, on_delete=models.CASCADE) name = models.CharFiel…
Django的外键使用 from django.db import models # Create your models here. class Category(models.Model): name = models.CharField(max_length=) class Article(models.Model): title = models.CharField(max_length=) content = models.TextField() # 是由Category影响Artic…
其实删除数据库中数据的方法并不复杂,为什么我还要多此一举呢,一是我这里介绍的是删除数据库的所有数据,因为数据之间可能形成相互约束关系,删除操作可能陷入死循环,二是这里使用了微软未正式公开的sp_MSForEachTable存储过程. 也许很多读者朋友都经历过这样的事情:要在开发数据库基础上清理一个空库,但由于对数据库结构缺乏整体了解,在删除一个表的记录时,删除不了,因为可能有外键约束,一个常见的数据库结构是一个主表,一个子表,这种情况下一般都得先删除子表记录,再删除主表记录.说道删除数据记录,往…
CREATE TABLE employees(     employee_id      NUMBER(6),     last_name        VARCHAR2(25) NOT NULL,     email            VARCHAR2(25),     salary           NUMBER(8,2),     commission_pct   NUMBER(2,2),     hire_date        DATE NOT NULL, ...     dep…