通达OA2015-工作流前端触发器的使用

      通达OA2015版支持多种前端触发器的使用,之前的版本只支持后端处理,即通过转交动作将表单中的数据POST到触发器的php文件中,2015也保留了这种方法,但这种方法当检查数据合法性时,显示不够灵活,通常的做法是,触发器分析$_POST数组中的数据,若不合要求,则通过echo 返回按钮,重新将整个表单打开一次;当用户比较多,这种方式会对web服务器会造成较大影响;

      因此,对于复杂的数据合法性检查,能用前端的尽量用前端实现,下面的操作步骤以母件工作流转交某个步骤时,要检查其子件工作流是否结束做为应用场景,当有未结束的子件工作流时,母件工作流不允许转交下一步,具体操作及代码如下:

第一步:创建触发器目录

      打开X:\MYOA\webroot\general\workflow\plugin\turn,创建新目录chkSubIsOver


第二步:创建触发器配置文件

      打开X:\MYOA\webroot\general\workflow\plugin\turn\chkSubIsOver,创建chkSubIsOver.ini,内容如下:

NAME = 子流程是否全部完成
DESC = 母件转最后下一步时,检查子件是否已全部完成
BEFORE_FRONTEND =BEFORE_FRONTEND.php

第三步:创建触发器文件

      创建 E:\MYOA\webroot\general\workflow\plugin\turn\chkSubIsOver\BEFORE_FRONTEND.php文件,文件内容:

<script>
    jQuery.ajaxSetup({
        type:"POST",
        dataType:"json",
        async:false,
        cache:false
    }); 
    
    function chkSubIsOver_before_callBack_<?php echo $PRCS_KEY_ID;?>(){
        var run_id=jQuery("input[name='run_id']:eq(0)").val();      //获取流水号
        var flow_id=jQuery("input[name='flow_id']:eq(0)").val();    //获取流程ID号
        //获取表单内控件值  如果需要对表单某个数据做较验,可以使用以下部份      
        //var myform=jQuery(window.frames["work_form_data"].document).find("form[name='form1'");
        //var val=myform.find(":input[name='DATA_2']").val();

        //检查子件是否结束
        var chckflag=true;
        jQuery.ajax({
            url:"/userext/index.php?c=workflow&m=chkSubisOver",
            data:{flow_id:flow_id,run_id:run_id},
            success:function(res){
                if (!res){ 
                    alert("获取子件数据失败");
                    chckflag=false;
                }
                if (!res.rescode){
                    alert("该母件的子件还未结束\r子件流水号:\r"+res.resmsg);
                    chckflag=false;
                }
            }
        });
        if (!chckflag){
           return false;
        }
    }
</script>


第四步:设置需要触发器的步骤

    

确定后保存

第五步:验证效果


1.实现OA事务提醒信息直接到RTX系统提醒。 2.RTX点击消息提醒“查看详情”直接打开OA相应界面。 3.集成安装主要在服务器端实施,客户端不需要安装插件、设置OA网站、登陆用户名、密码,基本零设置直接实现集成。 本帖修正本 《OA-RTX事务提醒集成插件(2011测试通过)》的所有问题,通达2013、RTX2012测试完美通过。解决的问题如下: 1. 修正 找不到“RTX事务提醒设置”的问题 2. 修正 错误#1136: Column count doesn't match value count at row 1 SQL语句: INSERT INTO `sys_function` VALUES ('1003', 'z0R2', 'RTX事务提醒设置', 'system/rtx_sms') 问题 3. 修正RTX 的OA面板出现“用户名及密码错误”的问题,很多人到现在都不能解决 一【统一用户名】 1.现将OA部门用户信息在通达oa2013里添加完毕)(用户名等信息等)。 2.通达oa系统管理-组织结构管理-用户管理:选择导出RTX格式。 3.打开腾讯通RTX管理器,导入用户信息(后期增加的用户oa及rtx两边个增加一次确保用户名一致即可)。 二【RTX修改】 1.RTXSERVER安装目录下找到AppConnConfig文件用记事本打开,加入OA服务器IP地址 2.运行RTX管理器,进入"系统工具"-"客户端面板定制",添加新面板,面板对应网址设置为 http://OA域名:端口/ispirit/rtx_sign.php?c5f6vCqiVY43be9LzdBuwiztGdtHrWh6S0P9vYt3Y74edjWrXlArQPCG8lrM3qQ 3.重启RTX所有服务 三【oa修改】 1..通达OA服务器设置:下载安装RTX2012SDK rtxserver2012formal.exe 到OA服务器. 2. OA目录下找到inc\utility_sms1.php,改名为utility_sms1_original.php 3. 下载本帖新的修正附件,解压缩覆盖webroot文件夹 4. 打开OA登陆界面,点击升级。 5. 管理员账号登陆OA,进入“系统设置”-“系统接口设置”,添加一个接口用户,插件默认接口用户设置为rtx/rtx,(可以自己设置) (*重要的一步) 6.重启通达oa通达应用服务控制中心“所有服务 (*重要一步) 7.进入“系统设置”-"RTX事务提醒设置" 设置好RTX服务器IP、 RTX服务器的IP地址等即可 6.重启通达oa通达应用服务控制中心“所有服务
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值