找回密码
 注册成为天翎用户
查看: 2660|回复: 6

[其他] 批量保存文档并提交流程出错

[复制链接]
大麦 发表于 2016-5-3 14:38:33 | 显示全部楼层 |阅读模式
本帖最后由 wander 于 2016-12-15 11:27 编辑

脚本放在流程执行脚本里面,执行时提示
org.mozilla.javascript.WrappedException: Wrapped cn.myapps.base.OBPMValidateException: (11e5-b2b4-abc26877-bd17-5f10b5a4091b-1451892324278-1461894774101)..Action#75)
at org.mozilla.javascript.Context.throwAsScriptRuntimeEx(Unknown Source)
at org.mozilla.javascript.MemberBox.invoke(Unknown Source)
at org.mozilla.javascript.NativeJavaMethod.call(Unknown Source)
at org.mozilla.javascript.optimizer.OptRuntime.callN(Unknown Source)
at org.mozilla.javascript.gen.c1058._c1(RELATION(11e5-b2b4-abc26877-bd17-5f10b5a4091b-1451892324278-1461894774101)..Action:75)
at org.mozilla.javascript.gen.c1058.call(RELATION(11e5-b2b4-abc26877-bd17-5f10b5a4091b-1451892324278-1461894774101)..Action)
at org.mozilla.javascript.optimizer.OptRuntime.call0(Unknown Source)
at org.mozilla.javascript.gen.c1058._c0(RELATION(11e5-b2b4-abc26877-bd17-5f10b5a4091b-1451892324278-1461894774101)..Action:4)
at org.mozilla.javascript.gen.c1058.call(RELATION(11e5-b2b4-abc26877-bd17-5f10b5a4091b-1451892324278-1461894774101)..Action)
at org.mozilla.javascript.ContextFactory.doTopCall(Unknown Source)
at org.mozilla.javascript.ScriptRuntime.doTopCall(Unknown Source)
at org.mozilla.javascript.gen.c1058.call(RELATION(11e5-b2b4-abc26877-bd17-5f10b5a4091b-1451892324278-1461894774101)..Action)
at org.mozilla.javascript.gen.c1058.exec(RELATION(11e5-b2b4-abc26877-bd17-5f10b5a4091b-1451892324278-1461894774101)..Action)
at cn.myapps.core.macro.runner.JavaScriptRunner.run(JavaScriptRunner.java:135)
at cn.myapps.core.workflow.element.FlowDiagram.runAction(FlowDiagram.java:1290)
at cn.myapps.core.workflow.engine.StateMachine.flowTo(StateMachine.java:543)
at cn.myapps.core.workflow.engine.StateMachine.toNext(StateMachine.java:412)
at cn.myapps.core.workflow.engine.StateMachine.manual2Next(StateMachine.java:363)
at cn.myapps.core.workflow.engine.StateMachine.doFlow(StateMachine.java:158)
at cn.myapps.core.workflow.storage.runtime.ejb.FlowStateRTProcessBean.doApprove(FlowStateRTProcessBean.java:301)
at cn.myapps.core.workflow.storage.runtime.ejb.FlowStateRTProcessBean.doApprove(FlowStateRTProcessBean.java:209)
at cn.myapps.core.dynaform.document.ejb.DocumentProcessBean.doFlow(DocumentProcessBean.java:321)
at cn.myapps.core.dynaform.activity.ejb.type.WorkFlowProcess.doExecute(WorkFlowProcess.java:112)
at cn.myapps.core.dynaform.activity.ejb.Activity.execute(Activity.java:1268)
at cn.myapps.core.dynaform.activity.action.ActivityAction.doExecute(ActivityAction.java:223)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:450)
at com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:289)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:252)
at org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:256)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
at com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:167)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
at com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:265)
at org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
at com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:138)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:239)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:239)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
at com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:191)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
at org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:73)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
at org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:91)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
at org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:252)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
at com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:100)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
at com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:141)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
at com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:145)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
at com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:171)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
at com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:161)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
at org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
at com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:193)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
at com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:189)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
at org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:54)
at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:563)
at org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:99)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
at cn.myapps.base.web.filter.PersistenceFilter.doFilter(PersistenceFilter.java:34)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
at cn.myapps.base.web.filter.SecurityFilter.doFilter(SecurityFilter.java:133)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
at org.jasig.cas.client.util.AssertionThreadLocalFilter.doFilter(AssertionThreadLocalFilter.java:54)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)


 楼主| 大麦 发表于 2016-5-3 14:40:09 | 显示全部楼层
