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

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

[已解决] 关于更新文档doupdate报错的问题

[复制链接]
J_gnM22 发表于 2024-10-22 14:55:28 | 显示全部楼层 |阅读模式
本帖最后由 J_gnM22 于 2024-10-22 14:58 编辑

【myApps/OBPM版本号】:v5.X- sp XX
【浏览器类型】:Chrome/其他
【联系方式-QQ】:请留下您的QQ号码
【联系电话】:    请留下您的联系电话,以便技术同事更好解决您的问题
【问题描述】:如题,当我在保存按钮的动作执行前脚本中,使用计数器之后赋值控件,想更新文档内容,再用其他控件获取该赋值控件的值,一直报错,但我不加后面2个语句更新文档的是能显示出来值的。。
beforeActivity(__RjtVdBAzpzWbBL7rj0s).保存.beforeActionScript]: Wrapped java.lang.NullPointerException (__RjtVdBAzpzWbBL7rj0s).保存.beforeActionScript#54)








1、问题描述最好图文并茂,如有视频/脚本可直接放出,这样技术同事在处理该问题时效率更加高效哦~
2、如果该问题已得到解决,请在该帖子下回复\\\\\\\"已解决可结帖\\\\\\\"

本帖子中包含更多资源

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

x
 楼主| J_gnM22 发表于 2024-10-22 14:56:30 | 显示全部楼层
本帖最后由 J_gnM22 于 2024-10-22 15:03 编辑

现在另外一个控件就是获取不到这个setvalue控件更新后的值,还有这个getDocProcess函数弃用现在是用什么函数呢
yaya 发表于 2024-10-22 16:55:05 | 显示全部楼层
J_gnM22 发表于 2024-10-22 14:56
现在另外一个控件就是获取不到这个setvalue控件更新后的值,还有这个getDocProcess函数弃用现在是用什么函 ...

这个方法还是可以用的,只是您在动作执行前更新文档,doc文档还未保存,update肯定会报错的
注释process.doUpdate(doc);这句就可以了。
 楼主| J_gnM22 发表于 2024-10-22 16:58:02 | 显示全部楼层
yaya 发表于 2024-10-22 16:55
这个方法还是可以用的,只是您在动作执行前更新文档,doc文档还未保存,update肯定会报错的
注释process ...

哦哦谢谢,那我想更新文档内容,再用其他控件获取该赋值控件的值怎么做,因为我把这段代码放在动作执行后脚本反而没有值。
yaya 发表于 2024-10-22 17:24:07 | 显示全部楼层
J_gnM22 发表于 2024-10-22 16:58
哦哦谢谢,那我想更新文档内容,再用其他控件获取该赋值控件的值怎么做,因为我把这段代码放在动作执行后 ...

放到动作执行后的话,就要加上process.doUpdate(doc);这句了,不然没更新表单,所以set不进去值。
 楼主| J_gnM22 发表于 2024-10-22 17:35:01 | 显示全部楼层
yaya 发表于 2024-10-22 17:24
放到动作执行后的话,就要加上process.doUpdate(doc);这句了,不然没更新表单,所以set不进去值。


明白了,但我这个还是有问题,在动作执行后脚本当中我写:
  1. (function () {
  2.          var doc=getCurrentDocument();
  3.                  var process = getDocProcess(getApplication());
  4.                  process.doUpdate(doc);
  5.         var order=getItemValueAsString("order_number");
  6.         if(order!=null && order!=""){
  7.             var prefix2=order+"-"+"GL";
  8.             value2=getItemValue("event_number");
  9.             if(value2!=null && value2.trim().length()<=0){
  10.             value=countNext2(prefix2,false,false,false,3);
  11.             }
  12.             getCurrentDocument().findItem("event_number").setValue(value2);
  13.         }

  14. })()
复制代码


另一个控件获取不到更新后的控件值是怎么回事呢,麻烦解答啦!
yaya 发表于 2024-10-23 10:15:15 | 显示全部楼层
J_gnM22 发表于 2024-10-22 17:35
明白了,但我这个还是有问题,在动作执行后脚本当中我写:

另一个控件获取不到event_number的值?
保存之后,表单上event_number有值了吗。
把process.doUpdate(doc);放到最后去试试。
 楼主| J_gnM22 发表于 2024-10-23 13:54:28 | 显示全部楼层
yaya 发表于 2024-10-23 10:15
另一个控件获取不到event_number的值?
保存之后,表单上event_number有值了吗。
把process.doUpdate(d ...

可以了。
已解决可结帖

本版积分规则

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

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

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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