有论坛朋友学习Sbo Add-on开发,在Sbo 2004 SDK中文版上看到了一个例子,主要用于实现通过新增员工薪水计税数据表,完成对单位职工的薪水发放与个人所得税的计算。在学习过程中希望我对此实例调试进行一些帮助

这只是一个Add-on实例,代码并不多,实现的功能也有限。用业余时间帮助朋友完成了这个示例的调测,所有功能调试完成。现在对此予以说明,并上载此实例供Sbo SDK开发初学者在学习中参考。
一、数据结构
为了支持员工薪水计税功能,需要新增两个数据表,分别为:
1、职员薪水表:@CESS
  • docNum  单据号码 文本(20)
  • docDate  过帐日期 日期
  • EmpID  员工帐号 文本(15)
  • docTotal 薪水合计 单位与统计 金额
  • docTax  个人所得税 单位与统计 金额
2、职员薪水行:@CEST
  • docNum  单据号码 文本(20)
  • LineNum  行号  数值
  • Type  类型  文本(10)
  • Amount  金额  单位与统计 金额
  • Reference 备注  文本(250)
二、创建自定义用户表,修改Code字段长度
通过数据库表看似象一个自定义用户单据对象,但是由于实例中没有使用自定义对象来处理,所以就在创建自定义数据表时我们就只使用了无类型的自定义数据表方式。
在Sbo中,自定义无类型数据表建立之后,Sbo自动在此表中增加了两个字段:Code 文本(8)和Name 文本(30),并且将Code作为自定义数据表的主键。
鉴于本例的需要,Code的长度以当前的时间为种子产生,至少应该为10位,所以为了保障程序的正常运行,需要将Code的字段长度更改为 文本(15)。
三、实例代码分析
本例实现的功能很有限,所以结构相应比较简单,主要包括三部分:
1、Sbo同Add-on插件程序的统一认证:这是开发Sbo Add-on插件程序必须的,否则无法实现Sbo主程序同插件程序的集成。实现这一功能主要通过三个函数和过程来实现:
  • SetApplication:获得当前正在运行的Sbo主程序
  • SetConnectionContext:设置发生业务数据的环境
  • ConnectToCompany:建立Add-on插件到Sbo现行主程序公司数据库的连接
2、绘制Add-on插件业务处理界面,新建进入薪水计税功能的菜单入口,并对菜单进行侦听。这一功能主要通过一些函数和过程来实现。
  • AddSalaryFormToMenu:新增业务处理入口菜单
  • CreateForm:绘制业务处理界面
  • SBO_Application_MenuEvent:侦听Sbo主程序通过入口菜单进入到业务处理界面
3、业务信息录入处理,录入信息保存入库。这一功能主要通过一些函数和过程来实现。
  • SBO_Application_ItemEvent:业务信息录入处理事件侦听
  • cboEmpid_Select:单位职工选择
  • CalculateTotal:薪水信息行录入过程中的薪水自动汇总
  • CalculateTax:薪水信息行录入过程中的自动计税
  • ValidToSaveSalary:点击保存按钮之后对录入信息的合法性校验
  • SaveSalary:保存录入信息到数据库
四、结论
  • 本实例基本实现了一个简单Sbo Add-on插件的业务功能,包含了Add-on插件开发的基本框架,是Sbo Add-on插件开发初学者的理想学习材料。
  • 但是实例中没有异常处理,可能对经验不足编程人员的编程习惯造成不利的影响。
五、测试环境
  • VS VB.Net 2005 + MS SQL Server 2000 with SP4 + Win 2003 with SP2
Sbo Add-on插件实例下载

转载于:https://blog.51cto.com/foresun/41989

