K3工业单据介绍解析课件.ppt
《K3工业单据介绍解析课件.ppt》由会员分享,可在线阅读,更多相关《K3工业单据介绍解析课件.ppt(67页珍藏版)》请在三一办公上搜索。
1、版权所有 1993-2010 金蝶软件(中国)有限公司,K/3工业单据平台结构介绍,版权所有 1993-2010 金蝶软件(中国)有限公司K/,工业单据平台简介单据模版介绍代码结构介绍工业单据序时簿序时簿模版介绍代码结构介绍工业单据打印单据打印介绍套打模版介绍打印代码结构介绍,提 纲,工业单据平台提 纲,工业单据平台-简介,工业单据平台和BOS平台的关系和特点工业单据平台是K/3 BOS平台产生之前的K/3工业统一单据平台主要应用于K/3工业链系统和制造系统早期开发的业务单据基于数据库模版配置动态构建三层架构模式涵盖了业务单据的设计、维护、打印、单据转换和列表查询等功能支持较丰富的二次开发接口
2、和手段注意目前处于维护已有单据阶段禁止创建新的业务单据类型,新的业务单据必须使用BOS实现,已有单据新增的业务功能尽量采用二次开发接口扩展实现,尽量减少对单据自身核心代码的改动(可扩展接口)其它本课件主要介绍工业单据平台的单据、序时簿和套打相关的模版表结构和代码处理结构,单据转换和二次开发等其他相关内容请参考相应主题的其它课件,工业单据平台-简介工业单据平台和BOS平台的关系和特点,工业单据平台-单据模版介绍,工业单据平台-单据模版介绍表名作用ICTransaction,工业单据平台-单据模版介绍,ICTransactionType 单据事务类型表(一),工业单据平台-单据模版介绍ICTran
3、sactionType,工业单据平台-单据模版介绍,ICTransactionType 单据事务类型表(二),工业单据平台-单据模版介绍ICTransactionType,工业单据平台-单据模版介绍,ICTemplate 单据头字段描述表(一),工业单据平台-单据模版介绍ICTemplate 单据头字段,工业单据平台-单据模版介绍,ICTemplate 单据头字段描述表(二),工业单据平台-单据模版介绍ICTemplate 单据头字段,工业单据平台-单据模版介绍,ICTemplate 单据头字段描述表(三),工业单据平台-单据模版介绍字段说明FNeedSave是否需要,工业单据平台-单据模版介
4、绍,FEnable值说明,如:48(110000)表示该字段在新增、修改状态下可以录入,其他状态下不可录入,工业单据平台-单据模版介绍FEnable值说明操作订单确认新,工业单据平台-单据模版介绍,ICTemplate 单据头字段描述表(四),工业单据平台-单据模版介绍ICTemplate 单据头字段,工业单据平台-单据模版介绍,ICTemplate 单据头字段描述表(五),工业单据平台-单据模版介绍ICTemplate 单据头字段,工业单据平台-单据模版介绍,FVisForBillType 值说明,工业单据平台-单据模版介绍FVisForBillType 值,工业单据平台-单据模版介绍,IC
5、Template 单据头字段描述表(六),工业单据平台-单据模版介绍ICTemplate 单据头字段,工业单据平台-单据模版介绍,ICTemplate 单据头字段描述表(七),工业单据平台-单据模版介绍ICTemplate 单据头字段,工业单据平台-单据模版介绍,ICTemplateEntry 单据体字段描述表单据体字段描述表结构与单据头字段描述表结构类似,对应字段含义也非常相似特殊字段说明,工业单据平台-单据模版介绍ICTemplateEntry,工业单据平台-单据模版介绍,ICTemplateEntry 特殊字段说明(二),工业单据平台-单据模版介绍字段说明FLookUpCls 如为,工业
6、单据平台-单据模版介绍,ICTemplateEntry 特殊字段说明(三),模板维护注意:尽量保持FCtlOrder和FCtlIndex字段的一致性尽量采用以前版本维护脚本文件中采用的模块化SQL片段,工业单据平台-单据模版介绍字段说明FNeedCount该分录,工业单据平台-单据模版介绍,工业单据Action简介单据Action是一种自动计算机制,计算种类非常广泛,例如录入物料携带名称,修改数量重算金额等单据Action大多采用被动方式触发,一小部分为主动方式单据Action支持级联触发单据基本的Action都配置在单据头模版和单据体模版中,有些需要根据系统参数和单据选项采用不同Action
7、的方案保存在ICBillAction表中,该表结构后续讲解单据支持单据头字段修改影响到单据体的Action单据Action支持对触发源的选择性使用,工业单据平台-单据模版介绍工业单据Action简介,工业单据平台-单据模版介绍,工业单据Action详解单据Action由Action标示符,选择性触发源字段列表和Action计算参数列表三部分组成,每部分之间用逗号分隔,一个字段也可以配置多个Action,Action之间用分号分隔,如采购发票的换算率字段:FRelationID值:FItemID,FSecQtyFAction值:.,FSecCoefficient;Cal,FSecQtyContr
8、olLocked,FSecUnitID,=,True这个Action表达式共包含了3个ActionAction1Action标志符:. Action含义:携带基础资料属性到当前字段Action选择性触发源:空,表示FRelationID字段中列出的所有字段修改都会触发此Action(触发源和参数间用&分隔,多个触发源之间用|分隔)Action参数列表:FSecCoefficient结合参数,该Action含义为:携带触发源字段的辅助换算率属性到当前字段,因为触发源中的FSecQty不是基础资料,此Action自动失效Action2Action标志符:CalAction含义:按照自定义公式计算结
9、果并填入当前字段Action选择性触发源:FSecQty,表示只有FSecQty字段值修改才会触发此Action,工业单据平台-单据模版介绍工业单据Action详解,工业单据平台-单据模版介绍,工业单据Action详解(序上页) .,FSecCoefficient;Cal,FSecQtyControlLocked,FSecUnitID,=,TrueAction2(续上页)Action参数列表参数1:A=B/C 自定义计算公式,含义:当前字段A结果=参数2/参数3参数2,3(FQty,FSecQty)按顺序分别对应为B和C的取值来源,常数计算项直接写入计算公式,不需要增加参数Action3Act
10、ion标志符:ControlLocked Action含义:根据计算结果锁定/放开字段Action选择性触发源:空,表示FRelationID字段中列出的所有字段Action参数列表:FSecUnitID ,=,True,共4个参数FSecUnitID 判断界面取值来源字段,这里为辅助计量单位= 判断逻辑,这里为判断相等 ,比较参考值,这里为 (空)True 返回值结合所有参数,此Action含义为如果辅助计量单位字段为空则返回True(应用到当前字段的FEnabled属性上),工业单据平台-单据模版介绍工业单据Action详解(序上页),工业单据平台-单据模版介绍,ICBillAction从
11、之前的单据模版可以看到单据模版对每个字段只能配置一套Action计算公式,但是有些业务单据要求同一字段在不同的情况下采用两套或几套完全不同的Action计算方案,比较典型的如销售发票的折扣字段在“是否启用整单折扣”和“折扣基础是否含税”这两个参数的组合情况下有4套不同的计算逻辑,ICBillAction表就是为了满足类似要求而建立,在单据加载或选项切换时,单据平台会抛出Action加载事件,负责该表内容解析的公共单据插件就会根据传来的参数组合情况从该物理表中加载指定单据不同的Action方案,并以此替换从单据模版中得到的Action计算方案,从而在修改触发时能应用不同配置的Action方案,工
12、业单据平台-单据模版介绍ICBillAction字段说明F,工业单据平台-单据模版介绍,ICBillAction,工业单据平台-单据模版介绍ICBillAction字段说明F,工业单据平台-代码结构介绍,工业单据采用三层架构,各层又根据业务功能分为不同的组件,主要有如下这些:,工业单据平台-代码结构介绍工业单据采用三层架构,各层又根据业,工业单据平台-代码结构介绍,K3Bills介绍功能K3bills是工业单据平台最重要的客户端组件,主要负责单据界面的显示、控制、单据功能调用以及与二次开发接口的交互等代码调试要求(除了安装K3通用的Spread和ActiveBar控件之外的要求)注册单据使用的
13、需要授权控制的控件,主要包括Ledger50.ocx和KDNote.ocx将K3安装目录下的ErpSwitch.sss文件拷贝到K3bills代码目录和要调用单据的组件的工程目录下,如K3List.vbp和K3ReportView.vbp等主要代码组成部分和功能,工业单据平台-代码结构介绍K3Bills介绍类/模块功能Bi,工业单据平台-代码结构介绍,K3Bills主要业务介绍单据的加载,外部调用者创建单据组件,设置单据属性,调用单据接口显示接口并按要求传入相应的参数单据显示接口:,工业单据平台-代码结构介绍K3Bills主要业务介绍外部调用,工业单据平台-代码结构介绍,K3Bills主要业务
14、介绍单据的加载外部调用示例(主控台):,工业单据平台-代码结构介绍K3Bills主要业务介绍,工业单据平台-代码结构介绍,K3Bills主要业务介绍单据的加载单据加载流程Bills.Show创建单据窗体frmbill并设置属性调用窗体加载方法,显示单据界面Frmbill. Form_Load调用InitControls初始化界面字体和菜单名称设置单据控制类ThisBill的属性如果是新增单据调用,则需要设置单据的事务类型,这个设置动作会引起单据界面上单据类型控件cmbTransType的值更新,在这个值更新事件处理函数cmbTransType_Click中会完成单据界面菜单的初始化和单据界面控
15、件的构造和布局如果是打开已有单据,除了和新增一样完成单据界面的构造和布局之外还需要调用MoveBill方法在传入的记录集中查找要显示的单据,加载单据数据,并调用ThisBill填充数据的FillBillData_New完成界面数据的填充,工业单据平台-代码结构介绍K3Bills主要业务介绍,工业单据平台-代码结构介绍,K3Bills主要业务介绍单据的加载单据加载流程Frmbill. cmbTransType_Click函数功能:单据类型控件值切换函数,在单据加载的时候会自动调用初始化单据控制类对象ThisBill和单据界面图片、菜单工具条等一些控件的属性调用ThisBill的BuildBill
16、方法构造单据界面和布局初始化单据二次开发插件设置单据菜单的可见性和可用性加载单据的打印设置Bill.cls BuildBill函数功能:构造单据先循环设置单据头字段控件全部不可见清除单据头和单据体字段控件属性数组调用单据数据包控制类clsBillPackage的GetBillPackage方法加载单据数据包(如果是新增单据则只加载单据模版数据,如果有实际单据内码则还会同时加载单据的实际数据包),工业单据平台-代码结构介绍K3Bills主要业务介绍,工业单据平台-代码结构介绍,K3Bills主要业务介绍单据的加载单据加载流程Bill.cls BuildBill(序上)根据加载的单据类型的属性数据
17、判断如果单据存在单据体则调用BuildEntryCtls方法构造单据体,如果不存在单据体则设置窗体的单据体表格控件不可见调用BuildHeadCtls构造单据头BuildEntryCtls和BuildHeadCtls分别完成单据体和单据头控件属性数组的构造,函数内部逻辑大致类似,基本都是根据单据数据包控制类加载的单据的模版数据重建用于描述单据头和单据体控件属性的结构数组,并在数组构造完成之后根据数组的描述信息生成与数组内各个字段相对应控件或者表格列,再根据属性信息设置这个控件或者表格列的相应属性(主要包括锁定性、控件编辑类型、显示隐藏、格式控制、默认值设置等),工业单据平台-代码结构介绍K3B
18、ills主要业务介绍,工业单据平台-代码结构介绍,K3Bills主要业务介绍单据加载单据模版和数据包的加载,单据模版和数据包由单据数据包控制类clsBillPackage负责构造维护,在单据加载时控制类通过中间层接口获得指定单据的数据并构造成指定结构的数据包,在保存时根据界面数据的变化修改单据数据包中的数据并根据单据数据的前后变化生成数据库更新SQL,会同数据包一起交给单据中间层完成数据的更新保存需要注意的是虽然工业单据平台维护的有数据包,但是这个数据包中的数据并不是随时与界面数据一致,界面上查找类别的字段的值修改时单据控制类会更新数据包中的内容与界面保持一致,但是普通文本、数字和日期等类型字
19、段的界面值的修改只有在触发保存重新对界面打包的时候界面数据的实际值才会反映到单据的数据包中,在单据交互过程中,这些类型字段的实际值只能从界面控件中获得另外一点,单据在执行保存之前会对界面数据进行打包更新,但是在完成保存之后并不会再次读取数据库中保存的数据重建数据包和更新界面,所以对于在中间层额外修改的数据需要注意处理界面和数据库的一致性,工业单据平台-代码结构介绍K3Bills主要业务介绍单据模,工业单据平台-代码结构介绍,K3Bills主要业务介绍单据加载单据模版和数据包的加载clsBillPackage. GetBillPackage函数功能:加载单据数据并构造单据数据包判断如果需要加载单
20、据数据则调用K3MBillsPackage.clsReadPackage的GetBillPackage方法获得单据数据包新增单据只需要调用GetBillEmptyPackage获得空的单据数据包GetBillEmptyPackage函数逻辑如果单据类型没有变化(界面新增调用)只是需要获得一个空的单据数据包而不需要更新模版数据则调用K3MBillsPackage.clsReadPackage的GetBillDataEmptyPackage方法获得空的单据数据包如果单据类型有变化则调用K3MBillsPackage.clsReadPackage的GetBillTemplatePackage方法获得
21、新的单据类型的模版数据包如果获得的单据数据包不为空,则对单据数据包中的数据执行计算类型的Action(主要是在单据数据包中构造需要通过界面计算获得而又不需要保存的字段的值),工业单据平台-代码结构介绍K3Bills主要业务介绍,工业单据平台-代码结构介绍,K3MBillsPackage主要业务介绍单据模版和数据包的加载clsReadPackage. GetBillTemplatePackage函数功能:加载并构造单据模版数据包读取单据事务类型模版数据并构造数据包填充到单据数据包的事务类型信息包中读取单据头模版数据并构造数据包填充到单据数据包的单据头信息包中读取单据体模版数据并构造数据包填充到单
22、据数据包的单据体信息包中额外附加特殊操作需要的其他隐藏字段的数据包信息clsReadPackage. GetDataPackage函数功能:加载制定单据的业务数据并进行打包根据指定单据的模版结构和读取条件拼接SQL获得单据头数据,拼接SQL的时候已经根据字段的属性对需要扩展取数的字段进行了关联处理(比如资料属性类字段的取数)根据指定单据的模版结构和读取条件拼接SQL获得单据体数据,拼接SQL的时候已经根据字段的属性对需要扩展取数的字段进行了关联处理(比如资料属性类字段的取数)对单据数据包中的数据执行计算类型的Action,工业单据平台-代码结构介绍K3MBillsPackage主要,工业单据平
23、台-代码结构介绍,K3Bills主要业务介绍单据的Action处理工业单据平台的Action是单据业务逻辑自动处理的一种实现方式,比如数量修改重新计算金额就是一种典型的计算Action单据的Action由模版中配置在字段上的FRelationID中的字段的值更新动作触发,触发时会引起这个字段相关的所有Action的执行,即当一个字段的值发生改变并验证生效后就调用单据控制类的Action计算函数,该函数会循环整个单据的字段属性结构数组,解析每个字段属性结构中配置的FRelationID字符串,如果该字符串中的触发源包含有当前修改字段的字段名,则计算该字段的所有Action(选择性触发源的另外判断
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- K3 工业 单据 介绍 解析 课件

链接地址:https://www.31ppt.com/p-1285920.html