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

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

运行函数库报错

[复制链接]
jariy 发表于 2011-5-19 09:57:35 | 显示全部楼层 |阅读模式
本帖最后由 shary 于 2011-5-31 13:24 编辑

下面是错误日志:
java.lang.Exception: JavaScriptRunning:[Form.rs_c_monthsingle.Field(11e0-8077-5b
25012f-a55c-e55e3996d2a3).11e0-8077-5b25012f-a55c-e55e3996d2a3.toHtmlText]: unte
rminated comment (rsbusinesslib#63)

通过计算脚本调用函数库报错,这些代码我检测过如果单独放在下拉框的选项脚本里可以正常运行,可是为什么放入函数库里就报错?
下面是计算脚本里的代码:

  1. var msql="SELECT trmc.ID,trmc.id as item_id,trmc.ITEM_RS_MEETING_CMEETING_NAME as item_name,trmc.ITEM_RS_MEETING_CMEETING_REMARK as item_remark,'"+getWebUser().getDomainid()+"' domainid,trmc.FORMID FROM TLK_RS_MEETING_CMEETING trmc ";
  2. var dsql=" SELECT trmm.ITEM_RS_MONTH_MAJORPROJECTS_NAME AS mname,trmd.ITEM_RS_MONTH_DETAILS_DETAILNAME AS dname,'"+getWebUser().getDomainid()+"' domainid,trmd.FORMID FROM gzjwoa.dbo.TLK_RS_MONTH_MAJORPROJECTS trmm left join gzjwoa.dbo.TLK_RS_MONTH_DETAILS trmd ON trmm.ID=trmd.ITEM_RS_MONTH_DETAILS_MAJORNAME WHERE trmm.ITEM_RS_MONTH_MAJORPROJECTS_ISACTIVE='Y' AND
  3. trmd.ITEM_RS_MONTH_DETAILS_ISACTIVE='Y'";
  4. #include "rsbusinesslib";
  5. getMonthSingleString(msql,dsql);
复制代码

  1. function getMonthSingleString(msql,dsql){
  2. var value="";
  3. getDispMapValue(msql,dsql); //这里仅仅是用来测试读取数据库的值,虽然我把这句屏蔽掉,好像还是报一样的错,为什么?这个函数我不用也会报错?我现在想知道怎么解决这个问题,不管是屏蔽还是不屏蔽我都希望能正确运行出效果。
  4. return value;
  5. }
  6. /*获得将要显示行的值的map
  7. function getDispMapValue(msql,dsql){
  8. var sql1=msql;
  9. var sql2=dsql;
  10. var map = createObject("java.util.HashMap");

  11. var mquery=queryBySQL(sql1);把下面/** xxx*/里的代码删除掉也没用,运行到这里就直接报上面的错。
  12. /**
  13.   if(mquery!=null){
  14.                 var dquery=queryBySQL(sql2);
  15.                 if(dquery!=null && dquery.size()>0){                       
  16.                         var mindex=1;
  17.                         var dindex=1;
  18.                         for (var it1= mquery.iterator(); it1.hasNext();) {
  19.                                 var mdoc = it1.next();
  20.                                 var mname=mdoc.getItemValueAsString("mname");               
  21.                                 var details = createObject("java.util.ArrayList");               
  22.                                 for (var it2 = dquery.iterator(); it2.hasNext();) {
  23.                                         var ddoc=it2.next();
  24.                                         var dname=ddoc.getItemValueAsString("mname");
  25.                                         if(mname!=null && mname==dname){
  26.                                                 details.add(dname);
  27.                                         }
  28.                                         dindex++;
  29.                                 }
  30.                                 if(details.size()>0){
  31.                                         map.put(mname,details);
  32.                                 }
  33.                                 mindex++;
  34.                         }
  35.                 }
  36.         }**/
  37.         return map;
  38. }
复制代码
 楼主| jariy 发表于 2011-5-19 10:29:39 | 显示全部楼层
