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

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

[已解决] 计算脚本中无法获取当前文档中的元素值?

[复制链接]
上海怡蓝 发表于 2012-8-1 13:33:35 | 显示全部楼层 |阅读模式
本帖最后由 bess 于 2012-8-1 16:40 编辑

有些元素的值能获取,有些却不能,很是奇怪 。。。。
bess 发表于 2012-8-1 13:38:39 | 显示全部楼层
您好,您这里说的有些能获取,有些不能获取,具体的情况是什么样的呢?或者您是否有写什么特殊操作的代码?
麻烦您详细说明一下您那边具体出现的情况,以便我们这边协助您分析出现问题的原因。
 楼主| 上海怡蓝 发表于 2012-8-1 13:52:14 | 显示全部楼层
form.jpg

表单内容如上 , 收款单位是下拉提示框,选中其中的一项,则其他红色方框中的内容自动显示。 现在 我在页面中加入一项计算脚本,内容如下 :
  1. #include "business";
  2. var statelabel = getStateLabel();
  3. var doc = getCurrentDocument();
  4. var rtn = "";

  5. if(statelabel=="" ||statelabel==null  || "草稿".equals(statelabel)){
  6.     var receiptUnit = doc.getItemValueAsString("receiptUnit");
  7.     var bankOfDeposit = doc.getItemValueAsString("bankOfDeposit");
  8.     var receiptBankCode = doc.getItemValueAsString("receiptBankCode");
  9.     var depositBankAddress = doc.getItemValueAsString("depositBankAddress");
  10. println("页面获取的值:" + receiptUnit  + " --- " + bankOfDeposit  + "---" + receiptBankCode + "---" + depositBankAddress );
  11. }
复制代码
后台打印出来的值就只有第一项有值,其他的后面3项都么有 , 然后我将红色方框中的之前的值脚本去掉 ,输入值的时候也获取不到 ~

PS: 缓存我已清空 ~
purple 发表于 2012-8-1 14:42:59 | 显示全部楼层
您好,正常情况是不会的哦,您的计算脚本是放在您对应的表单页面吗?能否将您的表单页面截图说明一下,或者,您将当前模块模块给我们,以便我们这边本地测试还原重现。
 楼主| 上海怡蓝 发表于 2012-8-1 14:48:28 | 显示全部楼层
表单如下 :
form2.jpg

元素1 选项脚本:
  1. var opts=createOptions( );
  2. var sql = " select item_supplierName,domainId,id from dbo.TLK_SUPPLIER ";
  3. var datas = queryByDSName("SQLServer",sql);

  4. if(datas != null)
  5. {
  6.    for(var iter = datas.iterator( );iter.hasNext( );)
  7.    {
  8.         var item = iter.next( );
  9.         var name = item.get("item_supplierName");
  10.         opts.add(name ,name );
  11.    }
  12. }
  13. opts;
复制代码
元素2 的计算脚本:
  1. #include "business";
  2. var statelabel = getStateLabel();
  3. var doc = getCurrentDocument();
  4. var rtn = "";

  5. if(statelabel=="" ||statelabel==null  || "草稿".equals(statelabel)){
  6.     var receiptUnit = doc.getItemValueAsString("receiptUnit");
  7.     var bankOfDeposit = doc.getItemValueAsString("bankOfDeposit");
  8.     var receiptBankCode = doc.getItemValueAsString("receiptBankCode");
  9.     var depositBankAddress = doc.getItemValueAsString("depositBankAddress");
  10. println("页面获取的值:" + receiptUnit  + " --- " + bankOfDeposit  + "---" + receiptBankCode + "---" + depositBankAddress );
  11.     if( "" != receiptUnit && null!=receiptUnit ){
  12.          rtn = "..."
  13.     }
  14. }
  15. rtn;
复制代码
form2.jpg
irene 发表于 2012-8-1 15:44:43 | 显示全部楼层
您好,从您截图看出您的收款单位是单行文本框,返回的需是字符串,但您返回的却是选项对象,所以您的值出不来
 楼主| 上海怡蓝 发表于 2012-8-1 16:19:24 | 显示全部楼层
不会犯这种低级的错误的 ,问题我找到了 ~   需要勾选文本框的 刷新 复选框 ~
bess 发表于 2012-8-1 16:40:02 | 显示全部楼层

本版积分规则

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

GMT+8, 2026-8-12 16:02

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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