阿米巴报表自定义函数(自定义接口、sql)使用说明
金蝶云社区-王凯亮
王凯亮
6人赞赏了该文章 7172次浏览 未经作者许可,禁止转载编辑于2016年09月19日 15:11:56

一、 自定义Sql取数自定义Sql取数说明:1、 自定义Sql必须符合KSQL语法;2、 多选类型的参数,在Sql中需要使用表变量,(表变量的使用,参考KSQL语法);
自定义SQL取数设置说明:1、 打开自定义函数新增界面,取数来源类型选择“自定义Sql”,弹出“自定义SQL”界面,分别在SELECT、FROM、WHERE 填入相应的字句,点击“解析”按钮(分析当前sql是否符合KSql语法),点击“确定”返回;2、 在取数参数界面设置Sql用到的参数。(如果在参数列表没有找到对应的参数,需要到“取数参数管理”添加参数)
自定义Sql例子:获取应收单某段时间内某些物料的价税合计SELECT SUM(t1.FALLAMOUNTFOR) FROM t_AR_receivable t0 INNER JOIN t_AR_receivableEntry t1 ON (t0.FID = t1.FID ) LEFT JOIN T_BD_DEPARTMENTst013 ON (t0.FSALEDEPTID=st013.FDEPTID) LEFT JOIN T_BD_MATERIAL st11 ON (t1.FMATERIALID=st11.FMATERIALID)WHERE t0.FCANCELSTATUS='A' AND (st013.FNumber>=@BeginDeptNumberAND st013.FNumber<=@EndDeptNumber) AND t0.FDATE>=@StartData AND t0.FDATE<@EndDate AND st11.FNUMBER>=@BeginMateNumberAND st11.FNUMBER<=@EndMateNumber

一、 自定义接口取数自定义取数实现类编写说明:1、自定义接口的类需要继承AbstractCustomServicePlugIn,该类的完整路径是Kingdee.BOS.App.KDSCaculateService.Function.AbstractCustomServicePlugIn;
2、基类AbstractCustomServicePlugIn包含MinArgs(最少参数个数),MaxArgs(最多参数个数)两个抽象属性,必须在取数实现类进行重写并设置取数函数需要的参数个数,如果取数公式传递的参数个数不符合条件直接返回错误;
3、基类AbstractCustomServicePlugIn包含GetFunctionValue(计算公式值)抽象函数,在取数实现类通过该函数实现具体的取数逻辑;
4、基类AbstractCustomServicePlugIn包含SetDefaultValue(设置默认参数),Validate(校验参数有效性)两个虚函数,调用顺序为先“设置默认参数”再“校验参数有效性”。
自定义接口取数设置说明:1、 将写好的DLL文件放到服务器网站的Bin目录下;2、 打开自定义函数新增界面,取数来源类型选择“自定义接口”,弹出“选择自定义取数接口”界面,在DLL文件名输入DLL文件的名称,点击“解析”按钮,选择特定的接口实现类,点击“确定”返回;3、 在取数参数设置该接口需要的参数,(如果在参数列表没有找到对应的参数,需要到“取数参数管理”添加参数)注意参数的顺序要和接口中使用的参数顺序一致,a) 对于选择型的参数“参数类型”决定返回参数的样式单选:只能单选,返回单个编码范围:可以多选,用分号分割最小与最大的编码多选:可以多选,用逗号分割所有选择的编码
自定义接口取数例子:1、自定义接口使用CustomFunc.dll,把该DLL文件放到网站Bin目录,并重启IIS服务;在DLL文件名填写CustomFunc,点击“解析”按钮。


2、汇率函数参数设置如下: