金蝶BOS开发指南_BOTP
19、 totalhours() :将LONG值转为等价浮点表示小时数。 参数1:数值类型
20、 totalmilliseconds() :将LONG值转为等价浮点表示毫秒数。 参数1:数值类型 21、 totalminutes() :将LONG值转为等价浮点表示分钟数。 参数1:数值类型 22、 totalseconds() :将LONG值转为等价浮点表示秒数。 参数1:数值类型
23、 dateDiff() : 返回参数1和参数2间相差多少天。 参数1:时间日期字符串 参数2:时间日期字符串 4.1.7
聚合函数
1、 avg() : 返回一组数字的平均值 2、 count() :返回一组数字的个数 3、 max() : 返回一组数字中的最大值 4、 min() : 返回一组数字中的最小值 5、 sum() : 返回一组数字的和 4.1.8
I/O函数
1、 print() ; 打印
2、 println() :分行打印 4.1.9
其它函数
1、 eval() : 估值,举例:eval(\,执行行之后a = 3 2、 newid() :返回bosid 4.1.10 空处理函数
1. ignoreNullString(): 如果字符串的值为null,将以空字符串取代它。 参数1:字符串 2. ignoreNullNumber(): 如果数值的值为null,将以0取代它。 参数1:数值类型
4.2 自定义函数支持
对于某些不能通过直接映射定义的转换逻辑,虽然通过脚本也能实现,但是由于写脚本的方式对于业务用户而言较难接受,所以可以通过将这些转换逻辑封装成自定义公式,业务用户在公式平台使用该公式的方式来简化规则定义。
有关自定义公式的定义,可以参见BaseFormulaFunctions类或者BotpFormulaFunctions类,然后在具体需要使用该自定义公式的目标单据上配置扩展属性billFormulaClass,BOTP引擎在规则定义界面自动将自定义公式的实现类注册到公式平台中。具体约束为:
1. 注册函数应注册在目标单据的billFormulaClass扩展属性上; 2. 注册函数名称以”BOT”开头;
3. 方法声明第一个参数为Context类型(因为在服务端调用),在使用公式平台时直接略过第一个参数; 4. 该类实现IFormulaFunctions接口;
36 / 59
金蝶BOS开发指南_BOTP
扩展属性设置参考:
37 / 59
金蝶BOS开发指南_BOTP
38 / 59
金蝶BOS开发指南_BOTP
5 BOTP上下查
5.1 界面操作
BOS在在单据编辑界面和序时薄界面都可以进行上/下查操作; 序时薄界面:
编辑界面如下:
选择源单并点击“上查”、“下查”功能按钮后, 将进入单据上下查界面; 界面为序时薄形式,点击每一行数据可以进入对应单据的编辑界面;
如果目标单有多种类型,则会按类型分为多个页签,点击页签可以切换到相应类型的单据序时薄;
39 / 59
金蝶BOS开发指南_BOTP
5.2 编程说明
BotpFilter
EAS基类CoreUI中定义了botpFilter属性, 用于记录botp传过来的条件,可以通过getBOTPFilter()方法获取;
对于ListUI, 会调用业务UI的onLoad方法, 将过滤条件botpFilter通过context传过去
界面逻辑入口
BOS框架在基类 CoreBillListUI 和 CoreBillEditUI中提供了以下方法支持上下查操作, 业务代码可以根据需要重载: /**
* 上查 */
public void actionTraceUp_actionPerformed(ActionEvent e) throws Exception{} /**
* 下查 */
public void actionTraceDown_actionPerformed(ActionEvent e) throws Exception{}
LISTUI名称
上下查中会根据单据类型自动打开对应的ListUI和EditUI,其类名会根据目标实体的扩展属性
“listUI”和“editUI”值获得;
40 / 59