天翎MyApps技术社区 - 低代码平台 | 流程管理系统 | BPM软件

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

关于getCurrentDocument()的严重问题

[复制链接]
jariy 发表于 2011-8-5 17:06:14 | 显示全部楼层 |阅读模式
本帖最后由 shary 于 2011-8-10 10:37 编辑

今天弄了个流程:如下图

在发送的时候我需要检查我当前的表单是否有汇总的数据,如果没有就不让其发送,现在问题来了,主表的数据的ID是11e0-bf3a-fa0fc27b-872a-1f21975b5c0b
可是在后台显示的数据确不一样,如下图
  1. //确定当前汇总表是否有细则,如果没有则不允许创建记录
  2. function isCanSaveData(docid){
  3.         var sql="";
  4.         var curruser=getWebUser();
  5.         var doc = getCurrentDocument();
  6.         $PRINTER.println("====************doc:"+doc);
  7.         $PRINTER.println("====************isCanSaveData docid="+docid+"  doc.getId():"+doc.getId());
  8.         sql+=" SELECT id,'"+curruser.getDomainid()+"' domainid FROM TLK_RS_YEARTRAIN_HZ_DETAIL WHERE  parent='"+docid+"' ";
  9.         var count = countBySQL(sql);
  10.         if(count>0){
  11.                 return true;
  12.         }
  13.         return false;
  14. }
复制代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册成为天翎用户

x
 楼主| jariy 发表于 2011-8-5 17:13:38 | 显示全部楼层
刚才我又执行了一次发送,后台报错,发现问题瞒怪的,每次getCurrentDocument().getId()给的值都不一样,为什么?
  1. MS SQL SERVER: SELECT * FROM DBO.T_ACTORRT WHERE NODERT_ID=? ORDER BY ID
  2. Could not create and/or set value back on to object
  3. java.lang.InstantiationException
  4.         at sun.reflect.InstantiationExceptionConstructorAccessorImpl.newInstance(InstantiationExceptionConstructorAccessorImpl.java:30)
  5.         at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
  6.         at java.lang.Class.newInstance0(Class.java:355)
  7.         at java.lang.Class.newInstance(Class.java:308)
  8.         at com.opensymphony.xwork.ObjectFactory.buildBean(ObjectFactory.java:111)
  9.         at com.opensymphony.xwork.util.InstantiatingNullHandler.createObject(InstantiatingNullHandler.java:123)
  10.         at com.opensymphony.xwork.util.InstantiatingNullHandler.nullPropertyValue(InstantiatingNullHandler.java:104)
  11.         at ognl.ASTProperty.getValueBody(ASTProperty.java:98)
  12.         at ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:170)
  13.         at ognl.SimpleNode.getValue(SimpleNode.java:210)
  14.         at ognl.ASTChain.setValueBody(ASTChain.java:168)
  15.         at ognl.SimpleNode.evaluateSetValueBody(SimpleNode.java:177)
  16.         at ognl.SimpleNode.setValue(SimpleNode.java:246)
  17.         at ognl.Ognl.setValue(Ognl.java:476)
  18.         at com.opensymphony.xwork.util.OgnlUtil.setValue(OgnlUtil.java:184)
  19.         at com.opensymphony.xwork.util.OgnlValueStack.setValue(OgnlValueStack.java:153)
  20.         at com.opensymphony.xwork.util.OgnlValueStack.setValue(OgnlValueStack.java:136)
  21.         at com.opensymphony.xwork.interceptor.ParametersInterceptor.setParameters(ParametersInterceptor.java:136)
  22.         at com.opensymphony.xwork.interceptor.ParametersInterceptor.before(ParametersInterceptor.java:111)
  23.         at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:30)
  24.         at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
  25.         at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
  26.         at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
  27.         at com.opensymphony.webwork.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:171)
  28.         at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
  29.         at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
  30.         at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
  31.         at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
  32.         at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
  33.         at com.opensymphony.xwork.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:151)
  34.         at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
  35.         at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
  36.         at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
  37.         at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
  38.         at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
  39.         at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
  40.         at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
  41.         at com.opensymphony.xwork.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:100)
  42.         at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
  43.         at com.opensymphony.xwork.DefaultActionProxy.execute(DefaultActionProxy.java:113)
  44.         at com.opensymphony.webwork.dispatcher.DispatcherUtils.serviceAction(DispatcherUtils.java:233)
  45.         at com.opensymphony.webwork.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:198)
  46.         at cn.myapps.base.web.filter.OBPMFilterDispatcher.doFilter(OBPMFilterDispatcher.java:43)
  47.         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
  48.         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
  49.         at com.opensymphony.webwork.dispatcher.ActionContextCleanUp.doFilter(ActionContextCleanUp.java:78)
  50.         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
  51.         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
  52.         at cn.myapps.base.web.filter.AjaxMultiLanguageFilter.doFilter(AjaxMultiLanguageFilter.java:42)
  53.         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
  54.         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
  55.         at cn.myapps.base.web.filter.PersistenceFilter.doFilter(PersistenceFilter.java:30)
  56.         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
  57.         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
  58.         at cn.myapps.base.web.filter.SecurityFilter.doFilter(SecurityFilter.java:122)
  59.         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
  60.         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
  61.         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
  62.         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
  63.         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
  64.         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
  65.         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
  66.         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
  67.         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
  68.         at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
  69.         at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
  70.         at java.lang.Thread.run(Thread.java:619)
  71. JsUtil:====--------------doc:Document:<formname>广州交通信息指挥中心办公自动化系统/人事管理/新建公文/中心年度培训计划/rs_yeartrain_plan_declare_hz
  72. <name>createdate<value>Fri Aug 05 00:00:00 CST 2011
  73. <name>content<value>
  74. <name>lead2<value>
  75. <name>username<value>曹文凯
  76. <name>lead1<value>
  77. <name>trainyear<value>2011
  78.   doc.getId:11e0-bf3e-32353499-872a-1f21975b5c0b
  79. JsUtil:====************doc:Document:<formname>广州交通信息指挥中心办公自动化系统/人事管理/新建公文/中心年度培训计划/rs_yeartrain_plan_declare_hz
  80. <name>createdate<value>Fri Aug 05 00:00:00 CST 2011
  81. <name>content<value>
  82. <name>lead2<value>
  83. <name>username<value>曹文凯
  84. <name>lead1<value>
  85. <name>trainyear<value>2011

  86. JsUtil:====************isCanSaveData docid=11e0-bf3e-32353499-872a-1f21975b5c0b  doc.getId():11e0-bf3e-32353499-872a-1f21975b5c0b
