金蝶BOTP脚本转换,对SQL语句的支持

本文介绍了金蝶BOTP脚本如何使用短名称调用SQL函数,强调了SQL语句必须为小写且无空格。内容包括SQL函数的使用场景,性能优化建议,如利用对象线程缓存减少查询重复消耗。同时,提到了宏函数在特定场景下可能不生效的问题及其解决方案。

BOTP脚本中允许通过短名称调用常用函数调用(目前只支持SQL函数);

提供简单易用的sql函数,简化数据库访问。
SQL函数语法
假定,sql是表示SQL语句的变量。

1.#sql_val 从数据库获取一个值(OBJECT);
java.lang.Object value = #sql_value(sql); 

2.#sql_row 从数据库获取一行记录(MAP);
java.util.Map row = #sql_row(sql);
注:以SQL语句中的列名的小写形式作为Map的key,对应列的值作为与key关联的值。

3.#sql_col 从数据库表获取多行记录的某一列值(ARRAY);
java.lang.Object[] array = #sql_list(sql);

4.#sql_list 从数据库表获取结果集(由MAP组成的List);
java.util.ArrayList list = #sql_list(sql);
注:list中的每一个元素是一个java.util.Map对象,Map的内容以SQL语句中的列名的小写形式作为Map的key,对应列的值作为与
该key关联的值。

5.#sql_exec 执行修改/插入/删除SQL(返回影响的行数)。
int updated = #sql_exec(sql);
注意以上sql中,不能包含空格或其他字符,并且 必须使用小写形式(原文档上的注释,测试没发现空格的特殊影响)

需要#sql_val 几乎能实现目前所有业务函数!

1.函数举例:
a.弱类型关联函数
公式结果 = __BOTGetProperty(销售出库单.销售出库单分录.核心单据行ID,"entry.taxRate");
可以替换为:
公式结果 = #sql_val("select ftaxRate from **核心单据分录表名称 where fid ='"+销售出库单.销售出库单分录.核心单据行ID+"'");

2.利用sql的集合函数做一些之前没有实现

内容概要:本文详细介绍了一种基于三电平ANPC-VSG(虚拟同步发电机)构网型逆变器的复合控制策略,聚焦于双闭环控制与中点电位平衡控制的实现,适用于光伏储能系统并网的Simulink仿真模型。该模型为未发表的原创研究成果,涵盖了逆变器在并网过程中的动态响应、稳定性控制以及中点电位的有效调节,旨在提升新能源并网系统的稳定性与电能质量。文中还探讨了多种相关控制技术,如DPWMA调制、正负序分离控制、前馈控制等,充分展现了该系统在复杂电网环境下的适应性与先进性。; 适合人群:面向具备电力电子、新能源并网或自动控制理论基础的科研人员与工程技术人员,特别适合从事光伏储能、虚拟同步机、三电平逆变器等相关课题研究的研究生、高校教师及企业研发工程师。; 使用场景及目标:①用于光伏储能系统并网仿真,验证VSG控制策略在动态响应与稳定性方面的有效性;②研究三电平ANPC逆变器在不平衡工况下的中点电位控制性能;③作为高级电力系统仿真的教学与科研平台,支撑学术论文撰写、项目申报及关键技术攻关。; 阅读建议:建议结合提供的Simulink仿真模型进行实践操作,重点剖析双闭环控制结构的设计原理与中点电位平衡机制的实现细节,同时参考文中提及的DPWMA调制与前馈控制等辅助策略,以拓宽研究视野与技术路径。完整资源可通过指定公众号或网盘链接获取。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值