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

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

[已解决] 执行后脚本有误

[复制链接]
国福龙凤 发表于 2012-11-20 17:03:04 | 显示全部楼层 |阅读模式
升级至2.5sp6后,有一段执行后脚本突然出错了,之前都没有发生过这种情况。以下是设置
11.GIF
以下是执行后脚本

#include "actionlib";
updateStatus(["已确认"], "status", ["已确认"]);
var a = getItemValue("status");
if ("已确认".equals(a)) {
        var application = getApplication();
        var process = new Packages.cn.myapps.core.dynaform.document.ejb.DocumentProcessBean(application);
        var sql="select e.* from tlk_tm_budget_expense e left join tlk_calendar c on e.item_startdate between c.item_from and c.item_to where item_region='"+getItemValue("region")+"' "
        +" and c.item_year='FY'+substring('"+getItemValue("year")+"',3,2) and c.item_quarter=substring('"+getItemValue("season")+"',2,1)";
        var datas = queryBySQL(sql);
        for (var iter = datas.iterator(); iter.hasNext();) {
                var expense = iter.next();
                expense.addStringItem("status", "已生效");
                process.doUpdate(expense);
        }
}

出错截图
111.GIF
spiral 发表于 2012-11-20 17:06:54 | 显示全部楼层
您好,请你把完整的sql语句打印出来,检查有没有语法错误同时确保该语句可以在数据库可以正常运行
 楼主| 国福龙凤 发表于 2012-11-20 17:18:49 | 显示全部楼层
回复 2# spiral


    这段脚本在正式区可以运行正常,但是在升级后的测试区无法运行
purple 发表于 2012-11-20 17:52:44 | 显示全部楼层
麻烦在var datas = queryBySQL(sql);添加打印语句,输出sql,并将输出的sql拿到数据库客户端执行,查看是否能正常执行。谢谢。
 楼主| 国福龙凤 发表于 2012-11-20 18:20:21 | 显示全部楼层
回复 4# purple


    您好,sql单独拿出来,在数据库中可以运行出数据
但是加上打印语句打印不出来,后台的日志有报错
5F08D65D1595560345581F9349F83BF6.log (24.79 KB, 下载次数: 1022)
bess 发表于 2012-11-21 09:15:46 | 显示全部楼层
本帖最后由 bess 于 2012-11-21 09:20 编辑

您好.错误信息是您的sql语句有问题.
您可以先这样,您先将您的全部代码复制出来,然后控件的脚本就放两句代码:
var sql="select e.* from tlk_tm_budget_expense e left join tlk_calendar c on e.item_startdate between c.item_from and c.item_to where item_region='"+getItemValue("region")+"'" + " and c.item_year='FY'+substring('"+getItemValue("year")+"',3,2) and c.item_quarter=substring('"+getItemValue("season")+"',2,1)";
println("sql的结果:"+sql);然后通过debug模式去打印这个sql,将打印出来的sql放到数据库客户端看能否正常执行!!!


同时,您给的log中,打印出来的sql语句,与您贴出来的sql完全不同,请您拿仔细检查具体的出错的代码.

谢谢!
 楼主| 国福龙凤 发表于 2012-11-21 10:13:44 | 显示全部楼层
回复 6# bess


    我照您的方法只运行这段sql,然后我直接在日志中查看,再将这段sql在数据库中运行,有结果
11.GIF
13.GIF
bess 发表于 2012-11-21 10:16:29 | 显示全部楼层
您好,该问题,会等您的数据在本地环境还原成功之后,一起测试,有结果会及时联系您的,请您耐心等待,谢谢!
 楼主| 国福龙凤 发表于 2012-11-21 10:23:39 | 显示全部楼层
回复 8# bess


    好的谢谢,按照之前只放这段sql的方法,前台运行是没有报错的。
bess 发表于 2012-11-21 10:25:14 | 显示全部楼层
恩好的,这部分,我们会连着您其他问题一起在您的数据上测试的,请您暂且耐心等待!

本版积分规则

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

GMT+8, 2026-8-12 19:49

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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