注册 | 登录 忘记密码? 51cto首页 | 博客 | 论坛 | 招聘
热点文章 网工人才缺口大 传统网管..
 帮助

如何接管SBO系统的内置业务流程


2008-06-12 12:22:50
 标签: SBO 业务   [推送到技术圈]

版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://foresun.blog.51cto.com/221037/81440
有网友问:怎样在基于SBO UI API开发的Addon中接管系统提供的业务功能页面中的处理方式而改为采用自定义的处理流程?
答:首先,本人并不建议这样去做,毕竟SBO作为一款成熟的财务、业务一体化的Erp软件,在业务处理上有着系统内在的数据和业务一致性约束和规则。
但是在此既然提出,可能就有业务需要,这中业务需要在SBO Addon中是可以办到的。
在SBO UI API中,所有的窗体控件事件都具有一个属性BeforeAction,这个属性为真的时候,表示指定的窗体控件事件在系统处理前需要处理的过程;这个属性为假的时候,表示指定的窗体控件事件在系统处理后需要处理的过程。
那么,SBO针对一个SBO Addon来讲,如果SBO Addon侦听了某个系统业务窗体的某个控件事件,其处理的过程应该是:
BeforeItemEventProcessing:ItemEvent的BeforeAction=true,在此完成系统处理前的业务处理,比如合法性校验、业务缺省赋值等
SystemItemEventProcessing:SBO系统控件处理过程
PostItemEventProcessing:ItemEvent的BeforeAction=false,在此完成系统处理后的业务处理
事实上,在SBO的事件处理机制中,还有一个非常重要的控制变量BubbleEvent,这也是一个布尔型变量。在用户自定义事件处理完成之后,如果设置BubbleEvent为真,那么,SBO就继续按照上述的处理过程进行后续的事件处理,如果设置BubbleEvent为假,SBO就终止后续的事件处理。
这样解决方案就出来了,为了完成接管系统的某个窗体控件的业务接管,首先定义一个BeforeAction=true的系统处理前的事件处理方法,在完成业务处理后,设置BubbleEvent为假就可以了。

本文出自 “富盛软件工作室” 博客,请务必保留此出处http://foresun.blog.51cto.com/221037/81440





    文章评论
 
 

发表评论

昵   称:
验证码:  点击图片可刷新验证码  博客过2级,无需填写验证码
内   容: