9. 数据接口过滤已选项

数据接口过滤掉已选项,只显示未选项,not 形如的使用方法

“形如”在查询或者数据接口中使用,可实现模糊查询的效果,而“not 形如” 即不包含,不像。
我们以“采购订单”为例,采购商品时,先选择部分商品,再次选择商品时,已选择的商品不显示在“可选商品列表”中,如何实现呢?
实现思路
★添加辅助数据项,将已选商品的关键信息存储起来;
★选择时,通过数据接口的“not 形如”过滤掉已选择的商品。
①添加辅助数据“文本串”,存储已选信息,“商品”中“商品编号”是主键,存储“商品编号”的文本串;
“文本串”数据项是 文本类型;
当“商品编号”填入值时,将明细中“已有商品的编号”连成一串文本写入“文本串”。事件为“商品编号”的值变化事件,当“商品编号”的值发生变化时,给“文本串”赋值,需要将明细中所有的商品都读取一遍,数据源使用“明细”(关于数据源的应用可参见数据源-明细),并勾选“多选时合成记录为一条”,则多个商品的以“,”连接,比如数据源.商品编号的值将为“001,002,003....”,把数据源的值赋值给“目标数据项”;
②改造已有的数据接口“可用商品列表”,通过“not 形如”过滤掉已选择的商品,数据接口中可通过形如实现模糊查询,not 形如 即不相像;
在数据接口中添加参数“文本串”,过滤条件为 当商品可用 并且   “商品编号”跟“文本串”内容不相像时,可写成下图的样式,或者  自定义参数.文本串  not  形如  本模板.商品编号 ,当 not 在括号前时,代表 除去整个括号中的
③在“采购订单”中调用该数据接口,单击【商品编号】时,弹出“可用商品列表”以供选择,在“商品编号”的填写规范上调用该接口。
进入《采购订单》模板的设计界面,打开“数据表管理”,选择“明细”-“商品编号”,调用“商品信息.可用商品列表(文本串)”,给参数“文本串”传值,并设置好“数据项赋值”及多选;
④应用效果。进入“采购订单”界面,填写“商品明细”,已选商品的编号显示在“文本串”中,再次选择商品时,“可用商品列表”中已过滤掉所选的商品。针对辅助数据项可去掉它在“数据表管理”中的位置或者将行高设置为0,使其在界面上不显示。
补充
当商品编号相近时,比如01 和011 此时就会出现全部过滤掉的问题,为了解决这个问题,可添加多个参数,以达到准确筛选的效果
在模板中增加更多的辅助数据项,比如按照商品编号和商品名称来判断,增加“名称串”数据项;
在数据接口中,增加参数“名称串”,并修改过滤条件;
最后在“采购订单”模板的填写规范中调用;
2022-10-17
50 41