1.什么是数据源
“数据源”可从模板的数据接口、系统内设的全局数据接口、新建表单、打开表单、导入excel、摄像头扫码、上传文件、询问对话框、本表单明细等获取数据,并将获取到的数据传给后续的操作中使用。返回的数据是一个二维表(结构类似明细表),一行表示一条记录,一列表示一个数据项。
2.作用
①“数据源”的作用是给后续的操作提供数据;
②数据源中有多少条记录,则驱动操作执行多少次。首先会取出二维表中第一条记录,驱动操作的执行一次,在操作中可以访问该条记录参与计算,操作完成后,“数据源”会取下一条记录继续驱动操作执行,以此类推,直至所有数据消耗完。
例如“数据源”有三条记录,则将驱动执行三次操作。
3.参数说明
①过滤条件:填入表达式,对数据源(选中的记录)进行过滤,过滤出符合条件的记录。若满足过滤条件的记录只有一条,则将驱动执行一次,若满足过滤条件的记录由二条,则将驱动执行二次操作....;
②显示对话框:默认不勾选。若不勾选该项,数据源所有过滤后的记录都会被使用;若勾选该项,将用对话框显示选中的记录,只有被选中的明细记录才会被使用。
③可多选:勾选“显示对话框”才可见该项。若勾选该项,在对话框中可以选中多条记录;若不勾选该项,每次只能勾选对话框中的一条记录。
④多选时合成记录为一条:被选中的多条记录会合并成一条记录,结果只返回一条记录。
4.使用方法
数据源-选中的记录,只能在总表中使用,系统默认可获取总表中选中的一条记录,若需要同时获取总表中多条选中的记录时,可使用该功能,且需要配合“多选”(详见
工具栏按钮单击事件-系统内置-多选
)功能一起使用①显示“多选”按钮。在“填表公式”,打开“总表”的填表公式,选中“工具栏按钮单击”事件,单击【添加系统内置按钮】,在对话框中勾选“多选”,则在总表中显示将显示“多选”按钮,单击【多选】按钮后,总表前增加“选择”列,可在总表中选择多个表单。
②在总表事件的公式中数据源选择“选中的记录”。
当数据源设置为“选中的记录”时,还可获取以下5个数据项的值(由于这些数据项是系统内置的,赋值时需要手动输入)
数据源.创建人
数据源.修改人
数据源.创建时间
数据源.修改时间
数据源.sysFromID
5.示例
我们以“客户档案”中批量分配跟进人为例,在“客户档案”总表中,多选客户,单击【分配跟进人】按钮时,弹出“分配跟进人”对话框,选择销售员,单击【分配】后,将所选的客户一次性分配给该销售员。
实现思路:为了能实现功能,在【单击分配跟进人】时,需要将多选的客户信息传递给新建的“分配跟进人”表单,利用辅助数据项“编号文本”保存多个客户编号。在“分配跟进人”界面,单击【分配】状态按钮时,利用业务公式将“销售员”信息回写到对应的客户档案中。
①模板设计样式如下,有2个模板《客户档案》《分配跟进人》
在《分配跟进人》模板中,增加辅助数据项“编号文本”,用于保存多选的客户编号。
②在《客户档案》模板的总表中,显示“多选”按钮,进入《客户档案》模板的设计界面,打开总表的“填表公式”,显示系统内置的“多选”按钮。
③在“客户档案”的总表中,增加“分配跟进人”按钮。在总表的“填表公式”中,选中“工具栏按钮单击”事件,单击【添加按钮】按钮,填写按钮标题“分配跟进人”,设置按钮图片。
④单击【分配跟进人】按钮时,新建“分配跟进人”表单,并把多选的客户信息赋值到“编号文本”。
在“分配跟进人”按钮单击事件下,添加“新建表单”公式。选中“分配跟进人”工具栏按钮,单击【添加公式】,在弹出的“请选择操作”对话框中,选择“新建表单”公式,给公式重命名为“新建表单_分配跟进人”;
设置数据源。需要将多选的记录一起分配,数据源设置为“选中的记录”,为了让多选的记录合成一条记录,勾选“多选时合成记录为一条”,当选中客户编号为 KH-1 、KH-2、KH-3的客户时,数据源.客户编号为 KH-1,KH-2,KH-3 的文本串;
设置操作,在“新建表单”操作中,设置表单模板为“分配跟进人”,新建表单时需要给表单赋值初始值,将 数据源.客户编号 赋值给 “分配跟进人”的“编号文本”。
接下来再完成在“分配跟进人”表单界面,单击【分配】时,将“销售员”信息回写到“客户档案”的功能。
⑤为了方便填写《分配跟进人》的“销售员”数据项设置了填写规范,单击【销售员】时可选择“用户”,进入《分配跟进人》模板的设计界面,单击【数据表管理】,打开“数据定义管理”,找到“销售员”数据项,在它的填写规范上,调用 全局.用户选择 接口,并给相关的数据项赋值。
⑥为了能实现单击【分配】的时候回写,在《分配跟进人》模板中添加“分配”状态数据项
⑦在“分配”状态改变事件下添加“更新客户档案”的业务公式。
⑧设置业务公式“更新客户档案”。
当“分配”状态数据项为“常量.是”时才运行,设置执行条件;
设置子数据源。由于“编号文本”是一串使用 ,分割的文本串,利用“文本列表”可将该文本串,分割成多条记录(详见
数据源-模板数据接口-示例-文本列表
),给数据源设置查询条件,要分配的字符串为“编号文本”,分割符号为 “,”,通过该数据接口分割后成了多条记录,为了让每条记录都读取执行,勾选“多记录”(详见子数据源
),并给变量名重命名为“客户编号”;设置满足条件,当有子数据源时,先判断子数据源查询的结果,当查询结果 <> 常量.空 和“”时,才更新;
更新。对客户档案中 客户档案.客户编号 = 客户编号.文本 的记录更新,将 本表单.销售员 更新给 客户档案.跟进人;