【BOS】--列表加载服务端运行过程原创
金蝶云社区-eris
eris
21人赞赏了该文章 427次浏览 未经作者许可,禁止转载编辑于2022年11月29日 17:38:37

一、说明

列表的加载的过程主要是,对列表页面初始化和加载,对过滤方案页面进行加载和解析,最后进行取数并把数据发回客户端的过程,主要触发点包括点击菜单和选择过滤方案,下推对两种加载过程进行大概描述。

二、点击菜单加载列表的过程

客户端发送第一个指令“列表视图点击事件”

1、触发列表视图点击事件 ListViewClick

2、构建列表打开参数,并发回客户端

客户端发送第二个指令“加载列表页面数据LoadData”

1、大概过程包括,初始化ListView

2、初始化ListModel,加载用户参数 ,初始化实体服务规则,

3、初始化过滤器界面,加载默认过滤方案,初始化组织隔离,构建过滤参数等

4、最后触发列表初始化后事件 ListInitialize,并发回客户端

5、跟加载单据新增页面差不多,只是新增页面没有过滤方案的初始化,参考贴:新增页面服务端加载过程

客户端发送第三个指令,“取列表数据GetEntryData”

1、调用ListView的有权数据接口GetDataByPermission

2、调用ListModel的GetData接口

3、调用DirectSQLDataAccess解析过滤参数,产生sql脚本,得到数据

4、对数据解析格式化处理,触发列表格式化事件FireFormatCellValue

5、触发列表行数据格式化事件 FireFormatRowConditions

6、形成JSON数据包指令

7、触发序时薄获取数据后事件 FireAfterGetData

8、返回数据给客户端指令

三、选择过滤方案加载列表的过程

1、过滤方案点击事件,可以参考 【BOS】--保存菜单服务端运行过程

2、加载过滤方案数据,可以参考  新增页面服务端加载过程

3、选择相应的过滤方案按确定

4、触发按钮点击事件

5、解析过滤参数,取列表数据GetEntryData

四、取列表数据涉及到的插件事件

1、列表格式化事件FireFormatCellValue

2、列表行数据格式化事件 FireFormatRowConditions

3、序时薄获取数据后事件 FireAfterGetData




赞 21