找回密码
 注册成为天翎用户
楼主: i945

[已解决] getItemValueAsString取值问题

[复制链接]
purple 发表于 2012-12-14 14:07:41 | 显示全部楼层
您好,正常情况下,获取页面字段值,然后通过当前文档id,查询数据库对应字段值,两者相比较,通过计算脚本是可以的。麻烦帖出您计算脚本控件关于这部分的脚本,以便我们这边帮您分析问题,谢谢。
 楼主| i945 发表于 2012-12-14 14:50:01 | 显示全部楼层
回复 11# purple
  1. var rtn = "";
  2. var docId = getId();
  3. var isAgree1 = getItemValueAsString("IS_AGREE");
  4. var isAgree2 = findDocument(docId).getItemValueAsString("IS_AGREE");
  5. $PRINTER.println("isAgree1:------>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"+ isAgree1);
  6. $PRINTER.println("isAgree2:------>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"+ isAgree1);
  7. $PRINTER.println("isAgree1 != isAgree2:------>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"+ (isAgree1 != isAgree2));
  8. if (isAgree1 != isAgree2){
  9.         rtn += "<p style='text-align: center'><span style='color:red'>*是否同意状态已修改,请在提交前保存!</span></p>";
  10. }
  11. rtn;
复制代码
  1. var rtn = "";
  2. var docId = getId();
  3. var isAgree1 = getItemValueAsString("IS_AGREE");
  4. var isAgree2 = "";
  5. var sql = "SELECT spc.* FROM tlk_sch_plan_change spc WHERE spc.id = '"+ docId +"'";
  6. var datas = queryBySQL(sql);
  7. if (datas !=null && datas.size()>0){
  8.         for(var iter = datas.iterator();iter.hasNext();){
  9.                 var doc= iter.next();
  10.                 isAgree2 = doc.getItemValueAsString("IS_AGREE");
  11.         }
  12. }
  13. $PRINTER.println("isAgree1:------>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"+ isAgree1);
  14. $PRINTER.println("isAgree2:------>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"+ isAgree1);
  15. $PRINTER.println("isAgree1 != isAgree2:------>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"+ (isAgree1 != isAgree2));
  16. if (isAgree1 != isAgree2){
  17.         rtn = "<p style='text-align: center'><span style='color:red'>*是否同意状态已修改,请在提交前保存!</span></p>";
  18. }
  19. rtn;
复制代码
都不行
purple 发表于 2012-12-14 15:02:42 | 显示全部楼层
请问您isAgree2 = doc.getItemValueAsString("IS_AGREE");打印出来的值是什么?您说不行,具体效果是什么?报错还是页面无效果?另外,您查一个单表数据,不需要用别名的。
 楼主| i945 发表于 2012-12-14 15:25:04 | 显示全部楼层
回复 13# purple


    我用的是单选框,保存一次后在进入表单,每次切换字段值,isAgree1与isAgree2打出的值都是一样的
purple 发表于 2012-12-14 15:35:29 | 显示全部楼层
您好,我的意思是要您确认,isAgree2获取的值,是否为数据记录对应字段的值。方便的话,您加我QQ,我远程帮您看一下。QQ见签名。
 楼主| i945 发表于 2012-12-14 16:09:05 | 显示全部楼层
回复 15# purple


    我明白你的意思,我在表单中新建一个字段,然后用获取的isAgree2的值的方法,作为该字段的值脚本,是能够准确的取到数据库中的值的,
只是在计算脚本中打出的又不一样
shary 发表于 2012-12-14 16:47:17 | 显示全部楼层
回复 16# i945


    您好,看您的脚本如下两句打印语句得到的是同一个字段值。请将
$PRINTER.println("isAgree1:------>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"+ isAgree1);
$PRINTER.println("isAgree2:------>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"+ isAgree1);
改为:
$PRINTER.println("isAgree1:------>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"+ isAgree1);
$PRINTER.println("isAgree2:------>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"+ isAgree2);
麻烦您贴出您尝试之后的打印结果。谢谢
 楼主| i945 发表于 2012-12-14 17:29:30 | 显示全部楼层
回复 17# shary


    不好意思,犯这么到低级的错误,
可能是因为if (isAgree1 != isAgree2)这个判断写的有问题,结果总是不对,所以以为是取值出的错
bess 发表于 2012-12-14 17:55:08 | 显示全部楼层
q上跟客户沟通,该问题已经解决.
客户的代码没有问题,确实是打印语句写错导致的.

本版积分规则

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

GMT+8, 2026-9-26 03:05

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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