unterminated comment 这个是指没有终止符号?
是否是说要在sql后面加";"?这2个sql我在数据库里测试过都能查询出数据;
 楼主| jariy 发表于 2011-5-19 10:31:24 | 显示全部楼层
不太明白你所指的终止符号应该是什么?
 楼主| jariy 发表于 2011-5-19 10:33:28 | 显示全部楼层
并且我想问下在计算脚本里调用的函数库里的sql也要调用domainid这些值吗?我有看过你们提供的示例软件里的函数库是直接写sql的,不需要获取domainid这些值的
 楼主| jariy 发表于 2011-5-19 11:41:07 | 显示全部楼层

  1. /*获得将要显示行的值的map*/
  2. function getDispMapValue(msql,dsql){
  3. var sql1=msql;
  4. var sql2=dsql;
  5. var map = createObject("java.util.HashMap");

  6. var mquery=queryBySQL(sql1);
  7.   if(mquery!=null){
  8.                 var dquery=queryBySQL(sql2);
  9.                 if(dquery!=null && dquery.size()>0){                       
  10.                         var mindex=1;
  11.                         var dindex=1;
  12.                         for (var it1= mquery.iterator(); it1.hasNext();) {
  13.                                 var mdoc = it1.next();
  14.                                
  15.                                 //var mname=mdoc.getItemValueAsString("item_mname");
  16.                                 [color=Red]var mname=mdoc.getItemValueAsString("mname");[/color]       
  17.                                 //$PRINTER.println("*****item_mname="+item_mname);
  18.                                 [color=Red]$PRINTER.println("*****mname="+mname);[/color]       
  19.                                 var details = createObject("java.util.ArrayList");               
  20.                                 for (var it2 = dquery.iterator(); it2.hasNext();) {
  21.                                         var ddoc=it2.next();
  22.                                         var dname=ddoc.getItemValueAsString("mname");
  23.                                         if(mname!=null && mname==dname){
  24.                                                 details.add(dname);
  25.                                         }
  26.                                         dindex++;
  27.                                 }
  28.                                 if(details.size()>0){
  29.                                         map.put(mname,details);
  30.                                 }
  31.                                 mindex++;
  32.                         }
  33.                 }
  34.         }
  35.         return map;
  36. }
复制代码
这个问题应该怎么解决?还是在函数库里的

本帖子中包含更多资源

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

x
 楼主| jariy 发表于 2011-5-19 11:43:41 | 显示全部楼层
明明有值,为什么要说Item mmname's value can't get as String!

var msql="SELECT trmc.ID,trmc.id as item_id,trmc.ITEM_RS_MEETING_CMEETING_NAME as item_name,trmc.ITEM_RS_MEETING_CMEETING_REMARK as item_remark,'"+getWebUser().getDomainid()+"' domainid,trmc.FORMID FROM TLK_RS_MEETING_CMEETING trmc ";
 楼主| jariy 发表于 2011-5-19 11:44:31 | 显示全部楼层
写错了,是下面这个
var msql=" SELECT ITEM_RS_MONTH_MAJORPROJECTS_NAME AS item_mname,'"+getWebUser().getDomainid()+"' domainid,trmm.FORMID FROM TLK_RS_MONTH_MAJORPROJECTS trmm WHERE trmm.ITEM_RS_MONTH_MAJORPROJECTS_ISACTIVE='Y'";
shary 发表于 2011-5-19 15:22:15 | 显示全部楼层
您好,您改一下你的sql语句试一下。var msql=" SELECT ITEM_RS_MONTH_MAJORPROJECTS_NAME AS item_mname,domainid ,FORMID FROM TLK_RS_MONTH_MAJORPROJECTS  WHERE ITEM_RS_MONTH_MAJORPROJECTS_ISACTIVE='Y'";
 楼主| jariy 发表于 2011-5-20 12:34:56 | 显示全部楼层
你说的没啥意义啊
shary 发表于 2011-5-20 13:19:29 | 显示全部楼层
额。。。。你的sql语句写错了。

本版积分规则

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

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

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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