基于Sbo SDK的Add-on插件开发实例相关推荐

  1. SpringBoot整合mybatis、shiro、redis实现基于数据库的细粒度动态权限管理系统实例(转)...

    SpringBoot整合mybatis.shiro.redis实现基于数据库的细粒度动态权限管理系统实例 shiro 目录(?)[+] 前言 表结构 maven配置 配置Druid 配置mybatis ...

  2. java订单类_基于Java创建一个订单类代码实例

    这篇文章主要介绍了基于Java创建一个订单类代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 需求描述 定义一个类,描述订单信息 订单id 订 ...

  3. 基于 Agora SDK 实现 macOS 端的一对一视频通话

    本文介绍基于 Agora SDK 在 macOS 端实现一对一视频通话. 前提条件 Xcode 9.0 或以上版本 支持 macOS 10.10 或以上版本的 macOS 设备 有效的 Agora 账 ...

  4. python开发语音录入_基于python实现语音录入识别代码实例

    这篇文章主要介绍了如何通过python实现语音录入识别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 一.介绍 1.第一步录音存入本地 2.调用百度 ...

  5. android phonegap 框架,基于Android SDK安装PhoneGap框架

    基于Android SDK安装PhoneGap框架是本文要介绍的内容,主要是来学习Eclipse+Android+JDK+Phonegap开发环境,具体内容的实现来看那本文详解. 首先,要明白一点,就 ...

  6. 基于php汇率接口调用实例,基于C#的汇率接口调用代码实例

    基于C#的汇率接口调用代码实例 代码描述:基于C#的汇率接口调用代码实例 代码平台:聚合数据 using System; using System.Collections.Generic; using ...

  7. 如何基于 ZEGO SDK 实现 Windows 一对一音视频聊天应用

    互联网发展至今,实时视频和语音通话越来越被大众所依赖. 今天,我们将会继续介绍如何基于ZEGO SDK实现音视频通话功能,前两篇文章分别介绍了Android,Flutter平台的实现方式,感兴趣的小伙 ...

  8. java字典写实例,基于JAVA的新华字典接口调用代码实例

    基于JAVA的新华字典接口调用代码实例 接口描述:基于JA V A的新华字典接口调用代码实例 接口平台:聚合数据 import java.io.BufferedReader; import java. ...

  9. cpu java poi 导出_java基于poi导出excel透视表代码实例

    这篇文章主要介绍了java基于poi导出excel透视表代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 从前,我是一个前端程序猿,怀着对打通 ...

最新文章

  1. 网络编程学习笔记(tcp_listen函数)
  2. 计算机组成原理白中英作业,计算机组成原理白中英部分作业解答(第二章)
  3. 【Python】Python一行代码能做什么,30个实用案例代码详解
  4. Java核心(一)线程Thread详解
  5. 搜素算法(基础)--DFS/BFS算法(JAVA)
  6. php自定义表单 系统,PHP自定义表单系统Php综合源码下载-华软网
  7. 长安大学微型计算机原理与接口技术答案,长安大学微机原理与接口技术AB卷试题与答案.doc...
  8. mac 修改 hosts 文件之后,刷新 DNS 缓存
  9. html右键打印,怎么在鼠标右键添加打印选项?
  10. (转)以太坊(Ethereum)全零地址(0x000000...)揭秘
  11. Windows驱动开发(一)WDM/WDF驱动概述
  12. 社交网络中影响力传播模型
  13. linux磁盘管理——quota磁盘配额GPT分区
  14. 978_使用emacs lisp安装emacs插件
  15. 联想笔记本电脑insert键占用,当鼠标变成小方块时,如何解决
  16. 猿圈 题库_小猿圈总结常见HTML5基础知识面试题汇总
  17. 西门子官网下载Eplan部件库
  18. 计算机操作与规范,电脑操作基本知识(精华版)
  19. 【项目】问答系统-代码-后台
  20. 利用validation对Java接口入参进行基础校验

热门文章

  1. Mysql系列常见面试题
  2. rest-framework之响应器(渲染器)
  3. nginx负载均衡简单配置
  4. 看AppStore评价
  5. No.1010_第七次团队会议
  6. C++ 复制控制之复制构造函数
  7. 使用纯css做的按钮
  8. [转]百万数据查询优化技巧三四则
  9. arm 编译安装mysql5.5_ARM64架构下面安装mysql5.7.22
  10. VUEJS-checkbox全选全不选