复制代码
 楼主| jariy 发表于 2011-8-5 17:16:27 | 显示全部楼层
  1. Could not create and/or set value back on to object
  2. java.lang.InstantiationException
  3.         at sun.reflect.InstantiationExceptionConstructorAccessorImpl.newInstance(InstantiationExceptionConstructorAccessorImpl.java:30)
  4.         at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
  5.         at java.lang.Class.newInstance0(Class.java:355)
  6.         at java.lang.Class.newInstance(Class.java:308)
  7.         at com.opensymphony.xwork.ObjectFactory.buildBean(ObjectFactory.java:111)
  8.         at com.opensymphony.xwork.util.InstantiatingNullHandler.createObject(InstantiatingNullHandler.java:123)
  9.         at com.opensymphony.xwork.util.InstantiatingNullHandler.nullPropertyValue(InstantiatingNullHandler.java:104)
  10.         at ognl.ASTProperty.getValueBody(ASTProperty.java:98)
  11.         at ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:170)
  12.         at ognl.SimpleNode.getValue(SimpleNode.java:210)
  13.         at ognl.ASTChain.setValueBody(ASTChain.java:168)
  14.         at ognl.SimpleNode.evaluateSetValueBody(SimpleNode.java:177)
  15.         at ognl.SimpleNode.setValue(SimpleNode.java:246)
  16.         at ognl.Ognl.setValue(Ognl.java:476)
  17.         at com.opensymphony.xwork.util.OgnlUtil.setValue(OgnlUtil.java:184)
  18.         at com.opensymphony.xwork.util.OgnlValueStack.setValue(OgnlValueStack.java:153)
  19.         at com.opensymphony.xwork.util.OgnlValueStack.setValue(OgnlValueStack.java:136)
  20.         at com.opensymphony.xwork.interceptor.ParametersInterceptor.setParameters(ParametersInterceptor.java:136)
  21.         at com.opensymphony.xwork.interceptor.ParametersInterceptor.before(ParametersInterceptor.java:111)
  22.         at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:30)
  23.         at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
  24.         at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
  25.         at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
  26.         at com.opensymphony.webwork.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:171)
  27.         at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
  28.         at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
  29.         at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
  30.         at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
  31.         at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
  32.         at com.opensymphony.xwork.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:151)
  33.         at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
  34.         at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
  35.         at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
  36.         at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
  37.         at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
  38.         at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
  39.         at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
  40.         at com.opensymphony.xwork.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:100)
  41.         at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:189)
  42.         at com.opensymphony.xwork.DefaultActionProxy.execute(DefaultActionProxy.java:113)
  43.         at com.opensymphony.webwork.dispatcher.DispatcherUtils.serviceAction(DispatcherUtils.java:233)
  44.         at com.opensymphony.webwork.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:198)
  45.         at cn.myapps.base.web.filter.OBPMFilterDispatcher.doFilter(OBPMFilterDispatcher.java:43)
  46.         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
  47.         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
  48.         at com.opensymphony.webwork.dispatcher.ActionContextCleanUp.doFilter(ActionContextCleanUp.java:78)
  49.         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
  50.         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
  51.         at cn.myapps.base.web.filter.AjaxMultiLanguageFilter.doFilter(AjaxMultiLanguageFilter.java:42)
  52.         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
  53.         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
  54.         at cn.myapps.base.web.filter.PersistenceFilter.doFilter(PersistenceFilter.java:30)
  55.         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
  56.         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
  57.         at cn.myapps.base.web.filter.SecurityFilter.doFilter(SecurityFilter.java:122)
  58.         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
  59.         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
  60.         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
  61.         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
  62.         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
  63.         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
  64.         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
  65.         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
  66.         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
  67.         at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
  68.         at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
  69.         at java.lang.Thread.run(Thread.java:619)
  70. JsUtil:====************isCanSaveData docid=11e0-bf43-8e3de559-872a-1f21975b5c0b  doc.getId():11e0-bf43-8e3de559-872a-1f21975b5c0b
