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 ...
随机推荐
- 《Linux内核分析》 week5作业-system call中断处理过程
一.使用gdb跟踪分析一个系统调用内核函数 1.在test.c文件中添加time函数与采用c语言内嵌汇编的time函数.具体实现请看下图. 2.然后在main函数中添加MenuConfig函数,进行注 ...
- 《Linux内核分析》 week2作业-时间片轮转
一.基于时间片轮转调度代码的解读 代码结构主要由三个文件组成: 1.mypcb.h 2.myinterrupt.c 3.mymain.c 1.进程控制块(mypcb.h) /* CPU-specifi ...
- jquery 20行代码实现简单轮播效果
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- PHPCMSV9 更换域名后,要做的操作
修改/caches/configs/system.php里面所有和域名有关的,把以前的老域名修改为新域名. 进入后台设置-->站点管理,对相应的站点的域名修改为新域名. 点击后台右上角的&quo ...
- DbUtility-查询DataTable
直接上源码 using System; using System.Data; using System.Threading.Tasks; using DbUtility; namespace Test ...
- Ubuntu 下对ADT 添加别名(alias)
1:~$ vim .bashrc 2:在打开的.bashrc文件中加入: alias adt='./adt-bundle-linux-x86-20130729/eclipse/eclipse' 3:保 ...
- python的工作记录A
马上进入工作自动化: [root@localhost ~]# cat svn_bbs.py import os,sys,commands,subprocess import re,time svnUr ...
- TCP 的那些事儿(转载)
无论是PC客户端开发还是移动开发,或是Web开发, 网络编程都是很重要的一块, 深入理解TCP/IP和HTTP协议是一个优秀程序员的必备技能.看到酷壳老大正好写了篇相关文章, 正好拿来学习, 转自 h ...
- 【转】 Spinner的常用技巧
原文网址:http://blog.csdn.net/wanli_smile/article/details/6410388 用法 1 :以资源方式,静态展示 Spinner 选项 1. 在资源 ...
- [译] 新手和老手都将受益的JavaScript小技巧
这篇文章会分享一些鲜为人知但却很强大的JavaScript技巧, 各个级别的JavaScript开发者都会从中受益. 1. 用数组的length属性清空数组 我们知道在JS中对象类型是按引用传 ...