• 查询定义

预处理查询<PRESQL>

 {#addon and/where #} 如果这里指定此内容标识 addon参数和colfilter 都应用在此处。  而不是加载最后的sql中


</PRESQL>

查询语句<SQL></SQL>  

                               <POSTSQL> 固定的sql语句用于清除环境

drop  temporary table if exists tmp_result;

                               </POSTSQL>

可以是任意SQL语句系统除了将其中的参数替换外,不进行任何语法检查,直接交给数据库系统执行。 

 

  • 子数据集

<SUBDS ERI="..EDITDSSUB" CODE="CM" NAME="生产指令报表" TYPE="RELATIVE" ALIAS="DEFAULT">

<RETRIEVEPARAM CODE="scznid" VALUE="scznid"/>

参数定义:code 子数据集的参数名称, 

value 用来在主数据集中计算参数的表达式用查询结果的第一行计算。若主数据集没有结果,则也同样查询,不设置数据行进行查询

</SUBDS>

  • 查询前后的脚本

<DSSCRIPT>

                                       <BEF>

  

通过主题域domain获得参数值,可以转化为正确类型 param 类型为ObjAlias 

 var list = new List();

 list.add(domain.getParamValue(param,'begintime') ); //获得参数值,domain.getParamValue(..) 可以吧‘今日' 转化为 具体的日期(根据参数定义的数据类型转化)

 list.add(domain.getParamValue(param,'endtime'));

 request.db().exeUpdate("  set @qc =?; set @qm = ? ",list); 


script.returnValue = 1; 

       var lstore = result; 

var lr = lstore.addRow();

       lstore.fv(0,'ename',"脚本文件");

 </BEF>

<AFT>

script.returnValue = 1; 

       var lstore = result; 

var lr = lstore.addRow();

       lstore.fv(0,'ename',"脚本文件");

</AFT>

                               </DSSCRIPT>

  • 通过脚本生成结果数据

通过脚本生成可以用于访问外部接口,生成结果数据 以数据集的形式提供给系统参与等主题与使用。 

脚本中的参数变量 :

param : ObjAlias 查询提供的参数的对象

result : ObjDatastore 用于返回结果。 

               <ATTRIBUTE TYPE="DS" PROGID="PPDomainDataSetSvr" >

                       <RETRIEVE TYPE="BASE">

                               <SCRIPT>

       script.returnValue = 1; 

       var lstore = result; 

var lr = lstore.addRow();

       lstore.fv(0,'ename',"脚本文件");

                               </SCRIPT>

                               <PRESQL>

                               </PRESQL>

       ... ... 

                               



 

  • 对象存储定义

<OBJSTORE TYPE="1" COL="objid" VALIDTIME="" THUMBNAIL='false'/>

TYPE   DATA属性中的类型

 ERI’如果数据集查询的对象存储不属于本实体需要指定对应的实体和DATA属性的地址,本实体不需要指定

COL   列名称

THUMBNAIL 默认为"FALSE"  需要缩略图的还是普通的图形

VALIDTIME 有效时间,单位分钟,0或未指定默认为 8小时



  • 从文件中添加字段内容

 *  <OBJBLOB PATHEXP="'c:\srp\'+ecode+'.'+jpg" FIELD="字段内容base64" KEYFIELD='文件名称'/>

将文件内容读取出来放在字段中,进行base64编码,

KEYFIELD 保存文件名

FIELD 保存内容base64字符串

PATHEXP 通过记录计算文件的路径

  • 更新表和主键定义

<UPDATE TABLE="t_xsdd" />

编辑数据后保存到的表,数据集在编辑中使用时,一个数据集只能更新一个表

TABLE :被更新的表

<IDCOLS> xsdid</IDCOLS>

数据集记录的ID,一般是主表的id


  • 列定义

<COLUMNS>

数据集查询后的列定义

<COL DBNAME="t_xsdd.xsdid" DATATYPE="3" ALIGNMENT="1" EXPRESSION="" SIZE="0" PRECISION="0" CODE="xsdid" NAME="xsdid" FORMAT="" MASK="" DEFAULTVALUE=""  INWHERE=’FALSE’ FORMAT=’###.##’/>

DBNAME: 列对应的数据库表和列名称

DATATYPE: 数据类型,3为整数 1为字符串 11为日期,18为decimal

ALIGNMENT:字段中数据显示的对齐方式。0左对齐,1为右对齐,2居中

SIZE :小数位数

PRECISION : 字段的长度

CODE: 列的名称,是SQL中 AS之后或者= 之前的列名称

NAME:列的汉字名称

FORMAT: 数据显示格式

MASK : 数据格式

DEFAULTVALUE: 数据的默认值,在新建记录的时候自动填充这个值。 如果设定为@ 表示在录入的时候去上一次录入的值。 

FORMAT:  对数值有效:    ##,###.00 保留两位小数,不足两位补 0 

##,###.## 保留两位小数,不足两位不补零

</COLUMNS>


  • 参数定义

<PARAMS>定义的内容</PARAMS>


<CONCOLS>ecode~createby </CONCOLS>

可以作为查询条件的列,在查询数据集中,只有出现在其中的列才是可以作为查询条件的,一般ID号等不作为查询条件。 


<PARAM TYPE="INSQL" CODE="xsdid" REQUIRED="TRUE" NAME="实体主键参数" DATATYPE="3" />

参数定义。

TYPE: 有三种类型 INSQL,ADDON和OPTION ,INSQL 是直接写在sql中的参数, 必须定义参数的数据类型,要使用数据集,INSQL的参数是必须提供的;ADDON 是有系统将参数定义中的条件加到SQL标签中的WHERE 后面的条件,ADDON类型的参数在查询数据集由REQUIRED 属性定义是否必须提供;OPTION 是最灵活的参数,可以放在SQL中的任何位置, 其他方面同ADDON类型参数.

CODE ; 参数的名字

REQUIRED :查询数据集的时候是否必须提供此参数。如果为TRUE必须提供参数才能查询数据集。 

NAME : 参数的名字,用于显示查询条件的时候,作为输入参数的标签。 

DATATYPE:参数的数据类型,取值同列。 

举例:

<PARAM CODE="ecode" TYPE="ADDON" REQUIRED="FALSE" NAME="" DATATYPE="1" >

ADDON类型参数定义

    AND ( t_cpcz.ecode = :ecode ) 

如果提供参数,系统将用参数替换此处表达式,然后再将替换后的结果放在SQL查询的Where后面。 

</PARAM>

<PARAM TYPE="OPTION" CODE="_YWY" REQUIRED="FASLE" NAME="业务员" DATATYPE="3">  

OPTION 类型参数定义

 and s_employee.ecode in (:_YWY)

如果提供参数,系统将用参数替换此处表达式,然后再将替换后的结果替换SQL查询中对应的参数。  

</PARAM>



  • Groupby定义

用于多维查询,当用户减少列的显示时,sql group by 随之变化,减少统计列

<GROUPBY>c_zcdn_ecode~zczt~c_cfdd_ecode~ ... ....  </GROUPBY>

Created with the Personal Edition of HelpNDoc: News and information about help authoring tools and software