复制代码
matt_ 发表于 2011-8-5 17:23:37 | 显示全部楼层
您去数据库中用sql语句分别用document的那两个id查询记录,看下那两个id的记录分别是什么?
 楼主| jariy 发表于 2011-8-5 17:30:12 | 显示全部楼层
数据库里的没错,主表的数据和视图对应的表单的数据都对,

现在的问题是我用你们提供的getCurrentDocument().getId()获得的ID不对,而且每次获得的id的值还不一样,而且后台也报错了,
根据后台错误提示原因可能是因为在表单提交的时候,action并没有创建表单对应的实例。
在写表单对应的类时,写了一个带有参数的构造方法,而在action中只是定义了这个类,没有实现。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册成为天翎用户

x
 楼主| jariy 发表于 2011-8-5 17:32:46 | 显示全部楼层


而且我查看页面生成出来的源文件看到的id也是11e0-bf3a-fa0fc27b-872a-1f21975b5c0b,就不明白getCurrentDocument().getId()给我的值它是从哪里来的?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册成为天翎用户

x
 楼主| jariy 发表于 2011-8-5 17:34:09 | 显示全部楼层
还有我申明一点我的这个主表单只有一条数据,为了测试方便我就弄了一条数据
shary 发表于 2011-8-5 17:42:30 | 显示全部楼层
您好。对应同个表单的每条记录它的ID值肯定是唯一的而且肯定不会变的。除非你去手动改动。你可以拿那两个Id 对应去客户端查一下那个对应有记录。是ID字段。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册成为天翎用户

x
 楼主| jariy 发表于 2011-8-5 17:50:33 | 显示全部楼层
我知道你的意思,我很明确的告诉你了,我的主表有一条数据,子表有2条数据,这个我都在上面的图贴出来了,这个无论是在后台数据库还是在前台表单我都清清楚楚的贴出来了,数据是没问题的,问题就是你们的getCurrentDocument().getId()给我的主表ID不对,而且每次发送的值还给的不一样,一来一回20分钟又过去了,6点钟你们要下班了吧,看来这问题又得拖到下周不知星期几了,唉。。。
purple 发表于 2011-8-5 18:11:57 | 显示全部楼层
,我们也不想的,只是今天真的忙不过来,对于您说的问题,我们需要自己进行测试之类的。如果方便的话,我帮您远程看看吧。QQ:568601086

本版积分规则

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

GMT+8, 2026-8-12 14:27

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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