联系
我们

工作日 9:00-18:00

13632615190

存储过程子表

存储过程子表在某些情况下也是非常有用的,比如在某张单据中,我们希望显示相关联的信息,而这些信息又不能通过单据引用(单据引用只能引用单个字段,不能引用子表),那么可以通过存储过程子表来继续引用。

image.png

存储过程子表位于开发平台“工具箱\常规控件”下:

image.png

要使用存储过程子表,首先我们必须先准备一个存储过程,如下:

image.png

存储过程名称:sp_GetPolicyItem

参数:只有一个参数@PolicyID

返回字段:必须和存储过程子表控件列设置中的每一列的数据库字段保持一致;


属性说明:

别名:Web上显示的控件标签,比如这里是“统筹种类信息”;

取数类型:SP(其他两个选项涉及到后台插件开发,暂时请忽略);

存储过程:填写存储过程名,这里填sp_GetPolicyItem;

过滤条件:由于我们存储过程是带了参数@PolicyID的,所以需要传入参数,点击属性右侧按钮后弹出如下条件设置窗口,其中字段名必须对应存储过程参数名(不带@,如这里的PolicyID),如果存储过程有多个属性,请填写多行不同的字段名。这里用E6脚本取本单据所引用的PolicyCarCase的__FK_PolicyView_字段,具体脚本参考《脚本》《输入框之间的联动计算》《根据条件隐藏显示》《子表单元格之间的计算》《子表列汇总》

image.png

列设置:点击列设置属性右侧的按钮后,弹出下面的“设置列表字段”窗口,如下图,根据存储过程实际的返回值类型,选择“自定义类类型”后点击“添加”:

image.png

设置新增加的每一列的“列标题”和“数据库字段”,并注意每一列的数据库字段名必须和存储过程的SELECT的字段名称保持一致(如下面选中的“统筹种类”):

image.png

保存发布后,就可以通过存储过程取数并显示在子表中了,如图1所示。