《SDERP前台程序结构10442.pptx》由会员分享,可在线阅读,更多相关《SDERP前台程序结构10442.pptx(58页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、SD-ERP开发平台系列培训开发平台系列培训前台程序开发教程前台程序开发教程2001年年6月月前台概述前台概述 SD-ERP前台程序结构前台程序结构 SD-ERP前台开发情况前台开发情况 教材内容及使用说明教材内容及使用说明开发说明开发说明 前台窗体开发说明前台窗体开发说明 程序的连接和调试程序的连接和调试 错误处理和注意事项错误处理和注意事项SD-ERPSD-ERP开发平台前台开发教程开发平台前台开发教程SD-ERP前台程序结构前台程序结构SD-ERP前台程序前台程序可分为五个层次:可分为五个层次:客户服务层客户服务层 前台窗体层前台窗体层 模块管理层模块管理层 前台管理层前台管理层 前台界
2、面层前台界面层返回返回前台界面层前台界面层前台管理层前台管理层模块管理层模块管理层前台窗体层前台窗体层客户服务层客户服务层代理服务器代理服务器应用服务器应用服务器翻页翻页前台启动和点击菜单处理流程前台启动和点击菜单处理流程启动启动登录登录连接代理连接代理服务器服务器失败失败退出退出用户合法?用户合法?成功成功非法非法报错报错合法合法初始化菜单界面初始化菜单界面鼠标点击菜单项鼠标点击菜单项获取菜单项对应窗获取菜单项对应窗体的模块编号、项体的模块编号、项目编号和权限目编号和权限根据模块编号,加根据模块编号,加载对应的模块动态载对应的模块动态链接库链接库根据项目编号,创根据项目编号,创建对应的窗体对
3、象建对应的窗体对象并显示窗体界面并显示窗体界面前台界面层前台界面层SDERP前台管理层前台管理层sdClientMgr模块管理层模块管理层前台窗体层前台窗体层返回返回1234SD-ERP前台开发情况前台开发情况前台模块的划分前台模块的划分 系统管理、系统工具、系统资料、采购管理、销售管理系统管理、系统工具、系统资料、采购管理、销售管理 生产管理、库存管理、成本管理、质量管理、财务管理生产管理、库存管理、成本管理、质量管理、财务管理 计划管理、能力管理、人事管理、计划管理、能力管理、人事管理、报关管理报关管理、设备管理、设备管理 经理查询、报表管理经理查询、报表管理各模块实现情况各模块实现情况模
4、块窗体分类模块窗体分类返回返回前台窗体分类前台窗体分类按窗体继承的基类进行划分,可分为:按窗体继承的基类进行划分,可分为:基本窗体类基本窗体类(TStdBaseForm)单记录窗体类单记录窗体类(TRecBaseForm)主从记录窗体类主从记录窗体类(TBillBaseForm)带生成主从记录窗体类带生成主从记录窗体类(TGenBaseForm)查询窗体类查询窗体类(TQueryBaseForm)审核窗体类审核窗体类(TListBaseForm)返回返回带生成主从记录窗体类带生成主从记录窗体类(TGenBaseForm)用于带生成功能的用于带生成功能的主从记录类型窗体主从记录类型窗体的制作。如
5、右图的制作。如右图“入库单入库单”窗体窗体返回返回窗体基本类(窗体基本类(TStdBaseForm)TStdBaseForm类是类是系统最基本的窗体类。系统最基本的窗体类。主要用于制作简单的主要用于制作简单的控制窗体,如右图控制窗体,如右图“盘点状态设置盘点状态设置”窗体窗体。返回返回单记录窗体基本类单记录窗体基本类(TRecBaseForm)用于单记录(不含明用于单记录(不含明细)的窗体的制作。细)的窗体的制作。如右图如右图“仓库货位仓库货位”窗体窗体返回返回主从记录窗体类主从记录窗体类(TBillBaseForm)用于主从记录类型用于主从记录类型(含明细)业务单(含明细)业务单据窗体的制作
6、。如据窗体的制作。如右图,右图,“调拨单调拨单”窗体。窗体。返回返回查询窗体类查询窗体类(TQueryBaseForm)用于查询窗体的制用于查询窗体的制作。如右图,作。如右图,“台台帐查询帐查询”窗体。窗体。返回返回审核窗体类审核窗体类(TListBaseForm)用于审核、取消、用于审核、取消、中止、结清业务单中止、结清业务单据窗体的制作。如据窗体的制作。如右图:右图:“调拨单审调拨单审核核”窗体。窗体。返回返回各模块窗体数量对比图各模块窗体数量对比图返回返回教材内容及使用说明教材内容及使用说明培训系统教材共分四个部分:培训系统教材共分四个部分:开发技术手册开发技术手册前台业务窗体开发教程前
7、台业务窗体开发教程中间层业务类开发教程中间层业务类开发教程后台数据库开发教程后台数据库开发教程翻页翻页教材使用说明教材使用说明中中间间层层教教材材数数据据库库教教材材前台窗体教材前台窗体教材开发技术手册开发技术手册基类一般函数处理基类一般函数处理特特殊殊处处理理中中间间类类数数据据库库返回返回前台窗体开发说明前台窗体开发说明前台窗体开发风格前台窗体开发风格窗体基本类使用说明窗体基本类使用说明前台窗体的制作前台窗体的制作返回返回前台窗体开发风格前台窗体开发风格面向对象开发风格,标准化程序设计面向对象开发风格,标准化程序设计 构件标准化构件标准化 界面标准化界面标准化 代码标准化代码标准化有利于提
8、高程序的可读性和可理解性有利于提高程序的可读性和可理解性有利于提高程序的开发效率有利于提高程序的开发效率返回返回前台窗体基本类前台窗体基本类基本窗体类基本窗体类(TStdBaseForm)单记录窗体类单记录窗体类(TRecBaseForm)主从记录窗体类主从记录窗体类(TBillBaseForm)带生成主从记录窗体类带生成主从记录窗体类(TGenBaseForm)查询窗体类查询窗体类(TQueryBaseForm)审核窗体类审核窗体类(TListBaseForm)返回返回基本窗体类说明基本窗体类说明功能说明功能说明 基本窗体类直接从基本窗体类直接从C+Builder的的TForm类派类派生而来
9、,是前台最基本的窗体类,用来制作生而来,是前台最基本的窗体类,用来制作控制窗体、业务单据的生成窗体和查询子窗控制窗体、业务单据的生成窗体和查询子窗体体。基本类的使用基本类的使用 直接使用直接使用返回返回单记录窗体类说明单记录窗体类说明功能说明功能说明 单记录不含明细记录类型的窗体(如基础资料窗体),单记录不含明细记录类型的窗体(如基础资料窗体),可以继承可以继承TRecBaseForm,通过在窗体对象中实现基,通过在窗体对象中实现基本类提供的虚方法来完成数据记录的显示、增加、本类提供的虚方法来完成数据记录的显示、增加、修改、删除以及系统定义的其他功能。修改、删除以及系统定义的其他功能。基本类的
10、使用基本类的使用 在对象窗体中重载基类的虚函数,以使用基类提供在对象窗体中重载基类的虚函数,以使用基类提供的各种功能。的各种功能。(基类虚函数说明基类虚函数说明)返回返回如图如图InitEditControl();说明:对窗体内的构件进行初始化说明:对窗体内的构件进行初始化ClearControl(bool BringToNext)=0;说明:清空窗体内的构件内容说明:清空窗体内的构件内容GetDataFromComObject()=0;说明:从说明:从COM对象中取出字段值并显示在相应构件中对象中取出字段值并显示在相应构件中SendDataToComObject()=0;说明:将用户新增或修
11、改的字段值传送给说明:将用户新增或修改的字段值传送给COM对象对象单记录窗体基类主要虚函数说明:单记录窗体基类主要虚函数说明:翻页翻页图例图例接上接上WaitUserInput()=0;说明:在新增或修改之后,设置输入焦点说明:在新增或修改之后,设置输入焦点FillGridWithData()=0;说明:窗体显示时,从说明:窗体显示时,从COM对象中取出数据填充到用于对象中取出数据填充到用于数据浏览网格,并且数据编辑区显示对象当前记录的数据浏览网格,并且数据编辑区显示对象当前记录的数据数据RefreshGridData(int mAction)=0;说明:更新数据浏览网格内的显示数据说明:更新
12、数据浏览网格内的显示数据返回返回图例图例单记录型窗体图例单记录型窗体图例工具栏工具栏数数据据浏浏览览网网格格数数据据编编辑辑区区状态栏状态栏窗体菜单窗体菜单返回返回空白的空白的TRecBaseForm窗体对象窗体对象返回返回主从记录窗体类说明主从记录窗体类说明功能说明功能说明 主从记录类型的窗体(例如:库存调拨单、报废单、主从记录类型的窗体(例如:库存调拨单、报废单、盘点单等业务单据),可以继承盘点单等业务单据),可以继承TBillBaseForm,通,通过在窗体对象中实现基本类提供的纯虚方法来完成过在窗体对象中实现基本类提供的纯虚方法来完成业务单据的显示、增加、修改、删除以及系统定义业务单据
13、的显示、增加、修改、删除以及系统定义的其他功能。的其他功能。基本类的使用基本类的使用 在对象窗体中重载基类的虚函数,就可以使用基类在对象窗体中重载基类的虚函数,就可以使用基类提供的各种功能。提供的各种功能。(基类虚函数说明基类虚函数说明)返回返回如图如图空白的空白的TBillBaseForm窗体对象窗体对象返回返回主从记录窗体基类主要虚函数说明:主从记录窗体基类主要虚函数说明:InitEditControl();说明:对窗体内的控件进行初始化说明:对窗体内的控件进行初始化ClearControl(int Section,bool BringToNext)=0;说明:清空窗体内的控件内容说明:清
14、空窗体内的控件内容GetDataFromComObject(int Section)=0;说明:从说明:从COM对象中取出字段值并显示在相应控件中对象中取出字段值并显示在相应控件中SendDataToComObject(int Section)=0;说明:将用户新增或修改的字段值传送给说明:将用户新增或修改的字段值传送给COM对象对象WaitUserInput(int Section)=0;说明:在新增或修改之后,设置输入焦点说明:在新增或修改之后,设置输入焦点翻页翻页图例图例接上接上FillGridWithData()=0说明:从说明:从COM对象中取出数据并显示在网格和数据控件对象中取出数
15、据并显示在网格和数据控件RefreshGridData(int mAction)=0说明:更新数据浏览网格内的显示数据说明:更新数据浏览网格内的显示数据ChangeToBrowseState(bool Browse=false)=0说明:进行界面切换说明:进行界面切换GetBill(AnsiString BillID)=0说明:获取单据号为参数说明:获取单据号为参数BillID所传值的单据所传值的单据DisplayBill()=0说明:将当前单据的单头和所有明细行填充到控件内说明:将当前单据的单头和所有明细行填充到控件内返回返回图例图例编程编程主从记录窗体图例主从记录窗体图例单单头头编编辑辑区
16、区明明细细浏浏览览网网格格单单据据状状态态栏栏翻页翻页续上图续上图明明细细编编辑辑区区返回返回带生成主从记录窗体类带生成主从记录窗体类功能说明功能说明 带生成明细功能的主从记录类型的窗体(例如:带生成明细功能的主从记录类型的窗体(例如:入库单、出库单、采购收货单等业务单据),入库单、出库单、采购收货单等业务单据),可以继承可以继承TGenBaseForm,通过在窗体对象中,通过在窗体对象中实现基本类提供的纯虚方法来完成业务单据的实现基本类提供的纯虚方法来完成业务单据的显示、增加、修改、删除、生成以及系统定义显示、增加、修改、删除、生成以及系统定义的其他功能。的其他功能。基本类的使用基本类的使用
17、 在对象窗体中重载基类的虚函数,就可以使用在对象窗体中重载基类的虚函数,就可以使用基类提供的各种功能。基类提供的各种功能。(基类虚函数说明基类虚函数说明)返回返回 带生成功能的主从记录类型窗体包含不带带生成功能的主从记录类型窗体包含不带生成功能的主从记录类型窗体的所有功能生成功能的主从记录类型窗体的所有功能和处理,只是多了一个生成功能。和处理,只是多了一个生成功能。GenrateBill()说明:生成功能是说明:生成功能是TGenBaseForm基本类区别基本类区别TBillBaseForm基本类的主要特性,而基类的虚函数基本类的主要特性,而基类的虚函数GenrateBill()用于实现该功能
18、,是在点击窗体工具栏用于实现该功能,是在点击窗体工具栏“生成生成”按按钮后被调用,用于生成明细行钮后被调用,用于生成明细行带生成主从记录窗体基类主要虚函数说明:带生成主从记录窗体基类主要虚函数说明:图例图例返回返回带生成主从窗体图例带生成主从窗体图例“生成生成”按钮按钮翻页翻页续上图续上图弹出式生成子窗体弹出式生成子窗体返回返回查询窗体类查询窗体类功能说明功能说明 各种基本单据和业务单据的查询窗体(例如:物料各种基本单据和业务单据的查询窗体(例如:物料查询、入库单查询、调拨单查询等),可以继承查询、入库单查询、调拨单查询等),可以继承TQueryBaseForm。基本类的使用基本类的使用 查询
19、窗体可直接使用查询语句从数据库中获取查询查询窗体可直接使用查询语句从数据库中获取查询结果,使用起来很方便,不需要从基本类中重载函结果,使用起来很方便,不需要从基本类中重载函数。数。返回返回图例图例查询窗体图例查询窗体图例工具栏工具栏“查询条件设置查询条件设置”按钮按钮查查询询结结果果网网格格翻页翻页续上图续上图弹出式条件设置窗口弹出式条件设置窗口返回返回审核窗体类审核窗体类功能说明功能说明 各种业务单据的审核、取消、中止和结请窗体各种业务单据的审核、取消、中止和结请窗体(例如:调拨单审核、采购单取消、采购单结(例如:调拨单审核、采购单取消、采购单结请等),可以继承请等),可以继承TListBa
20、seForm。基本类的使用基本类的使用 审核窗体可直接实现,不需要从基本类中重载审核窗体可直接实现,不需要从基本类中重载函数。函数。图例图例返回返回审核窗体图例审核窗体图例窗体控制栏窗体控制栏条条件件设设置置栏栏单单头头显显示示网网格格明明细细显显示示网网格格返回返回前台窗体的制作前台窗体的制作以以“库存调拨单库存调拨单”为例说明窗体制作的一般步骤:为例说明窗体制作的一般步骤:前期工作前期工作窗体界面布置窗体界面布置编写程序编写程序返回返回窗体制作的前期工作窗体制作的前期工作数据库建表(数据库建表(sdAlfh、sdAlfd)中间层创建业务类(中间层创建业务类(TsdAlfh、TsdAlfd)
21、明确窗体所属模块(库存模块),在系统明确窗体所属模块(库存模块),在系统模块项目表(模块项目表(sdModule)中添加窗体记录)中添加窗体记录明确窗体类型,选择合适的窗体基本类明确窗体类型,选择合适的窗体基本类(TBillBaseForm)在模块工程文件中增加所选窗体基本类的在模块工程文件中增加所选窗体基本类的派生窗体对象(派生窗体对象(如图如图)返回返回窗体界面的布置窗体界面的布置使用使用TFloatPanel构件划分窗体区域(包括单构件划分窗体区域(包括单头区、明细区和单据状态区),头区、明细区和单据状态区),如图如图;在窗体区域内放入数据表字段关联构件,单在窗体区域内放入数据表字段关联
22、构件,单头区放入关联单头表(头区放入关联单头表(sdAlfh)字段的构件,)字段的构件,明细区放入关联明细表(明细区放入关联明细表(sdAlfd)字段的构)字段的构件,单据状态区放入关联单头表(件,单据状态区放入关联单头表(sdAlfh)中中审核、取消、结清以及操作员等字段的构件;审核、取消、结清以及操作员等字段的构件;(构件选用的一般原则构件选用的一般原则)返回返回构件选用的一般原则构件选用的一般原则一般的字段选用一般的字段选用TSDEdit构件构件日期字段选用日期字段选用TDateEdit构件构件有固定选择项或一般的参照字段选用有固定选择项或一般的参照字段选用TSDComboBox构件构件
23、选择项随其他字段变化或需要列示多行进行选择项随其他字段变化或需要列示多行进行选择的字段选用带查询按钮的选择的字段选用带查询按钮的TSDEdit构件构件备注类型的字段选用备注类型的字段选用TMemo构件构件审核、取消状态字段选用审核、取消状态字段选用TCheckBox构件构件数据浏览选用数据浏览选用TSDGrid构件构件返回返回图例图例在窗体的各区域内放入构件在窗体的各区域内放入构件TSDEdit构件构件TDateEdit构构件件TSDComboBox构件构件TMemo构构件件带带查查询询TSDEdit构构件件TCheckBox构件构件TLabel构构件件翻页翻页续上图续上图用于浏览明细行的用于
24、浏览明细行的TSDGrid构件构件返回返回使用使用TFloatPanel构件划分窗体区域构件划分窗体区域单单头头区区明明细细区区单单据据状状态态区区返回返回空白的空白的TBillBaseForm窗体对象窗体对象返回返回编写程序编写程序 窗体界面布置好之后,就可以开始编写窗体界面布置好之后,就可以开始编写程序脚本了。由于窗体顶部的工具栏的程序脚本了。由于窗体顶部的工具栏的按钮的功能和所做的处理在窗体基本类按钮的功能和所做的处理在窗体基本类中已经实现了,一般情况下,对象窗体中已经实现了,一般情况下,对象窗体无须再进行处理,需要做的是重载窗体无须再进行处理,需要做的是重载窗体基本类提供的虚函数。基本
25、类提供的虚函数。(参见开发技术手册)(参见开发技术手册)翻页翻页编程说明一编程说明一关联业务类关联业务类_fastcall TfrmAlfh:TfrmAlfh(TComponent*Owner):TBillBaseForm(Owner,euSdAlfh,)comServer实现虚函数(实现虚函数(虚函数参考虚函数参考)窗体特殊处理窗体特殊处理返回返回程序的连接和调试程序的连接和调试 由于前台程序采用多层动态链接的方式,所以程由于前台程序采用多层动态链接的方式,所以程序的连接和调试比较特殊序的连接和调试比较特殊程序所在目录程序所在目录程序的连接程序的连接程序的调试程序的调试返回返回程序目录说明程
26、序目录说明程序源代码安装之后,安装目录下有如下目录:程序源代码安装之后,安装目录下有如下目录:AppServer说明:应用服务器的运行目录说明:应用服务器的运行目录Classes说明:包含底层通讯的动态库说明:包含底层通讯的动态库sdComm.dllClient说明:包含前台各模块的窗体程序代码说明:包含前台各模块的窗体程序代码翻页翻页续上续上Components说明:包含中间层各模块的业务类代码说明:包含中间层各模块的业务类代码Interface说明:前台程序说明:前台程序sderp的运行目录的运行目录SdLib说明:包含前台所用构件的打包文件说明:包含前台所用构件的打包文件返回返回前台程序
27、的连接前台程序的连接连接生成模块管理动态链接库连接生成模块管理动态链接库 在在Client目录下打开模块子目录的工程文件,编译目录下打开模块子目录的工程文件,编译链接生成模块库链接生成模块库(如如sdInvent.dll),并输出到,并输出到Interface目录目录连接生成前台管理动态链接库连接生成前台管理动态链接库 在在Interface目录下打开目录下打开sdClientMgr工程文件,编译工程文件,编译链接生成前台库链接生成前台库(sdClientMgr.dll)连接生成前台主程序连接生成前台主程序 在在Interface目录下打开目录下打开sderp工程文件,编译生成可工程文件,编译
28、生成可执行程序执行程序sderp.exe返回返回前台程序的调试前台程序的调试前台主程序可以直接在前台主程序可以直接在IDE环境在进行调试环境在进行调试动态链接库的调试动态链接库的调试1)在)在IDE环境下打开库的工程文件环境下打开库的工程文件2)确定要调试的区域,打上断点)确定要调试的区域,打上断点3)打开)打开IDE环境的环境的Run|Parameters(如图如图)在在“Host Application”输入框内输入输入框内输入sderp.exe文件路径文件路径4)运行库文件)运行库文件返回返回调试设置窗口图例调试设置窗口图例返回返回错误处理和注意事项错误处理和注意事项错误处理错误处理 程
29、序运行过程中时常动态链接库报错,其实很多情程序运行过程中时常动态链接库报错,其实很多情况是动态链接库内引用的业务类或数据库存储过程况是动态链接库内引用的业务类或数据库存储过程提示的错误信息,这种情况请在前台程序的相关代提示的错误信息,这种情况请在前台程序的相关代码内添加如下错误处理代码段:码内添加如下错误处理代码段:try .catch(Exception&e)throw Exception(e.Message);注意事项注意事项前台开发注意事项前台开发注意事项按标准进行程序开发按标准进行程序开发管理好程序所在的目录管理好程序所在的目录结束结束课程结束,谢谢大家!课程结束,谢谢大家!联系电话:联系电话:87385278