先通过流程设计器设计流程

注意 

审批: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 笔记的更多相关文章

  1. 熊乐:H3 BPM为加速企业流程管理提供源动力

    近日,在北京·金隅喜来登酒店,H3 BPM以"让天下没有难用的流程"为主题,正式发布H3 BPM10.0版本.全新的业务流程管理系统在易用性方面大大提升,并且全面支持Java与.N ...

  2. H3 BPM:为石化企业提供一个不一样的全停大修平台

    H3 BPM大型炼化企业装置全停检修管理平台(简称"全停大修")结合国际化的流程管理理念.成熟的系统技术架构.优秀的行业解决方案,为石油化工行业全停大修提供了卓越的信息化管理方案, ...

  3. H3 BPM引擎API接口

    引擎API接口通过 Engine 对象进行访问,这个是唯一入口. 示例1:获取组织机构对象 this.Engine.Organization.GetUnit("组织ID"); 示例 ...

  4. H3 BPM产品安装手册(.Net版本)

    1         安装说明 1.1    服务器安装必备软件 在使用该工作流软件之前,有以下一些软件是必须安装: l  IIS7.0以上版本(必须): l  .Net Framework 4.5(必 ...

  5. H3 BPM让天下没有难用的流程之技术特性

    一.集成性  H3 BPM可以与其它系统进行多个层面的集成,满足企业的针对不同系统的集成需求. 图:多种集成维度 Ø  用户集成 可与企业现有系统进行组织架构同步或调用,也可以直接与AD 进行集成. ...

  6. H3 BPM让天下没有难用的流程之技术体系

    一.技术架构 H3 BPM 基于微软.NET 技术架构,采用C#语言开发,以高开放.高扩展.高性能为核心准则,遵循分层的设计原理,结合最新的B/S 以及智能手机应用开发技术研发的. 图:H3 BPM  ...

  7. H3 BPM社区:流程开发者的学习交流平台

    企业上市有上市流程,融资扩充有融资流程,项目招投标有招投标流程,部门领导选拔有晋升流程,员工请假休假有请假流程,早起上班梳洗有符合自己习惯的流程--生活处处是流程,流程无处不在.但从信息化建设来说,企 ...

  8. H3 BPM让天下没有难用的流程之功能介绍

    H3 BPM10.0功能地图如下:  图:H3 BPM 功能地图 一.流程引擎 H3  BPM 流程引擎遵循WFMC 标准的工作流引擎技术,设计可运行的流程和表单,实现工作任务在人与人.人与系统.系统 ...

  9. H3 BPM让天下没有难用的流程之产品概述

    一.产品简介 BPM(Business Process Management),是指根据业务环境的变化,推进人与人之间.人与系统之间以及系统与系统之间的整合及调整的经营方法与解决方案的IT工具. H3 ...

随机推荐

  1. uva 484 - The Department of Redundancy Department

    已有的数据结构装不下数据,或者不能处理现有的数据,那就必须要思考其他的辅助手段,辅助结构: #include <cstdio> #include <map> #include ...

  2. 英文版Ubuntu 安装中文输入法

    一.安装语言包 (系统默认会安装中文简体语言包) System Settings-->Language Support-->Install/Remove Languages 二.安装IBU ...

  3. keybd_event 转载

    转自 http://apps.hi.baidu.com/share/detail/14468670 Option Explicit Private Declare Sub keybd_event Li ...

  4. 用异提交时,后台通过校验规则文件,校验不通过时,跳转到INPUT视图时,前台显示错误信息的解决办法

    1.第一种: 最近项目使用了struts2的校验(其实我觉得后台校验,特别是struts的校验,完全可以放在其他地方处理,比如交给js或者业务逻辑),而且系统刚好还使用了extjs,此时问题出现了:假 ...

  5. IOS APP IDs

    感谢分享 说下 APP ID 的组成为  APP ID Prefix + APP ID suffix APP ID Prefix 为10个字符  你不用管它 APP ID Suffix  这个有点讲究 ...

  6. 解压Taobao手机客户端发现的东西

    今天解压了Taobao手机客户端发现了几个.so文件, 其中有两个挺感兴趣的,查了一下,以后去研究下. libBSPatch.so 是用于支持增量更新功能的库文件. libwebp.so  好像是We ...

  7. 转:Twitter.com在用哪些Javascript框架?

    原文来自于:http://blog.jobbole.com/63964/ 我一直在研究twitter.com使用的一些UI框架.下面是这些框架的清单(大部分是Javascript框架).如果你发现有些 ...

  8. Android 部分属性学习

    android:imeOptions属性 谈一下个人的理解,设置软件盘中下一个/完成按钮的显示,如果需要监听软件盘中该按钮的事件,则需要实现 setOnEditorActionListener 其实, ...

  9. PHP 访问类中的静态属性

    静态属性和普通属性不一样,静态属性只属于类本身而不属于类的任何实例,所以他们的访问方式也不一样.你可以把静态属性认为是存储在类当中的全局变量,而且你可以在任何地方通过类来访问它们. 在类本身中访问静态 ...

  10. C51系列RAM寄存器表

    特殊功能寄存器地址表 SFR 符号 字节 地址 位地址和位名称 D7 D6 D5 D4 D3 D2 D1 D0 P0口 P0 80H P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0. ...