为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

K3ERPwise老单开发手册

2021-11-13 7页 doc 1MB 37阅读

用户头像 个人认证

xiaowu0912

多年轨道交通运输经验

举报
K3ERPwise老单开发手册供应链开发帮助手册金蝶软件(中国)有限公司研发中心K/3供应开发组解释目录TOC\o"1-3"\h\z\uHYPERLINK\l"_Toc185230875"K/3老单单据平台开发手册PAGEREF_Toc185230875\h4HYPERLINK\l"_Toc185230876"整体框架和设计思路PAGEREF_Toc185230876\h4HYPERLINK\l"_Toc185230877"一、设计思路PAGEREF_Toc185230877\h4HYPERLINK\l"_T...
K3ERPwise老单开发手册
供应链开发帮助手册金蝶软件(中国)有限公司研发中心K/3供应开发组解释目录TOC\o"1-3"\h\z\uHYPERLINK\l"_Toc185230875"K/3老单单据平台开发手册PAGEREF_Toc185230875\h4HYPERLINK\l"_Toc185230876"整体框架和设计思路PAGEREF_Toc185230876\h4HYPERLINK\l"_Toc185230877"一、设计思路PAGEREF_Toc185230877\h4HYPERLINK\l"_Toc185230878"二、UML图PAGEREF_Toc185230878\h4HYPERLINK\l"_Toc185230879"模版PAGEREF_Toc185230879\h5HYPERLINK\l"_Toc185230880"一,单据构造模版:PAGEREF_Toc185230880\h5HYPERLINK\l"_Toc185230881"二、选单模版PAGEREF_Toc185230881\h9HYPERLINK\l"_Toc185230882"三,单据控制PAGEREF_Toc185230882\h10HYPERLINK\l"_Toc185230883"四,单据套打PAGEREF_Toc185230883\h10HYPERLINK\l"_Toc185230884"单据调用接口PAGEREF_Toc185230884\h11HYPERLINK\l"_Toc185230885"一、客户端调用接口PAGEREF_Toc185230885\h11HYPERLINK\l"_Toc185230886"二、中间层调用接口PAGEREF_Toc185230886\h13HYPERLINK\l"_Toc185230887"单据流程PAGEREF_Toc185230887\h15HYPERLINK\l"_Toc185230888"一、新建单据流程PAGEREF_Toc185230888\h15HYPERLINK\l"_Toc185230889"二、查看或修改单据流程:PAGEREF_Toc185230889\h16HYPERLINK\l"_Toc185230890"三、录单流程:PAGEREF_Toc185230890\h17HYPERLINK\l"_Toc185230891"四、单据的保存流程PAGEREF_Toc185230891\h22HYPERLINK\l"_Toc185230892"五、对下一版本的一些建议PAGEREF_Toc185230892\h24HYPERLINK\l"_Toc185230893"单据选单的实现说明PAGEREF_Toc185230893\h25HYPERLINK\l"_Toc185230894"一,实现思路:PAGEREF_Toc185230894\h25HYPERLINK\l"_Toc185230895"二,实现方式:PAGEREF_Toc185230895\h25HYPERLINK\l"_Toc185230896"单据模板Action说明文档PAGEREF_Toc185230896\h28HYPERLINK\l"_Toc185230897"一、概述PAGEREF_Toc185230897\h28HYPERLINK\l"_Toc185230898"二、关键词PAGEREF_Toc185230898\h28HYPERLINK\l"_Toc185230899"三、分类PAGEREF_Toc185230899\h28HYPERLINK\l"_Toc185230900"四、功能定义PAGEREF_Toc185230900\h28HYPERLINK\l"_Toc185230901"五、标准过程指南PAGEREF_Toc185230901\h31HYPERLINK\l"_Toc185230902"单据打印、连续打印、合并打印实现说明PAGEREF_Toc185230902\h32HYPERLINK\l"_Toc185230903"一、GUI上单据打印的实现方式:PAGEREF_Toc185230903\h32HYPERLINK\l"_Toc185230904"常见问题分析PAGEREF_Toc185230904\h32HYPERLINK\l"_Toc185230905"一、对于KDInputTool.DLL组件的日期控件的日期格式PAGEREF_Toc185230905\h32HYPERLINK\l"_Toc185230906"二、对于Spread控件的取值赋值PAGEREF_Toc185230906\h33HYPERLINK\l"_Toc185230907"三、模板数据冗余:PAGEREF_Toc185230907\h33HYPERLINK\l"_Toc185230908"四、选单结构不灵活:PAGEREF_Toc185230908\h34HYPERLINK\l"_Toc185230909"五、ICTemplate、ICTemplateEntry表的问题PAGEREF_Toc185230909\h34HYPERLINK\l"_Toc185230910"六、单据选单的关联关系:PAGEREF_Toc185230910\h34HYPERLINK\l"_Toc185230911"单据二次开发手册PAGEREF_Toc185230911\h34HYPERLINK\l"_Toc185230912"属性PAGEREF_Toc185230912\h35HYPERLINK\l"_Toc185230913"PAGEREF_Toc185230913\h36HYPERLINK\l"_Toc185230914"用户可实现自己功能的事件PAGEREF_Toc185230914\h37HYPERLINK\l"_Toc185230915"中间层事件PAGEREF_Toc185230915\h40HYPERLINK\l"_Toc185230916"应用示例PAGEREF_Toc185230916\h41HYPERLINK\l"_Toc185230917"K/3序时簿开发手册PAGEREF_Toc185230917\h45HYPERLINK\l"_Toc185230918"整体框架和设计思路PAGEREF_Toc185230918\h45HYPERLINK\l"_Toc185230919"模版PAGEREF_Toc185230919\h45HYPERLINK\l"_Toc185230920"一、ICListTemplate:该表反映了供需链所有序时簿的总体情况。PAGEREF_Toc185230920\h45HYPERLINK\l"_Toc185230921"二、ICChatbilltitle:该表反映了所有序时簿的显示的字段详细情况。PAGEREF_Toc185230921\h46HYPERLINK\l"_Toc185230922"三、ICListToolbar:该表反映了序时簿菜单和工具栏详细情况。PAGEREF_Toc185230922\h47HYPERLINK\l"_Toc185230923"四、ICTableRelation:选单中涉及的所有表之间的连接关系。PAGEREF_Toc185230923\h47HYPERLINK\l"_Toc185230924"接口函数描述PAGEREF_Toc185230924\h48HYPERLINK\l"_Toc185230925"一、相关组件PAGEREF_Toc185230925\h48HYPERLINK\l"_Toc185230926"序时簿二次开发PAGEREF_Toc185230926\h48HYPERLINK\l"_Toc185230927"一、创建一个中间层组件,实现一个接口PAGEREF_Toc185230927\h48HYPERLINK\l"_Toc185230928"二、注册组件PAGEREF_Toc185230928\h49HYPERLINK\l"_Toc185230929"常见问题分析PAGEREF_Toc185230929\h50HYPERLINK\l"_Toc185230930"一、模板数据冗余:PAGEREF_Toc185230930\h51HYPERLINK\l"_Toc185230931"二、序时簿几种状态PAGEREF_Toc185230931\h51HYPERLINK\l"_Toc185230932"采购价格管理开发手册PAGEREF_Toc185230932\h51HYPERLINK\l"_Toc185230933"流程PAGEREF_Toc185230933\h51HYPERLINK\l"_Toc185230934"表结构PAGEREF_Toc185230934\h51HYPERLINK\l"_Toc185230935"代码结构PAGEREF_Toc185230935\h51HYPERLINK\l"_Toc185230936"销售价格/折扣管理开发手册PAGEREF_Toc185230936\h51HYPERLINK\l"_Toc185230937"流程PAGEREF_Toc185230937\h51HYPERLINK\l"_Toc185230938"表结构PAGEREF_Toc185230938\h51HYPERLINK\l"_Toc185230939"代码结构PAGEREF_Toc185230939\h52HYPERLINK\l"_Toc185230940"进出口开发手册PAGEREF_Toc185230940\h52HYPERLINK\l"_Toc185230941"流程PAGEREF_Toc185230941\h52HYPERLINK\l"_Toc185230942"表结构PAGEREF_Toc185230942\h52HYPERLINK\l"_Toc185230943"代码结构PAGEREF_Toc185230943\h52HYPERLINK\l"_Toc185230944"发票钩稽开发手册PAGEREF_Toc185230944\h52HYPERLINK\l"_Toc185230945"流程PAGEREF_Toc185230945\h52HYPERLINK\l"_Toc185230946"表结构PAGEREF_Toc185230946\h52HYPERLINK\l"_Toc185230947"代码结构PAGEREF_Toc185230947\h52HYPERLINK\l"_Toc185230948"盘点开发手册PAGEREF_Toc185230948\h52HYPERLINK\l"_Toc185230949"盘点作业PAGEREF_Toc185230949\h52HYPERLINK\l"_Toc185230950"盘点查询PAGEREF_Toc185230950\h53HYPERLINK\l"_Toc185230951"盘点方案新建PAGEREF_Toc185230951\h54HYPERLINK\l"_Toc185230952"盘点方案删除PAGEREF_Toc185230952\h54HYPERLINK\l"_Toc185230953"备份盘点数据PAGEREF_Toc185230953\h55HYPERLINK\l"_Toc185230954"盘点数据引入/引出PAGEREF_Toc185230954\h57HYPERLINK\l"_Toc185230955"盘点选单PAGEREF_Toc185230955\h57HYPERLINK\l"_Toc185230956"生成盘点单据PAGEREF_Toc185230956\h57HYPERLINK\l"_Toc185230957"序列号开发手册PAGEREF_Toc185230957\h59HYPERLINK\l"_Toc185230958"流程PAGEREF_Toc185230958\h59HYPERLINK\l"_Toc185230959"表结构PAGEREF_Toc185230959\h59HYPERLINK\l"_Toc185230960"一、序列号流转表ICSerialFlow表结构:PAGEREF_Toc185230960\h59HYPERLINK\l"_Toc185230961"二、序列号表ICSerialPAGEREF_Toc185230961\h59HYPERLINK\l"_Toc185230962"三、ICSerial_FXXXPAGEREF_Toc185230962\h60HYPERLINK\l"_Toc185230963"基本操作PAGEREF_Toc185230963\h61HYPERLINK\l"_Toc185230964"一、新增单据PAGEREF_Toc185230964\h61HYPERLINK\l"_Toc185230965"二、审核单据:PAGEREF_Toc185230965\h62HYPERLINK\l"_Toc185230966"三、删除单据:PAGEREF_Toc185230966\h62HYPERLINK\l"_Toc185230967"四、作废单据:PAGEREF_Toc185230967\h62HYPERLINK\l"_Toc185230968"五、更新库存后序列号状态单据类型对应表:PAGEREF_Toc185230968\h63HYPERLINK\l"_Toc185230969"代码结构PAGEREF_Toc185230969\h63HYPERLINK\l"_Toc185230970"入库核算开发手册PAGEREF_Toc185230970\h64HYPERLINK\l"_Toc185230971"流程PAGEREF_Toc185230971\h64HYPERLINK\l"_Toc185230972"表结构PAGEREF_Toc185230972\h64HYPERLINK\l"_Toc185230973"代码结构PAGEREF_Toc185230973\h64HYPERLINK\l"_Toc185230974"委外核销开发手册PAGEREF_Toc185230974\h64HYPERLINK\l"_Toc185230975"流程PAGEREF_Toc185230975\h64HYPERLINK\l"_Toc185230976"表结构PAGEREF_Toc185230976\h64HYPERLINK\l"_Toc185230977"代码结构PAGEREF_Toc185230977\h64HYPERLINK\l"_Toc185230978"出库核算开发手册PAGEREF_Toc185230978\h64HYPERLINK\l"_Toc185230979"表说明PAGEREF_Toc185230979\h64HYPERLINK\l"_Toc185230980"算法说明PAGEREF_Toc185230980\h65HYPERLINK\l"_Toc185230981"代码结构PAGEREF_Toc185230981\h65HYPERLINK\l"_Toc185230982"一,所有计价方法的入口函数:PAGEREF_Toc185230982\h65HYPERLINK\l"_Toc185230983"二,每一种计价方法的处理逻辑:PAGEREF_Toc185230983\h66HYPERLINK\l"_Toc185230984"核算常见问题汇总PAGEREF_Toc185230984\h69HYPERLINK\l"_Toc185230985"出库核算核算报错问题PAGEREF_Toc185230985\h70HYPERLINK\l"_Toc185230986"凭证开发手册PAGEREF_Toc185230986\h72HYPERLINK\l"_Toc185230987"表说明PAGEREF_Toc185230987\h72HYPERLINK\l"_Toc185230988"凭证模版PAGEREF_Toc185230988\h72HYPERLINK\l"_Toc185230989"代码结构PAGEREF_Toc185230989\h74HYPERLINK\l"_Toc185230990"凭证常见问题说明PAGEREF_Toc185230990\h75HYPERLINK\l"_Toc185230991"分销开发手册PAGEREF_Toc185230991\h75HYPERLINK\l"_Toc185230992"流程PAGEREF_Toc185230992\h75HYPERLINK\l"_Toc185230993"表结构PAGEREF_Toc185230993\h75HYPERLINK\l"_Toc185230994"代码结构PAGEREF_Toc185230994\h81HYPERLINK\l"_Toc185230995"门店开发手册PAGEREF_Toc185230995\h81HYPERLINK\l"_Toc185230996"流程PAGEREF_Toc185230996\h81HYPERLINK\l"_Toc185230997"表结构PAGEREF_Toc185230997\h81HYPERLINK\l"_Toc185230998"代码结构PAGEREF_Toc185230998\h81HYPERLINK\l"_Toc185230999"销售前台开发手册PAGEREF_Toc185230999\h81HYPERLINK\l"_Toc185231000"流程PAGEREF_Toc185231000\h81HYPERLINK\l"_Toc185231001"表结构PAGEREF_Toc185231001\h81HYPERLINK\l"_Toc185231002"工业报表开发手册PAGEREF_Toc185231002\h81HYPERLINK\l"_Toc185231003"简介:PAGEREF_Toc185231003\h81HYPERLINK\l"_Toc185231004"主要函数:PAGEREF_Toc185231004\h82HYPERLINK\l"_Toc185231005"处理过程顺序图:PAGEREF_Toc185231005\h83HYPERLINK\l"_Toc185231006"代码结构PAGEREF_Toc185231006\h83HYPERLINK\l"_Toc185231007"门户报表开发手册PAGEREF_Toc185231007\h83HYPERLINK\l"_Toc185231008"流程PAGEREF_Toc185231008\h错误!未定义书签。HYPERLINK\l"_Toc185231009"表结构PAGEREF_Toc185231009\h错误!未定义书签。HYPERLINK\l"_Toc185231010"代码结构PAGEREF_Toc185231010\h错误!未定义书签。HYPERLINK\l"_Toc185231011"VB编程经验总结开发手册PAGEREF_Toc185231011\h86HYPERLINK\l"_Toc185231012"VB中精确数据的四舍五入处理PAGEREF_Toc185231012\h86HYPERLINK\l"_Toc185231013"假设VB中有如下的变量声明:PAGEREF_Toc185231013\h87HYPERLINK\l"_Toc185231014"VB中的对象是自动回收的,类似javaPAGEREF_Toc185231014\h87HYPERLINK\l"_Toc185231015"对对象变量赋值应该用setobj=AnOtherObj这种方式PAGEREF_Toc185231015\h88HYPERLINK\l"_Toc185231016"VB中字符串的内部存储格式是Unicode,它可以自动转化为ANSI字符(单字节字符)或者DBCS字符(双字节字符)PAGEREF_Toc185231016\h88HYPERLINK\l"_Toc185231017"字符串的比较应该是用strCmp函数,而不是简单的用=号PAGEREF_Toc185231017\h89HYPERLINK\l"_Toc185231018"VB中字符串处理的函数有三种版本:PAGEREF_Toc185231018\h89HYPERLINK\l"_Toc185231019"VB程序代码中的以下标识符不能含有双字节字符:PAGEREF_Toc185231019\h91K/3老单单据平台开发手册整体框架和设计思路设计思路UML图模版  单据主要是在模版的基础上实现的。单据的模版有以下几张表:ICTransactionType,ICTemplate,ICTemplateEntry,ICSelBills,ICTableRelation。前三张表用于构造显示单据,后两张表用于选单。一,单据构造模版:1.ICTransactionType:该表反映了供需链所有单据的总体情况。ICTransactionTypeFbrNoFID单据事务类型内部IDFROB红蓝字标记:1表示该单据区分红蓝字,0表示没有红蓝字之分Fname单据名称Ftype单据类别FtempalteID单据模版ID(与ICTemplate,ICTemplateEntry表中的FID对应FvchTempalteID(未用)FheadTable单据表头对应的数据库表名FentryTable单据表体对应的数据库表名FcheckPro(未用)FformWidth单据录入时的缺省宽度FformHeight单据录入时的缺省高度FfixCols单据的固定列数目2.ICTemplate:该表反映了所有单据的表头的详细情况。ICTemplateFID单据模版IDFctlIndex表头控件编号,连续且唯一FtabIndex控件的Tab跳动次序Fcaption控件标题Fctltype控件类型0文本,1日期,2查找,3数量,4编号,5选单,6单据标题,7单据分录,8审核,9制单,10批号,11金额,12单价,13税率,14会计科目,15生产订单状态,16生产订单来源,17要求缺省为空的日期,18记账,20汇率,21含税价30自定义单据使用的字符串类型,31自定义单据使用的数字类型,32自定义单据使用的日期类型,33自定义单据使用的整数类型FlookUpCls如为查找类型则与表t_ItemClass(核算项目表)中的FItemClassID对应。或者为辅助资料的ID(t_submestype中的FtypeID)FneedSave是否需要保存到数据库中FvalueType值的类型0字符串,1数字,2日期,3整数FsaveValue保存值的类型0名称,1内部ID,2代码FfieldName该字段对应在数据库表中的字段。在同一个单据的模版中不能重复。Fleft该单据头控件的位置FtopFwidthFheightFenable控件在各种状态下是否可录入:新增、修改、察看、审核、下达、单价金额修改。用一个六位的二进制数表示,可录入则对应位为1否则为0。常用值:0、32、48。Fprint是否打印(暂未用)Ffontname字体类型FfontSize字体大小FselBill如果该控件可以选择其它单据作为数据的输入来源,则该值对应为被选择单据的叙事簿ID(ICListTemplate表中的FID)FmustInput是否必须录入Ffilter过滤条件。一般用于选单或查找某类基础资料时过滤掉一些不符合选择条件的单据或基础资料。FrelationID表示哪一个字段的改变会导致当前控件值的改变。它的值为对应字段的数据库字段名。如有多个这样的字段可以用逗号隔开。Faction为前面Frelationid定义的字段的改变时该执行什么样的操作。例如汇率这个字段,它的FrelationID为FcurrencyID,Faction为“.,FExchangeRate”表示当改变币别时,把对应币别的默认汇率填入汇率栏中。FlockA为1表示选单过来的数据不能再添加删除分录FROB1只在蓝字单据中可见,2只在红字单据中可见3在红蓝字单据中都可见FdefaultCtl系统自带控件为1,自定义的为0FvisForBillType控件在各种状态下的可见性:新增、修改、察看、审核、下达。用一个五位的二进制数表示,可见则对应位为1,否则为0。常用值:0、31。FVBACtlType自定义单据用来区分是什么类型的控件有Frame,Label,Kdtext三种FrelateOutTbl如果该控件为其它选择类型的属性则为1例如:销售发票有个客户开户银行账号就是此类FSystemMustInputItem如果是系统规定必须输入,即使自定义单据也不能把它变为非必录。3.ICTemplateEntry:该表反映了所有单据的分录的详细情况。ICTemplateEntryFID单据模版IDFctlOrder分录列的排列前后顺序FctlIndex分录列编号,连续且唯一Fctltype分录列类型0文本,1日期,2查找,3数量,4编号,5选单,6单据标题,7单据分录,8审核,9制单,10批号,11金额,12单价,13税率,14会计科目,15生产订单状态,16生产订单来源,17要求缺省为空的日期,18记账,20汇率,21含税价,30自定义单据使用的字符串类型,31自定义单据使用的数字类型,32自定义单据使用的日期类型,33自定义单据使用的整数类型FlookUpCls如为查找类型则与表t_ItemClass(核算项目表)中的FItemClassID对应。或者为辅助资料的ID(t_submestype中的FtypeID)FneedSave是否需要保存到数据库中FvalueType值的类型0字符串,1数字,2日期,3整数FsaveValue保存值的类型0名称,1内部ID,2代码FfieldName该字段对应在数据库表中的字段。在同一个单据的模版中不能重复。Fenable该分录列在各种状态下是否可录入:新增、修改、察看、审核、下达、单价金额修改。用一个六位的二进制数表示,可录入则对应位为1否则为0。常用值:0、48、49。Fprint是否打印该列(暂未用)FheadCaption该分录列的表头标题Fwidth该分录列的宽度FneedCount该分录列是否需要合计,1:需要0:不需要FrelationID表示哪一个字段的改变会导致当前列值的改变。它的值为对应字段的数据库字段名。如有多个这样的字段可以用逗号隔开。Faction为前面Frelationid定义的字段的改变时该执行什么样的操作。例如金额这个字段,它的FrelationID为“FauxQty,FAuxPrice”,Faction为“(),FAuxQty,*,FAuxPrice”表示当数量或单价改变时,计算数量与单价的乘积,并填入金额列中。FmustInput是否必须录入Ffilter过滤条件。一般用于查找某类基础资料时过滤掉一些不符合选择条件的基础资料。FSaveRule该列值的保存规则,例如“U:0”表示该列的值不能为0。FdefaultCtl系统自带分录列为1,自定义的为0FvisForBillType该列在各种状态下的可见性:新增、修改、察看、审核、下达。用一个五位的二进制数表示,可见则对应位为1,否则为0。常用值:0、31。FRelateOutTbl如果该分录列为其它选择类型的属性则为1例如:销售发票有个客户开户银行账号就是此类FSystemMustInputItem如果是系统规定必须输入,即使自定义单据也不能把它变为非必录。  单据构造模版的基本用途是:根据要显示哪一种单据,首先去ICTransactionType表中获取该种单据的总体信息,包括表头模版号、分录模版号、单据宽高等等。然后根据表头模版号去查表头模版ICTemplate,构造该种单据的表头,根据分录模版号去查分录模版ICTemplateEntry,构造单据的分录。函数:Bills.SetPropDescFSaveRule说明:操作符功能例子备注@该字段不能为空@该字段不能为空U该字段不能=某个值U:0该字段不能=0〉该字段必须〉某个值1.>:0;2.>:Fqty1.该字段必须>0;2.该字段>FQty^该字段必须〉0^该字段必须〉0~该字段大于等于0并且小于某数或者某列的值1.~;2.~:Fqty;3.~:1001.该字段必须>0;2.该字段记录
集。再根据ICSelbills中的数据回填信息,将该记录集的值回填到对应的目标字段中。三,单据控制1、ICBillNoICBillNoFBillID单据ID,对应于ICTransactiontype中的FIDFBillName单据名称FPreLetter前缀名FSufLetter后缀名FCurNo当前单据序号FFormat当前序号的格式FPos2、ICMaxNumICMaxNumFTableName表名FMaxNum当前最大的FInterID四,单据套打1、GLNoteType:单据套打表,记录单据与套打编号的关系。GLNoteTypeFTemplateID单据ID,对应于ICTransactiontype中的FTemplateIDFnoteType单据套打名称FnoteTypeID单据套打ID2、GLNoteCitation:单据套打关系表,记录单据套打字段的属性。GLNoteCitationFTemplateID单据ID,对应于ICTransactiontype中的FTemplateIDFID在同一单据套打模板中,作为唯一的序列号FNoteTypeID套打ID,对应于GLNoteType中的FNoteTypeIDFcode数据来源字段名FCitationName套打模板取数名称FIsEntry当前字段是否是分录FIsMoney当前字段是否是金额FCtlIndex当前字段在单据中的位置(已经没用)FIsSum当前字段是否要合计FKeyFieldName扩展字段。表示要取FtableName表中的FextFieldName字段,通过FkeyFieldName字段与当前字段关联FExtFieldNameFTableNameFRelationID当前字段的属性标识1:表头2:表体3:汇总4:扩展表头5:主计量单位6:主计量单位数量7:主计量单位单价8:扩展分录相关说明:FRelationID与FIsEntry不同,FIsEntry是用来在套打定义中区分表头、表体(如:在表头栏里只显示表头字段、表体栏里只显示表体字段),FRelationID是套打在填充数值时,判断字段属性用的。单据调用接口客户端调用接口组件K3Bills.Bill,K3Bills.Bills方法PublicPropertyLetRemoteCnn(ByValstrCnnAsString)单据的远程SQLServer数据库连接字符串PublicPropertyLetLocalCnn(ByValstrCnnAsString)单据的本地ACCESS数据库连接字符串,主要用于套打PublicPropertyLetListRecordset(ByValrsAsADODB.Recordset)由序时薄等进入单据时,将序时薄上显示的纪录作为一个Recordset传给单据。单据在实现上一条、下一条的浏览功能时,就根据该Recordset去移动与构造。PublicPropertyLetListRSFieldVect(ByValvDataAsKFO.Vector)与ListRecordset相配套,主要用于说明该Recordset中哪个字段代表FinterID(单据内码),哪个字段代表FtranType(单据事务类型)。ListRSFieldVect是包含若干KFO.Dictionary的一个KFO.Vector,每个Dictionary包含有两个值:FcolName和FISPrimary。当FISPrimary=1时,对应的FcolName的值为单据内码字段名;当FISPrimary=3时,对应的FcolName的值为单据事务类型字段名。PublicPropertyLetbillValueChanged(ByValValueChangedAsBoolean)设置单据是否经过修改。PublicPropertyGetbillValueChanged()AsBoolean返回单据是否经过修改,从而可确定显示时是否需刷新数据。PublicPropertyLetNewBillTransType(ByValtranstypeAsLong)由序时薄新增单据时,新增单据的事物类型。PublicSubSetOpt(ByValIDAsLong,OptionalByValNameAsString)设置操作员的ID和Name。PublicPropertyLetTheSaleMode(ByValvNewAsEnu_SaleMode)销售方式内销0;外销1;PublicPropertyLetShowForModeExt(ByValvDataAsInteger)单据显示状态。有六种状态0:ShowForSelectBill,新增单据1:ShowForModifyBill,修改单据2:ShowForViewBill,查看单据3:ShowForCheckBill,审核单据4:ShowForConveyBill,下达单据5:ShowForPriceCal,核算时单据的单价金额修改PublicSubShow(ByValeBillClsAsEnu_BillCls,ByValShowTypeAsEnu_ShowBillType)显示想要调用的单据EbillCls:单据的类型PublicEnumEnu_BillClsBillBuyReq=100采购申请单据billBuyOrder=101采购订单BillBuyRec=102采购收货单据BillBuyCancel=112采购退货单据BillBuyInvoice=103采购发票BillCheckedInStock=200验收入库单据BillSendMaterials=201领料发货单据BillStockMove=202仓库调拨单据BillStockAdjust=204库存调整单据BillProductOrder=207生产订单BillSellOrder=300销售订单BillSellSendBackGoods=311销售退货单据BillSellSendGoods=301销售发货单据BillSellInvoice=302销售发票BillReqForPrice=400询价问价单据BillAdjustPrice=500调价单据billAll=1000所有单据EndEnumEshowType:单据的状态PublicEnumEnu_ShowBillTypeShowinput=0录入Showedit=1修改Showview=2查看Showcheck=3审核showconvey=4生产订单下达EndEnum中间层调用接口组件BillDataAccess.SaveData方法SaveBillEx(ByValsDsnAsString,ByValBillVectAsKFO.Vector)AsObject参数sDsn:连接字符串BillVect:KFO.Vector的对象,对象包含多少个元素可由Size()方法获得。第一个元素为KFO.Dictionary对象;第二个元素为KFO.Vector对象,保存二次开发组件传递的信息。对于第一个元素,其中保存着单据的一些基本信息,相应的关键字见下面说明:TransType:单据类型,为long型BillInterID:单据内码,新增单据时为0,为long型IsROBBill:单据是否区分红蓝单,为boolean型IsRedBill:单据是否为红单,为boolean型TableHeadName:单据表头对应的物理表名,为string型TableEntryName:单据表体对应的物理表名,为string型AutoBillNO:系统自动生成的单据编码,为string型BillNo:单据编码,为string型BillNoFldName:单据编码对应的物理字段名,为string型IsAppendItemBill:单据能否追加物料,为boolean型,默认值为FalseEntryKeyWord:分录关键字,为string型UserID:操作者ID,为long型,默认值为16394UserName:操作者名称,为string型AppendItem:是否追加了物料,为boolean型SplitBill:是否拆单,为boolean型AcctName:帐套名称,为string型CurBillUpStockWhenSave:保存库存单据时,是否更新库存,为long型,0表示否,从已有单据的FUpStockWhenSave字段获得,默认为0。。IgnoreCredit:是否进行信用控制,为boolean型,默认值为TrueEntrySQL:单据体数据的SQL语句的数组,记录单据保存时,提交的数据库更新SQL语句,为单据体SQL,为Variant型HeadSQL:单据头数据的SQL语句,记录单据保存时,提交的数据库更新SQL语句,为单据头SQL,为string型JustForAccInput:成本核算系统单据调用时的特殊控制参数,用来控制保存和界面处理。Boolean型ReSave:重新保存单据时的状态,每个字位代表一个意思,为long型,中间层若取不到值,默认值为7。1:表示忽略负库存、2:忽略库存警告、4:忽略锁库检查、8:忽略所有检查返回值:为KFO.Dictionary对象,相应的关键字见下面说明:Success:保存是否成功,为boolean型RetCode:返回的代码值,为long型。3:信用提示、2:最高最低库存提示、1:负库存提示、-200:锁库物料为负库存、-201:库存数不足以锁库、-204:销售最低限价提示、-205:采购最高限价提示ReturnMsg:返回的信息,为string型BillInterID:单据内码,为long型ReturnBillNo:单据编码,为string型CheckItemInfo:超出最高最低安全库存时存储相应的物料,为KFO.Vector对象单据流程新建单据流程新建单据时,首先设置单据的属性值(包括RemoteCnn、LocalCnn、SetOpt、TheSaleMode、ShowForModeExt、NewBillTransType),然后再调用过程PublicSubShow(ByValeBillClsAsEnu_BillCls,ByValeShowTypeAsEnu_ShowBillType),显示想要新建的某种单据,对于新建单据,参数eShowType应传值为0。过程Show通过激发窗体frmBill的Form_Load()事件,显示新建的单据样式。Form_Load()事件主要完成以下操作:调用函数FillBillTypeCtl(ByValctlAsObject,OptionalByValtranstype),从表ICTransactionType中取出新建单据类(可能包括多种单据)的基本属性值,包括单据名称、单据模版号、单据对应的数据库表名、单据窗体宽高等等。将每种单据的属性值拼成一个字符串,作为cmbTransType(comboBox控件)的一个列表值,依次添加到cmbTransType中。激发cmbTransType的cmbTransType_Click()事件,根据当前cmbTransType的列表值,取出该种单据有关属性值,设置窗体的宽高及固定列,再由该属性列表值通过调用过程BuildBill(ByValstrTemplateIDAsString)建立整张单据(包括单据头及单据分录)。设置菜单及工具条的Visible以及Enabled属性。设置套打的本地、远程的连接属性,以及套打模版号。过程BuildBill(ByValstrTemplateIDAsString)是构建单据的关键。它完成以下操作:根据传过来参数strTemplateID取得单据模版号、单据表头对应的数据库表名、单据分录对应的数据库表名、单据事务类型内部ID。根据单据模版号,从表ICTemplate中取得表头模版,从表ICTemplateEntry中取得分录模版。根据分录模版,调用过程BuildEntryCtls()构造单据的分录。根据表头模版,调用过程BuildHeadCtls()构造单据的表头。过程BuildEntryCtls(rsTmpEntryAsADODB.Recordset)完成单据分录的构造工作,参数rsTmpEntry是从ICTemplateEntry取出的一个记录集,它反映了该单据所有分录列的属性值,也就是该单据的分录模版。该过程主要是将分录模版信息存储在分录属性数组TentryCtl中,并根据这些模版信息去设置单据分录的列数、列宽、列标题、数据类型等属性。过程BuildHeadCtls(RstmpAsADODB.Recordset)完成单据头的构造工作,参数rsTmp是从ICTemplate取出的一个记录集,它反映了该单据所有表头的属性值,也就是该单据的表头模版。该过程主要是将表头模版信息存储在表头属性数组THeadCtl中,并根据这些模版信息去设置单据表头控件的大小、位置、标题、数据类型等属性。查看或修改单据流程:对于由报表或序时薄进入单据,首先设置单据的属性值(包括RemoteCnn、LocalCnn、SetOpt、TheSaleMode、ShowForModeExt、NewBillTransType,以及ListRecordset、ListRSFieldVect),然后再调用过程PublicSubShow(ByValeBillClsAsEnu_BillCls,ByValeShowTypeAsEnu_ShowBillT
/
本文档为【K3ERPwise老单开发手册】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索