H3 BPM 笔记
先通过流程设计器设计流程
注意
审批:1个人
会签: 多人用
同意时: 若为有一个同意就通过 则 审批选项卡 的同意出口 设为1
如果需要所有人同意才通过 则 审批选项卡 的同意出口 设为100%

开始或者结束时可能有业务操作调用webservice
后台取组织机构人员
Organization.Unit cwb = OThinker.H3.Server.Engine.Organization.GetUnit("组织机构ID");
                this.Enviroment.InstanceData["审批的名字"].Value = new object[] { cwb.ManagerID };
获取当前用户
OThinker.H3.Acl.UserValidator us = (OThinker.H3.Acl.UserValidator)this.Session[OThinker.H3.WorkSheet.Sessions.GetUserValidator()];
获取当前用户所有的父组织
                Organization.Unit[] units = OThinker.H3.Server.Engine.Organization.GetParentUnits(us.UserID, Organization.UnitType.OrganizationUnit, true, Organization.State.Active);
得到岗位名称
if (units != null)
                {
                    for (int i = 0; i < units.Length; i++)
                    {
                        Organization.Unit unit = units[i];
string cname = OThinker.H3.Server.Engine.Organization.GetUnitCategoryName(unit.ObjectID);
得到岗位下所有人
string[] 岗位数组 = OThinker.H3.Server.Engine.Organization.FindPostMembers(new string[] { unit.ObjectID }, "岗位ID");
                            if (岗位数组.Length > 0)
                            {
得到第一个人
                                //OThinker.Organization.User u = (OThinker.Organization.User)OThinker.H3.Server.Engine.Organization.GetUnit(岗位数组[0]);
                                List<string> 泛型数组 = new List<string>();
                                foreach (string 岗位数组元素 in 岗位数组)
                                {
                                    OThinker.Organization.User u = (OThinker.Organization.User)OThinker.H3.Server.Engine.Organization.GetUnit(岗位数组元素);
                                    if (u != null)
                                    {
泛型数组.Add(u.ObjectID);
                                    }
                                }
this.Enviroment.InstanceData["会签ID"].Value = listhtglys.ToArray();
                            }
前台提交时验证:
function pageValidate(eventType) {//固定的
            if (eventType != 2) return true;//固定的
            var moneyval = $("#ctl00_masterContent_Control4").val();
            {
                var parenta = /^[1-9]\d*$/;
                var parntb = /^[1-9]\d*\.\d*$/;
                if (parenta.exec(moneyval)) {
                    return true;
                }
                else if (parntb.exec(moneyval)) {
                    return true;
                }
                else {
                    alert("合同金额必须大于0!");
                    $("#ctl00_masterContent_Control4").focus();
                    return false;
                }
            }
            return true;//固定的
        }
H3 BPM 笔记的更多相关文章
- 熊乐:H3 BPM为加速企业流程管理提供源动力
		近日,在北京·金隅喜来登酒店,H3 BPM以"让天下没有难用的流程"为主题,正式发布H3 BPM10.0版本.全新的业务流程管理系统在易用性方面大大提升,并且全面支持Java与.N ... 
- H3 BPM:为石化企业提供一个不一样的全停大修平台
		H3 BPM大型炼化企业装置全停检修管理平台(简称"全停大修")结合国际化的流程管理理念.成熟的系统技术架构.优秀的行业解决方案,为石油化工行业全停大修提供了卓越的信息化管理方案, ... 
- H3 BPM引擎API接口
		引擎API接口通过 Engine 对象进行访问,这个是唯一入口. 示例1:获取组织机构对象 this.Engine.Organization.GetUnit("组织ID"); 示例 ... 
- H3 BPM产品安装手册(.Net版本)
		1 安装说明 1.1 服务器安装必备软件 在使用该工作流软件之前,有以下一些软件是必须安装: l IIS7.0以上版本(必须): l .Net Framework 4.5(必 ... 
- H3 BPM让天下没有难用的流程之技术特性
		一.集成性 H3 BPM可以与其它系统进行多个层面的集成,满足企业的针对不同系统的集成需求. 图:多种集成维度 Ø 用户集成 可与企业现有系统进行组织架构同步或调用,也可以直接与AD 进行集成. ... 
- H3 BPM让天下没有难用的流程之技术体系
		一.技术架构 H3 BPM 基于微软.NET 技术架构,采用C#语言开发,以高开放.高扩展.高性能为核心准则,遵循分层的设计原理,结合最新的B/S 以及智能手机应用开发技术研发的. 图:H3 BPM ... 
- H3 BPM社区:流程开发者的学习交流平台
		企业上市有上市流程,融资扩充有融资流程,项目招投标有招投标流程,部门领导选拔有晋升流程,员工请假休假有请假流程,早起上班梳洗有符合自己习惯的流程--生活处处是流程,流程无处不在.但从信息化建设来说,企 ... 
- H3 BPM让天下没有难用的流程之功能介绍
		H3 BPM10.0功能地图如下: 图:H3 BPM 功能地图 一.流程引擎 H3 BPM 流程引擎遵循WFMC 标准的工作流引擎技术,设计可运行的流程和表单,实现工作任务在人与人.人与系统.系统 ... 
- H3 BPM让天下没有难用的流程之产品概述
		一.产品简介 BPM(Business Process Management),是指根据业务环境的变化,推进人与人之间.人与系统之间以及系统与系统之间的整合及调整的经营方法与解决方案的IT工具. H3 ... 
随机推荐
- C++朝花夕拾【更新】
			C++拾遗 更新一些平时遇到的小细节: 1.关于类的无参构造函数和带有全部默认参考值的构造函数的区别 书上说的是带有全部默认值的构造函数就是无参构造函数,私以为不以为然,来看下边这个例子: #incl ... 
- js十进制等互相转换
			//十进制转其他 var x=110; alert(x); alert(x.toString(8)); alert(x.toString(32)); alert(x.toString(16)); / ... 
- phpcms v9二次开发之模型类的应用(1)
			在<phpcms二次开发之模型类model.class.php>中讲到了模型类的建立方法,接下来我讲一下模型类的应用. 前段时间我基于phpcms v9开发了一个足球网.足球网是 ... 
- easyui最小化后停留在页面的右下角
			0.此方法没有什么技术含量,纯属于自己瞎想的!如果有的好方法,请留言告之谢谢!! 1.直接上代码: $('#winId').window({ onMinimize: function () { //最 ... 
- 转:CFile::Seek
			CFile::Seek virtual LONG Seek(LONG lOff,UINT nFrom); throw(CFileException); 返回值:如果要求的位置合法,则Seek返回从文 ... 
- Recommending music on Spotify with deep learning 采用深度学习算法为Spotify做基于内容的音乐推荐
			本文参考http://blog.csdn.net/zdy0_2004/article/details/43896015译文以及原文file:///F:/%E6%9C%BA%E5%99%A8%E5%AD ... 
- 关于Layouts的分类
			ViewGroup ---------------------------------LinearLayout.Relative Layout. AdapterView --------------- ... 
- web api 2 学习笔记 (OData Batch request)
			之前介绍过OData 中实现RPC的写法,今天在来一个批量操作. 参考 : https://damienbod.wordpress.com/2014/08/14/web-api-odata-v4-ba ... 
- 一句话输出网站404页面,REFER及相关排序
			cat www.log|awk '$9~/404/ {print $7"," $11}'|sort|uniq -c|sort -nr > ./www404.csv 
- shell中使用sqlplus及调试相关
			五.为了安全要求每次执行shell都手工输入密码$ vi test5.sh #!/bin/bashecho -n "Enter password for u_test:"read ... 
