富盛Sbo Add-on程序开发框架及开发实例

  一、问题的提出

  Sbo是一套具有非常不错业务架构、并且很好支持了二次开发的企业">信息管理系统--对不起,我还不称之为Erp,因为如果不进行二次开发,Sbo可以支持的业务面还是太窄太小,业务之间约束关系也太简单。是的,我的观点是,如果没有很好的二次开发,Sbo是无法支撑不断发展变化的中国企业的业务需要的。

  那么,进行Sbo二次开发是不是很简单?

  应该说,不太复杂!不过,对于初学者或者刚涉足这一领域的程序开发人员来说,基于COM组建的Sbo SDK同现行的强大的程序开发集成环境相比,还是很不好用。

  为了解决这一问题,我花了一些时间,结合自己对Sbo SDK二次开发和开发语言--C#的理解,编写了一套富盛Sbo Add-on程序开发框架。

  二、富盛Sbo-Addon程序开发框架的构成

  既然称之为程序开发框架,那么就应该能够:程序员在此基础上开发的程序,只需要关心业务实现流程和数据逻辑;对于应用程序如何实现Sbo同Add-on之间集成、以及Sbo同Add-on之间是如何实现消息传递的应该是框架自动管理的;业务界面的创建与事件侦听应该符合当前流行的程序开发概念。

  应该说,富盛Sbo Add-on程序开发框架基本做到了这一点。

  富盛Sbo-Addon程序开发框架包括三部分:

  1、fsSboCommon,完成Sbo Add-on的通用数据和界面接口的开发封装,提供系统级别的功能支持。fsSboCommon被集成到程序开发框架中作为一个全局变量完成Add-on同Sbo之间的数据与消息传递与业务事务实现支撑;

  2、fsSboAppBase,显而易见,这个类是一个用于支撑Sbo Add-on程序的基础类,这个类中集成了fsSboCommon全局实例,并且封装了Add-on框架相对于Sbo主程序的单点登录、事件侦听一体化功能,使二次开发人员只需要10几行的代码,就可以完成对整个程序框架的绘制。

  3、fsSboFormBase,这是一个业务处理界面的实现基类,目前这个类同fsSboCommon一起可以非常简单的实现了界面绘制、控件添加、事件侦听等。这个类的更加广泛的功能还在扩展和优化中。

  基于目前的富盛Sbo Add-on程序框架,已经可以非常简单的就可以完成一个Sbo Add-on程序的开发了,只需要半小时甚至10分钟就可以完成一个简单的2、3个业务界面的Add-on插件程序。

  三、程序开发实例

  现在我们使用富盛Sbo Add-on程序开发框架开发一个三个业务界面的Add-on插件,三个业务界面分别为:物料货品定义、特惠政策录入和二次重叠优惠定义。

  1、首先我们使用富盛Sbo Add-on程序开发框架生成一个主程序,这很简单,直接继承fsSboAppBase类、之后为程序框架定义菜单项和业务功能项就可以了,代码如下:

public class fsCBAMain:fsSboAppBase{frmGsTy
Entry frmGoodsType = null;    frmDiscPolicy frmDiscPolicy = null;    frmDisc2Policy frmDisc2Policy = null;      string[] strMenuIds = { "UM_FSCBA_GSTY", "UM_FSCBA_DISCPOLICY", "UM_FSCBA_DISC2POLICY" };    string[] strMenuNames = { "物料货品定义", "特惠政策维护", "二次优惠维护" };    string[] strFormIds = { "UF_FSCBA_GSTY", "UF_FSCBA_DISCPOLICY", "UF_FSCBA_DISC2POLICY" };    string[] strFormNames = { "物料货品定义", "特惠政策维护", "二次优惠维护" };      public fsCBAMain()    {      fsSbo.AddRootMenu("UM_FSCBA", "成本利润分析");      fsSbo.AddMenuItems("UM_FSCBA", SAPbouiCOM.BoMenuType.mt_STRING, strMenuIds, strMenuNames);           fsAddForm(frmGoodsType = new frmGsTyEntry(fsSbo));      fsAddForm(frmDiscPolicy = new frmDiscPolicy(fsSbo));      fsAddForm(frmDisc2Policy = new frmDisc2Policy(fsSbo));        for (int i = 0; i < strMenuIds.Length; i++)       fsSbo.AddApp
Module(strMenuIds[i], strMenuNames[i], strFormIds[i], strMenuNames[i], fsForms[i]);    }}

  2、分别从fsSboFormBase类中继承三个业务界面类,用以实现物料货品定义(frmGoodsType)、特惠政策定义(frmDiscPolicy)、二次优惠维护(frmDisc2Policy),三个业务界面类分别由以下代码实现:

本文示例代码或素材下载

时间: 2024-08-04 09:06:54

富盛Sbo Add-on程序开发框架及开发实例的相关文章

使用FastReport进行基于富盛SBO程序开发框架的报表开发

