ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:367.93KB ,
资源ID:8330243      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8330243.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(金蝶KIS专业版二次开发技术详解.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

金蝶KIS专业版二次开发技术详解.docx

1、金蝶KIS专业版二次开发技术详解金蝶KIS专业版二次开发技术详解第一章 概述本文着重介绍如何利用KIS专业版产品自身架构,进行相关功能的二次开发,在产品标准财务、业务一体化流程基础上,实现客户个性化需求,真正做到随需应变。第一节 个性化介绍KIS个性化ERP,又称第三代国产小企业ERP:第一代ERP定制化定义:客户需要怎么样,就做成怎么样,完全以客户需求为导向,由于客户的专业性有限,容易导致业务前后不一致,流程中断。结果:小部分企业成功,大部分失败。第二代ERP标准化定义:软件厂商从专业角度出发,按照理论形成稳定的标准流程,做出通用型产品,特点是产品过于通用化,不能与企业自身管理特点或企业所在

2、行业特点很好的吻合。结果:小部分企业成功,大部分不满意第三代ERP个性化定义:基于产品平台接口,确保财务业务一体化流程稳定为基础,通过插件开发,实现客户个性化需求,最终实现客户ERP的个性化。目标:帮助顾客成功。第二章 二次开发类别金蝶KIS专业版的二次开发共分为下面7大类别: 一、单据嵌入式插件(如:客户品名)二、主控台外挂报表(如:采购价格分析表)三、主控台外挂DLL(如:客户订单号回写功能插件)四、单据增加自定义菜单(如:销售订单的“拆分生成采购入库”菜单)五、创建新的表单序时簿(如:预收预付协议单序时簿)六、第三方系统与KIS的集成(如:计件工资、税务系统)七、独立运行的 Exe ,可

3、以调用KIS登录窗口获得数据源,支持F7调用。第三章 技术详解按照KIS专业版二次开发的7大类别,分别进行以实现原理与实际应用案例相结合的详细介绍。第二节 单据嵌入式插件插件根据单据表头或表体界面操作,获取界面数据,并插件中进行数据加工处理,最后将结果回填到单据界面。下面以“客户品名”(又名:一品多名)插件为例。插件需求有些行业的物料名称别名很多,同样的物料销售给不同客户时,各客户要求送货单上显示自己规定的名称。这样情况在化工和医药等行业比较普遍,如:编码为01.001的盐酸,销售给A客户叫洗涤剂,销售给B客户叫漂白水。销售出库单第一次输入A客户、输入01.001物料、输入客户产品名称,插件自

4、动保存该客户对应该物料的客户产品名称,销售出库单第二次输入同样客户、同样物料时,插件自动查询并显示对应的客户产品名称。实现步骤步骤一:通过下面脚本,销售出库单表体增加“客户产品名称”字段。步骤二:通过下面脚本,在系统的销售出库单嵌入一个VB插件类对象名(KISBillPlugCustItemName.Bill21),并且数据库中新建一张用于存放客户、物料和客户产品名称信息的表(t_custitem)。步骤三:用VB开发并编译在步骤二中嵌入的插件类对象,插件实现的逻辑是,在销售出库单,表体选择物料后,插件自动根据当前的客户和物料,从数据库中取出对应的客户产品名称,然后填入表体的相应单元格。客户产

5、品名称有编辑后,需要自动回写到数据库。具体实现参照下面代码:实现效果套打:第三节 主控台外挂报表指开发用户个性化报表,并将报表菜单挂到KIS专业版主控台的相应模块右下方。具体实现过程如下:插件需求以简单的采购明细报表为例。实现步骤步骤一:在KISCom目录下创建KISBOS目录,解压下面报表例子文件包,放到KISBOS目录,如下图:步骤二:注册上图显示KISBOSRptSample目录下的KISBOSRptSample.dll组件(DLL组件的注册方法:双击该文件,选择打开方式为 system32目录下的REGSVR32.EXE文件,提示注册成功)。实现效果采购模块的账簿报表中出现“采购报表例

6、子”菜单。点击“采购报表例子”,可以显示下面报表效果:原理介绍1.专业版主控台显示时,自动读取KISComKISBOS 目录下的 “xls”文件,每个xls文件中存放一条记录,该记录的相关字段说明,可以打开xls文件,查看该文件的“字段说明”页表中相关解释。此xls相当于菜单挂接模板,如果要挂接新报表或新的dll组件,可以拷贝此文件,对相应字段进行修改即可,注意:如果是手工Excel新建的xls文件,专业版主控台会出现不能显示的问题。2.点击“采购报表例子”菜单后,系统读取 “KISBOSKISBOSRptSampleKISBOSReport.mdb” 文件,从T_RepList表中,读取本报

7、表对应的“数据处理插件对象”,从T_RepFilter表中,读取出报表的过滤条件设置,T_RepFilter表中,对于客户、供应商、物料、职员等基础资料的选择,请参照T_Select表,注意:T_RepList,T_RepFilter表中的FRepKey字段的值需要与xls文件记录“RPT/001”的“001”编码一致。3.点击报表过滤界面上的【确定】按钮,系统自动创建T_RepList表中设定的“数据处理插件对象”,并将过滤条件传到此对象。关于“数据处理插件对象”的实现原理,请参阅“KISBOSKISBOSRptSample报表插件源代码”目录下的VB源代码。第四节 主控台外挂DLL组件指开

8、发用户个性化功能插件,并将功能菜单挂到KIS专业版主控台的相应模块右下方,相对嵌入式插件,外挂DLL组件的功能相对比较独立。具体实现过程如下:插件需求销售模块的右下方,挂接一个简单的VB DLL组件程序,该演示程序介绍数据库连接的获取,F7基础资料的选择。实现步骤步骤一:在KISCom目录下创建KISBOS目录,解压下面报表例子文件包,放到KISBOS目录,如下图:步骤二:注册上图显示KISBOSDllSample目录下的KISBOSDllSample.dll组件(DLL组件的注册方法:双击该文件,选择打开方式为 system32目录下的REGSVR32.EXE文件,提示注册成功)。实现效果销

9、售模块的账簿报表中出现“Dll例子”菜单点击“DLL例子”,可以显示下面窗口:原理介绍1.专业版主控台显示时,自动读取KISComKISBOS 目录下的 “xls”文件,每个xls文件中存放一条记录,该记录的相关字段说明,可以打开xls文件,查看该文件的“字段说明”页表中相关解释。此xls相当于菜单挂接模板,如果要挂接新报表或新的dll组件,可以拷贝此文件,对相应字段进行修改即可,注意:如果是手工Excel新建的xls文件,专业版主控台会出现不能显示的问题。2.点击“DLL例子”菜单后,根据xls文件记录中设置的“DLL/KISBOSDllSample.Application”,创建KISBO

10、SDllSample.Application对象,并自动调用该对象的指定方法,如下:Public Function Show(str As String) As BooleanPropString = strfrmMain.Show 1End Function具体代码实现,请参阅“KISBOSKISBOSDllSample”目录下的VB源代码。第五节 单据增加自定义菜单插件需求贸易型企业,在接到销售订单后,直接按照订单商品进行采购,这样,订单上有很多商品,但是需要从多家供应商处进行采购,也就是需要一张销售订单,能自动生成多张采购订单。实现步骤步骤一:通过下面脚本,销售订单表体增加“供应商”字段

11、,并在销售订单顶部菜单中增加“拆分生成采购订单”的菜单,并对应此菜单,嵌入一个DLL插件到销售订单,这样通过点击此菜单,系统自动调用嵌入的DLL插件,并在插件中自动按照订单上的供应商,生成多张采购订单。步骤二:关于步骤一中的DLL插件,单据自定义菜单所触发的插件事件如下:Private Sub m_BillTransfer_UserMenuClick(ByVal Index As Long, ByVal Caption As String) Dim sBillNoPlace As Integer Dim sBillNo As String Dim oProp As KFO.Dictionary

12、 Dim oSvr As Object Dim RtnCode As Long Dim RtnDesc As String sBillNoPlace = GetCtlOrderByFieldName(FBillNo, 0) If sBillNoPlace 0 Then sBillNo = m_BillTransfer.GetHeadText(sBillNoPlace) Else Exit Sub End If Set oProp = New KFO.Dictionary oProp(FBillNo) = sBillNo Set oSvr = CreateProxy(KISMenuDllCreM

13、ulPOM.clsUpdate) Call oSvr.CreatePO(MMTS.PropsString, oProp, RtnCode, RtnDesc) If RtnCode = 0 Then RtnDesc = 完成! End If MsgBox RtnDesc, , 信息提示End Sub实现效果第六节 创建新的表单序时簿指用户根据个性化特点,需要在专业版系统上增加新的表单,对该表单数据进行增、删、改、查、套打等功能,并且希望能将新表单数据下推到系统现有的单据上。插件需求企业在预收款时,要记录下预收多少钱,预售什么产品、多少数量、什么价位、在做销售出库时,自动从预收款协议单下推携带、并

14、单价自动带出来。同时预付也实现类似功能。实现步骤步骤一:通过下面脚本,在专业版系统中增加预收款协议单和预付款协议单共两套单据模板脚本,并且AddMenu.sql 文件脚本将两个单据分别增加扩展菜单,用于下推到销售出库单或采购入库单。步骤二:将下面文件包中文件放置到对应的Advance和KISCom目录,并对dll文件进行Regsvr32.exe注册。KISBOS目录如下图显示:KISBOSLstPrePay.xls :该文件用于在主控台显示“预付协议单序时簿”菜单KISBOSLstPreRec.xls :该文件用于在主控台显示“预收协议单序时簿”菜单KISBOSRptPrePay.xls :与

15、KISBOSRptPrePay目录对应,形成预付执行情况报表KISBOSRptPreRec.xls :与KISBOSRptPreRec目录对应,形成预收执行情况报表KISCom目录下:KISMenuDllCreBillM.dll :中间层组件,用于后台生成销售出库单或采购入库单Advance目录下:ERPSwitch.SSS :该文件用access打开,在GLNoteType、ICTransType表中增加了相应的预收预付协议单记录KIS预收协议单.NDF、KIS预付协议单.NDF :这两个为新单据对应套打文件KISMenuDllCreBill.dll :该文件为单据自定义菜单调用的嵌入式组件

16、KISBills.dll :该文件为专业版系统的单据组件,覆盖原有安装的文件,否则新单据上的单价和金额不能显示出来。附注:如果用户需要创建类似的新单据,即复制本案例的脚本文件、xls文件、ERPSwitch.SSS文件和套打文件,然后修改下相应的单据名称、并根据需要对模板的表头和表体脚本进行相关修改,即可轻松实现新单据的增删改查和套打功能,再根据前面介绍的嵌入式插件、自定义菜单功能原理,实现新单据与系统单据的下推等功能。实现效果主控台:单据界面:点击【扩展功能】的【下推采购入库】菜单,弹出下面窗口,选择明细,并输入数量,可以自动生成采购入库单。相应报表:第七节 第三方系统与KIS的集成第三方系

17、统Exe程序直接在KIS专业版主控台上调出启动,并且KIS传递登录数据库的连接串,便于第三方系统与KIS在同一数据库中操作。第三方系统集成,涉及到数据库的整合,同时还有基础资料的同步或重用,所以此类型的插件,一般由总部主导完成。第八节 标准Exe执行程序指用VB开发可执行的标准EXE程序,程序可以调用专业版登录组件,实现KIS风格登录,获取数据库连接串,并程序中可以直接调用专业版F7基础资料查询功能。具体实现过程参照下面例子程序:第四章 附注本文所讲述的插件开发接口技术都是基于金蝶KIS专业版V9.1SP1版本(如需技术交流,可以发送邮件到*)。相关资料和金蝶KIS现已发布插件情况说明文档,可

18、以从下面地址获取:(下载时,建议采用迅雷等下载工具,由于网络原因,该地址有出现第一次下载不成功的情况,这时需要重试。)第一节专业版单据相关ID单据名称单据ID模板Id序时簿ID套打ID采购订单71P028150采购发票(普通)76I038445采购发票(专用)75I028444采购入库1A015819产品入库2A025520成本调整100T017358调拨单41D017537领料单24B047729盘亏毁损43C025136盘盈入库40C015035其他出库单29B096834其他入库10A975725销售报价单84G016042销售出库21B017626销售订单81S016153销售发票(普

19、通)86I056247销售发票(专用)80I046246虚仓出库26ZOU7962虚仓调拨74P058560虚仓入库6ZIN5461单据、序时簿、套打相关对象类型表直接的关联关系,可以参照下面SQL语句:select distinct a.fname,a.fid,a.ftemplateid,b.ftemplateid as flistid,b.fname as flistname,c.fnotetypeid from ictransactiontype ainner join iclisttemplate b on a.fid=b.fbilltemplateidinner join glnot

20、etype c on a.ftemplateid=c.ftemplateidorder by a.fname第二节专业版数据库常用表介绍ictransactiontype 单据类型表 (FTemplateID 是关联模板信息表的字段,FID 关联 ICStockBill 中的 FTranType字段)ictemplate,ictemplateentry 单据模板信息主子表icinvbal 物料库存余额表(包含FAuxPropID),icbal 物料库存余额表icinventory :物料即时库存数据存放表icstockbill 除组装拆卸外的库存类单据主表icstockbillentry 除组

21、装拆卸外的库存类单据明细表icstockbill 中调整单 类型号 100,当FBillTypeID 为 12542代表调入,FBillTypeID 为 12541代表调出ICPurchase 采购发票主表ICPurchaseEntry 采购发票明细表icsale 销售发票主表icsaleentry 销售发票明细表 select FInvoiceAmountFor ,FInvoiceAmount ,FReceiveAmountFor ,FReceiveAmount,FUnReceiveAmountFor,* from icsale where FInterID=1066 上面字段分别为 原币发

22、票金额,本币发票金额,原币收款金额,本币收款金额,原币未收款金额SEOrder 销售订单主表SEOrderEntry 销售订单明细表POOrder 采购订单主表POOrderEntry 采购订单明细表t_ItemClass 核算项目类别表,打开此表可以获取 核算项目 各基础资料 存放的 表名 (FItemID 为关联内码)t_RP_RBill 收款单主表 ,t_RP_RBillEntry 收款单子表t_RP_PBill 付款单主表 ,t_RP_PBillEntry 付款单子表T_RP_CheckInfo 核销单主表 ,T_RP_CheckInfoEntry 核销单子表 select * from T_RP_CheckInfoICHookRelations 暂估处理 发票钩稽关系表

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1