首页 > 代码库 > 2-0SBO学习心得(格式化搜索)
2-0SBO学习心得(格式化搜索)
SBO的大部分业务单据都是主、从表的关系结构,类似于单头和单身的关系。
格式化搜索的原理就是抓取到当前激活页面(单据)里显示的任意值。
抓取方式:
1.针对表头:$[表名.字段名]或者$[$Item.0]
2.针对表身:$[$Item.Column.0/number/currency/date],最常用的还是0和number这个2个参数。
例:在采购订单中,取表身中的物料编号,$[$38.1.0/number]。
38表示表身,14表示第14列,0表示取这个格子里的值。
抓到值以后的用法:
这个值主要还是用于数据库,作为sql的参数。打开工具——查询——查询向导。
在里面写如下语句:
select * from por1 where itemcode= $[$38.1.0/number]
这条语句在传入数据库之前会由SBO系统自动解析为 select * from por1 where itemcode=‘A0001‘(其中假定A0001是物料编号)。
注:格式化搜索必须在上面提到的查询向导中使用,不然无法解析,没法运行。
应用1(应用有很多,一时半会想不到):
自动带出相关信息。如:每件物料都有保修期限字段,当编制采购订单的时候,录入物料编号即可自动带出保修期限。
办法:
(1)编制采购订单时,采购订单画面激活,用格式化搜索抓到输入的物料编号。
(2)在查询向导里编写sql,查找此物料编号对应的保质期。
(3)给保质期文本框加入一个事件:当物料编号文本框值改变时触发(2)里的sql,取回的值绑定到保质期文本框上。
应用2:
减少搜索范围。如:公司有2万条物料,业务人员又不知道要找物料的编号,只大体知道大中小类。
办法:
(1)格式化搜索抓到大类的选项,带出中类,以此类推带出小类。
(2)选好小类以后去数据库找属于这个小类的所有物料,能把范围大幅度缩小。
应用3:
用作审批控制,下篇文章详细说明。