流程执行脚本
(function() {
    var domainid = getDomainid();
    var process = getDocumentProcess();
    var curr_doc = getCurrentDocument();
    var sub_form = get_FromId("t_performance_allocation_sub_form");
    var a_id = curr_doc.getItemValueAsString("a_id");
    if (a_id != null && a_id.length() > 0) {
        var agreement = findDocument(a_id);
        var contract = findDocument(agreement.getItemValueAsString("contract_id"));
        var sql = "SELECT * from tlk_t_test WHERE ITEM_A_ID = '" + a_id + "'";
        var datas = queryBySQL(sql);
        var denominator = 1;
        var nick = curr_doc.getItemValueAsString("nick");
        var a_id = curr_doc.getItemValueAsString("a_id");
        var contract_id = curr_doc.getItemValueAsString("contract_id");
        var record_time = curr_doc.getItemValueAsString("record_time");
        var original_performance = curr_doc.getItemValueAsDouble("performance");
        var user = getWebUser();
        var subform = getFormProcess().doView("11e5-c4d9-6a222cbe-b6e5-dbda0a64ee45");
        var flowid = "11e5-b2b4-abc26877-bd17-5f10b5a4091b";
        var flowoption = "80";
        var index = 0;
        for (var it = datas.iterator(); datas != null && it.hasNext();) {
            index = index + 1;
            var data = it.next();
            var to_user = getUserById(data.getItemValueAsString("uid"));
            var user_coefficient = data.getItemValueAsDouble("role_coefficient");
            var doc = process.doNew(subform, user, createParamsTable());
            var sub_performance = sub_performance = (original_performance * user_coefficient / denominator).toFixed(2);;
            doc.setParent(curr_doc);
            doc.addStringItem("A_ID", a_id);
            process.doCreate(doc);
            var new_doc = findDocument(doc.getId());
            var webUser = Packages.cn.myapps.core.user.action.WebUser(to_user);
            startDocFlow(new_doc, flowid, webUser);
            var params = createParamsTable();
            params.setParameter("_flowid", flowid);
            var currnodeid = new Packages.cn.myapps.core.workflow.engine.StateMachine().getCurrUserNodeRT(new_doc, webUser).getNodeid();
            var flowoption = "80";
            var nextnodeid = new Array();
            nextnodeid[0] = "1451892357955";
            process.doFlow(new_doc, params, currnodeid, nextnodeid, flowoption, "业绩拆分", webUser);
        }
    }
})();
回复

使用道具 举报

 楼主| 大麦 发表于 2016-5-3 14:47:19 | 显示全部楼层
出问题的是下面这句
process.doFlow(new_doc, params, currnodeid, nextnodeid, flowoption, "业绩拆分", webUser);

请问是什么原因或者是什么情况下,会提示这个错误的?
回复

使用道具 举报

 楼主| 大麦 发表于 2016-5-3 14:50:39 | 显示全部楼层
这个保存并提交流程的脚本之前一直在用,作用是在列表视图里获取文档并创建新文档然后提交流程,一直顺利运行,今天用在新功能里面,放在流程执行脚本里,在保存文档时创建其他文档并提交流程,然后就报错了
回复

使用道具 举报

karrman 发表于 2016-5-3 18:33:39 | 显示全部楼层
  //从报错脚本,是由于这样报错,请将如下脚本拆分一下,打印调式
//  var currnodeid = new Packages.cn.myapps.core.workflow.engine.StateMachine().getCurrUserNodeRT(new_doc, webUser).getNodeid();
    var StateMachine = new Packages.cn.myapps.core.workflow.engine.StateMachine();
        var nodevo=StateMachine.getCurrUserNodeRT(new_doc, webUser);
        if(nodevo!=null&&nodevo!=""){
        var currnodeid=nodevo.getNodeid();
        println("nodevo============"+currnodeid);
        }
回复

使用道具 举报

 楼主| 大麦 发表于 2016-5-3 18:37:33 | 显示全部楼层
打印结果
JsUtil:StateMachine--------cn.myapps.core.workflow.engine.StateMachine@5a9801eb
JsUtil:nodevo--------cn.myapps.core.workflow.storage.runtime.ejb.NodeRT@b90e104
JsUtil:currnodeid--------1451892324278
org.mozilla.javascript.WrappedException: Wrapped cn.myapps.base.OBPMValidateException: (11e5-b2b4-abc26877-bd17-5f10b5a4091b-1451892324278-1461894774101)..Action#89)
at org.mozilla.javascript.Context.throwAsScriptRuntimeEx(Unknown Source)
at org.mozilla.javascript.MemberBox.invoke(Unknown Source)
回复

使用道具 举报

myApps 发表于 2016-5-5 17:49:18 | 显示全部楼层
process.doFlow(new_doc, params, currnodeid, nextnodeid, flowoption, "业绩拆分", webUser);  换一个webUser试一下吧,不确定是不是权限有问题。
回复

使用道具 举报

本版积分规则

手机版|天翎MyApps技术社区 ( 粤ICP备11093750号 )

GMT+8, 2026-8-14 02:25

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表