富盛SBO程序http://www.aliyun.com/zixun/aggregation/13435.html">开发框架中缺省集成了FastReport作为报表打印的控件,并且可以轻易实现SBO报表查询和打印集成. 富盛SBO程序开发框架支持使用Matrix或者Grid组件作为报表查询结果显示控件,当然,也可以不在SBO中显示查询结果,而直接将报表数据结果显示在FastReport中. 富盛SBO程序开发框架使用Grid组件进行FastReport报表打印.显示集成的基类为fsSbo

基于富盛SBO程序开发框架的自动序列生成器

很多时候,我们期望系统中的某些关键字段可以按照我们期望的条件自动生成,比如,员工代码,商品序列号,商品条形码等.的确,针对个体业务,要实现这种自动生成方法很多,那么是否可以实现可以支持所有业务的序列生成呢? 答案是肯定的.在此我们展示一下基于富盛SBO程序http://www.aliyun.com/zixun/aggregation/13435.html">开发框架的自动序列生成器. 为了便于描述,先让大家看看自动序列生成器的界面. 是的,序列自动生成器必须支持序列组成项目的用户自定义.可

富盛Sbo入库质检验收的实现

在Sbo中的标准http://www.aliyun.com/zixun/aggregation/13476.html">业务流程中,不包括入库之前的物料验收环节,事实上,很多企业是需要这样的业务的. Sbo的入库主要包括三大类:采购入库.销售退货入库和生产入库.采购入库的数据来源主要包括采购订单.采购退货单和采购预留发票:销售退货入库的数据来源主要是交货单:而生产入库的主要数据来源是生产订单.那么,要实现Sbo的入库验收就应该在采购到货入库.销售退货入库和生产到货入库之前加入质检验收环节,

ZK v5.0.6发布 以AJAX/XUL/Java为基础的网页应用程序开发框架

ZK是一套以 AJAX/XUL/Java 为基础的网页应用程序开发框架,用于丰富网页应用程序的使用界面.最大的好处是,在设计AJAX网络应用程序时,轻松简便的操作就像设计桌面程序一样. ZK包含了一个以AJAX为基础.事件驱动(event-driven).高互动性的引擎,同时还提供了丰富多样.可重复使用的XUL与HTML组件,以及以 XML 为基础的使用介面设计语言 ZK User-interfaces Markup Language (ZUML). ZK 提供超过60个XUL组件及80个XHT

9款极佳的JavaScript移动应用程序开发框架

从技术上来看,iOS,Android 和 Windows Phone 上的移动应用是使用不同的程序语言开发的,iOS 应用使用 Objective-C,Android 应用使用 Java,而 Windows Phone 应用使用 .NET. .随着 JavaScript,CSS 和 HTML 知识技能的提升,相信你也可以构建一个超赞的移动应用.在这篇博客里,我们将会介绍一些极好的 JavaScript 移动应用程序开发框架. 说到网络开发,就不得不说 JavaScript,这是一款很有前途的程序

Pyjamas 0.8.1~+alpha1发布 Web应用程序开发框架

Pyjamas 是一个基于Python的Webhttp://www.aliyun.com/zixun/aggregation/13521.html">应用程序开发框架,包含了Python-Javascript编译器,一个AJAX框架和widget API工具集.其姊妹项目是pyjamas-desktop,用于谷歌Web工具包的端口到Python. Pyjamas 0.8.1~+alpha1该版本在标准模块进行了改进和补充.JSONParser更名为JSON和其界面改为符合标准的Python

基于SharpMap扩展程序开发实例

SharpMap是基于.Net平台开发的GIS地图渲染组件.在SharpMap的内部设计了基于OGC 标准的几何模型 构架,设计了IProvider策略模式的多源矢量地图数据适配器接口,地图要素渲染的底层主要通过几何变 换将Geometry转换为.Net支持的几何模型如System.Drawing.Point.System.Drawing.Rectangle. System.Drawing.Drawing2D.GraphicsPath等,然后调用System.Drawing.Graphics类的

程序员软件开发的酸甜苦辣:漫画图赏

话说程序猿穿越时空,悟空与八戒正在戏说程序猿的酸甜苦辣.于是一场华山论剑的精彩好戏陆续拉开了帷幕. 有没有梦想自己也有一天像比尔盖茨一样拿高薪?正所谓站得高,看得远.唐僧从西天取经回来,也终于悟到了怎样才能成为21世纪一名优秀的程序员.于是将这些秘密发扬广大,期望后人能承担重任. 民以食为天,所以第一定律从收入开始. 程序员第一定律可以表述为:程序员的收入是技能复杂度和技能实现可能程度的函数.如果程序员的工资是S,社会平均水平的工资为A,程序员掌握的技能复杂度 为C,实现程度为P.那么S = A

关于java RMI分布式程序开发实例

关于java RMI分布式程序开发实例   作者: javaboy2012 Email:yanek@163.com qq:    1046011462   一. 服务器端     接口定义:注意必须继承Remote接口 package com.yanek.rmi.server; import java.rmi.Remote; import java.rmi.RemoteException; import java.util.List; public interface ChannelManage