K3ERPwise老单开发手册jqw.docx

上传人:jix****n11 文档编号:48232173 上传时间:2022-10-05 格式:DOCX 页数:211 大小:1.98MB
返回 下载 相关 举报
K3ERPwise老单开发手册jqw.docx_第1页
第1页 / 共211页
K3ERPwise老单开发手册jqw.docx_第2页
第2页 / 共211页
点击查看更多>>
资源描述

《K3ERPwise老单开发手册jqw.docx》由会员分享,可在线阅读,更多相关《K3ERPwise老单开发手册jqw.docx(211页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、 供应链开发帮助手册金蝶软件(中国)有限公司研发中心K/3供应开发组解释 目录K/3老单单据平台开发手册4l整体框架和设计思路4一、设计思路4二、UML图4l模版5一,单据构造模版:5二、选单模版9三,单据控制10四,单据套打10l单据调用接口11一、客户端调用接口11二、中间层调用接口13l单据流程15一、新建单据流程15二、查看或修改单据流程:16三、录单流程:17四、单据的保存流程22五、对下一版本的一些建议24l单据选单的实现说明25一,实现思路:25二,实现方式:25l单据模板Action说明文档28一、概述28二、关键词28三、分类28四、功能标准定义28五、标准过程指南31l单据

2、打印、连续打印、合并打印实现说明32一、GUI上单据打印的实现方式:32l常见问题分析32一、对于KDInputTool.DLL组件的日期控件的日期格式32二、对于Spread控件的取值赋值33三、模板数据冗余:33四、选单结构不灵活:34五、ICTemplate表、ICTemplateEntry表的问题34六、单据选单的关联关系:34单据二次开发手册34l属性35l方法36l用户可实现自己功能的事件37l中间层事件40l应用示例41K/3序时簿开发手册45l整体框架和设计思路45l模版45一、ICListTemplate:该表反映了供需链所有序时簿的总体情况。45二、ICChatbillti

3、tle:该表反映了所有序时簿的显示的字段详细情况。46三、ICListToolbar:该表反映了序时簿菜单和工具栏详细情况。47四、ICTableRelation:选单中涉及的所有表之间的连接关系。47l接口函数描述48一、相关组件48l序时簿二次开发48一、创建一个中间层组件,实现一个接口48二、注册组件49l常见问题分析50一、模板数据冗余:51二、序时簿几种状态51采购价格管理开发手册51l流程51l表结构51l代码结构51销售价格/折扣管理开发手册51l流程51l表结构51l代码结构52进出口开发手册52l流程52l表结构52l代码结构52发票钩稽开发手册52l流程52l表结构52l代

4、码结构52盘点开发手册52l盘点作业52l盘点方案查询53l盘点方案新建54l盘点方案删除54l备份盘点数据55l盘点数据引入/引出57l盘点选单57l生成盘点单据57序列号开发手册59l流程59l表结构59一、序列号流转表ICSerialFlow表结构:59二、序列号表ICSerial59三、ICSerial_FXXX60l基本操作61一、新增单据61二、审核单据:62三、删除单据:62四、作废单据:62五、更新库存后序列号状态单据类型对应表:63l代码结构63入库核算开发手册64l流程64l表结构64l代码结构64委外核销开发手册64l流程64l表结构64l代码结构64出库核算开发手册64

5、l表说明64l算法说明65l代码结构65一,所有计价方法的入口函数:65二,每一种计价方法的处理逻辑:66l核算常见问题汇总69l出库核算核算报错问题70凭证开发手册72l表说明72l凭证模版72l代码结构74l凭证常见问题说明75分销开发手册75l流程75l表结构75l代码结构81门店开发手册81l流程81l表结构81l代码结构81销售前台开发手册81l流程81l表结构81工业报表开发手册81l简介:81l主要函数:82l处理过程顺序图:83l代码结构83门户报表开发手册83l流程错误!未定义书签。l表结构错误!未定义书签。l代码结构错误!未定义书签。VB编程经验总结开发手册86lVB中精确

6、数据的四舍五入处理86l假设VB中有如下的变量声明:87lVB中的对象是自动回收的,类似java87l对对象变量赋值应该用 set obj = AnOtherObj 这种方式88lVB中字符串的内部存储格式是Unicode,它可以自动转化为ANSI字符(单字节字符)或者 DBCS 字符(双字节字符)88l字符串的比较应该是用 strCmp 函数,而不是简单的用 = 号89lVB中字符串处理的函数有三种版本:89lVB程序代码中的以下标识符不能含有双字节字符:91 K/3老单单据平台开发手册l 整体框架和设计思路一、 设计思路二、 UML图l 模版单据主要是在模版的基础上实现的。单据的模版有以下

7、几张表:ICTransactionType,ICTemplate,ICTemplateEntry,ICSelBills,ICTableRelation。前三张表用于构造显示单据,后两张表用于选单。一,单据构造模版: 1ICTransactionType:该表反映了供需链所有单据的总体情况。ICTransactionTypeFbrNoFID单据事务类型内部IDFROB红蓝字标记 :1表示该单据区分红 蓝字 ,0表示没有红蓝字之分Fname单据名称Ftype单据类别FtempalteID单据模版ID (与 ICTemplate,ICTemplateEntry 表中的FID对应FvchTempalt

8、eID(未用)FheadTable单据表头对应的数据库表名FentryTable单据表体对应的数据库表名FcheckPro(未用)FformWidth单据录入时的缺省宽度FformHeight单据录入时的缺省高度FfixCols单据的固定列数目 2ICTemplate:该表反映了所有单据的表头的详细情况。ICTemplateFID单据模版IDFctlIndex表头控件编号,连续且唯一FtabIndex控件的Tab跳动次序Fcaption控件标题Fctltype控件类型 0文本,1日期,2查找,3数量 ,4 编号,5 选单 ,6 单据标题,7 单据分录,8 审核,9 制单,10 批号,11 金额

9、,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 名

10、称,1 内部ID,2 代码FfieldName该字段对应在数据库表中的字段。在同一个单据的模版中不能重复。Fleft该单据头控件的位置FtopFwidthFheightFenable控件在各种状态下是否可录入:新增、修改、察看、审核、下达、单价金额修改。用一个六位的二进制数表示,可录入则对应位为1否则为0。常用值:0、32、48。Fprint是否打印(暂未用)Ffontname字体类型FfontSize字体大小FselBill如果该控件可以选择其它单据作为数据的输入来源,则该值对应为被选择单据的叙事簿ID(ICListTemplate表中的FID)FmustInput是否必须录入Ffilter

11、过滤条件。一般用于选单或查找某类基础资料时过滤掉一些不符合选择条件的单据或基础资料。FrelationID表示哪一个字段的改变会导致当前控件值的改变。它的值为对应字段的数据库字段名。如有多个这样的字段可以用逗号隔开。Faction为前面Frelationid定义的字段的改变时该执行什么样的操作。例如汇率这个字段,它的FrelationID为FcurrencyID ,Faction为 “.,FExchangeRate”表示当改变币别时,把对应币别的默认汇率填入汇率栏中。FlockA为1表示选单过来的数据不能再添加删除分录FROB1 只在蓝字单据中可见,2只在红字单据中可见3 在红蓝字单据中都可见

12、FdefaultCtl系统自带控件为1,自定义的为0 FvisForBillType控件在各种状态下的可见性:新增、修改、察看、审核、下达。用一个五位的二进制数表示,可见则对应位为1,否则为0。常用值:0、31。FVBACtlType自定义单据用来区分是什么类型的控件有Frame,Label,Kdtext三种FrelateOutTbl如果该控件为其它选择类型的属性则为1例如:销售发票有个客户开户银行账号就是此类FSystemMustInputItem如果是系统规定必须输入,即使自定义单据也不能把它变为非必录。3ICTemplateEntry:该表反映了所有单据的分录的详细情况。ICTempla

13、teEntryFID单据模版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

14、(核算项目表)中的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该

15、分录列的表头标题Fwidth该分录列的宽度FneedCount该分录列是否需要合计,1:需要 0:不需要FrelationID表示哪一个字段的改变会导致当前列值的改变。它的值为对应字段的数据库字段名。如有多个这样的字段可以用逗号隔开。Faction为前面Frelationid定义的字段的改变时该执行什么样的操作。例如金额这个字段,它的FrelationID为“FauxQty,FAuxPrice” ,Faction为“(),FAuxQty,*,FAuxPrice”表示当数量或单价改变时,计算数量与单价的乘积,并填入金额列中。FmustInput是否必须录入Ffilter过滤条件。一般用于查找某类

16、基础资料时过滤掉一些不符合选择条件的基础资料。FSaveRule该列值的保存规则,例如“U:0”表示该列的值不能为0。FdefaultCtl系统自带分录列为1,自定义的为0 FvisForBillType该列在各种状态下的可见性:新增、修改、察看、审核、下达。用一个五位的二进制数表示,可见则对应位为1,否则为0。常用值:0、31。FRelateOutTbl如果该分录列为其它选择类型的属性则为1例如:销售发票有个客户开户银行账号就是此类FSystemMustInputItem如果是系统规定必须输入,即使自定义单据也不能把它变为非必录。单据构造模版的基本用途是:根据要显示哪一种单据,首先去ICTr

17、ansactionType表中获取该种单据的总体信息,包括表头模版号、分录模版号、单据宽高等等。然后根据表头模版号去查表头模版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.该字段FQt

18、y;3.该字段100#该字段必须0#V该字段必须大于单据头日期V:Fdate该字段必须大于单据头Fdate$该字段不能与某字段同时=0$:FAuxQty该字段不能与FAuxQty同时=0D该字段不能大于另个日期的值D,FStartWorkDate该字段不能大于FStartWorkDate!几列不能全部为空!,FWorkerID,FDeviceIDFWorkerID,FDeviceID不能全部为空A:DEPEND依赖的某一列不能为空FDCSPID保存规则:A:DEPEND,FStockIDFStockID不能为空二、选单模版1 ICSelbills:选单要取得哪些值,这些值是如何而来的,以及需回

19、填到哪个对应的控件里。 ICSelbillsFID单据的模版IDFFieldName单据上可以选单的字段的字段名FdstCtlField回填的目标字段名FselType目标字段的类型:0 表示单据分录字段,2表示单据头字段,1表示该目标字段的当前值将会作为选单序时薄的过滤条件。FDK用于表头控件,表示对于同一个目标字段,该回填值是作为FID或Fname或Fnumber。0:FID 1:Fname 2:FnumberFcolName源字段的别名Fname源字段名FtableName源表名FtableAlias源表别名Faction用于处理一些需对字段值进行判断,或需要在字段之间进行一些运算的情况

20、。注意事项:单据头的字段如果有选单数据来源,则必须有三行,分别填入对应的ID,名称,代码。如果没有ID,代码,则随便传入一个数。而且这个顺序不能改变。2ICTableRelation:选单中涉及的所有表之间的连接关系。ICTableRelationFtypeid用于序时薄模版FinterID用于序时薄模版FtableName表1名FtableNameAlias表1的别名FfieldName表1的字段名Ftablename11表2名FtableNameAlias11表2的别名FfieldName11表2的字段名Flogic表1和表2的两个字段之间的关系FBillID选单模版号,与ICSelbil

21、ls中的FID相对应FFieldID选单字段名,与ICSelbills中的FFieldName相对应选单的基本过程是:由当前录入的是哪一种单据,以及是在哪一个控件上进行选单(即需要选何种单据),得到选单模版号FID、FieldName。从ICSelbills和ICTableRelation中选出对应的模版信息,拼装成一个SQL语句,执行取得相应的记录集。再根据ICSelbills中的数据回填信息,将该记录集的值回填到对应的目标字段中。三,单据控制1、ICBillNoICBillNoFBillID单据ID,对应于ICTransactiontype中的FIDFBillName单据名称FPreLet

22、ter前缀名FSufLetter后缀名FCurNo当前单据序号FFormat当前序号的格式FPos2、ICMaxNumICMaxNumFTableName表名FMaxNum当前最大的FInterID四,单据套打1、GLNoteType:单据套打表,记录单据与套打编号的关系。GLNoteTypeFTemplateID单据ID,对应于ICTransactiontype中的FTemplateIDFnoteType单据套打名称FnoteTypeID单据套打ID2、GLNoteCitation:单据套打关系表,记录单据套打字段的属性。GLNoteCitationFTemplateID单据ID,对应于IC

23、Transactiontype中的FTemplateIDFID在同一单据套打模板中,作为唯一的序列号FNoteTypeID套打ID,对应于GLNoteType中的FNoteTypeIDFcode数据来源字段名FCitationName套打模板取数名称FIsEntry当前字段是否是分录FIsMoney当前字段是否是金额FCtlIndex当前字段在单据中的位置(已经没用)FIsSum当前字段是否要合计FKeyFieldName扩展字段。表示要取FtableName表中的FextFieldName字段,通过FkeyFieldName字段与当前字段关联FExtFieldNameFTableNameFR

24、elationID当前字段的属性标识1:表头2:表体3:汇总4:扩展表头5:主计量单位6:主计量单位数量7:主计量单位单价8:扩展分录相关说明:FRelationID与FIsEntry不同,FIsEntry是用来在套打定义中区分表头、表体(如:在表头栏里只显示表头字段、表体栏里只显示表体字段),FRelationID是套打在填充数值时,判断字段属性用的。l 单据调用接口一、 客户端调用接口 组件K3Bills.Bill, K3Bills.Bills 方法1) Public Property Let RemoteCnn(ByVal strCnn As String)单据的远程SQL Server

25、数据库连接字符串2) Public Property Let LocalCnn(ByVal strCnn As String)单据的本地 ACCESS 数据库连接字符串,主要用于套打3) Public Property Let ListRecordset(ByVal rs As ADODB.Recordset)由序时薄等进入单据时,将序时薄上显示的纪录作为一个Recordset传给单据。单据在实现上一条、下一条的浏览功能时,就根据该Recordset去移动与构造。4) Public Property Let ListRSFieldVect(ByVal vData As KFO.Vector)与

26、ListRecordset相配套,主要用于说明该Recordset中哪个字段代表FinterID(单据内码),哪个字段代表FtranType(单据事务类型)。ListRSFieldVect是包含若干KFO.Dictionary的一个KFO.Vector,每个Dictionary包含有两个值:FcolName和FISPrimary。当FISPrimary=1时,对应的FcolName的值为单据内码字段名;当FISPrimary=3时,对应的FcolName的值为单据事务类型字段名。5) Public Property Let billValueChanged(ByVal ValueChanged

27、 As Boolean)设置单据是否经过修改。6) Public Property Get billValueChanged() As Boolean返回单据是否经过修改,从而可确定显示时是否需刷新数据。7) Public Property Let NewBillTransType(ByVal transtype As Long)由序时薄新增单据时,新增单据的事物类型。8) Public Sub SetOpt(ByVal ID As Long, Optional ByVal Name As String)设置操作员的ID和Name。9) Public Property Let TheSaleM

28、ode(ByVal vNew As Enu_SaleMode)销售方式 内销 0;外销 1;10) Public Property Let ShowForModeExt(ByVal vData As Integer)单据显示状态。有六种状态0:ShowForSelectBill,新增单据1:ShowForModifyBill,修改单据2:ShowForViewBill,查看单据3:ShowForCheckBill,审核单据4:ShowForConveyBill,下达单据5:ShowForPriceCal,核算时单据的单价金额修改11) Public Sub Show( ByVal eBillC

29、ls As Enu_BillCls, ByVal ShowType As Enu_ShowBillType)显示想要调用的单据EbillCls:单据的类型Public Enum Enu_BillCls BillBuyReq = 100采购申请单据 billBuyOrder = 101采购订单 BillBuyRec = 102采购收货单据 BillBuyCancel = 112采购退货单据 BillBuyInvoice = 103采购发票 BillCheckedInStock = 200验收入库单据 BillSendMaterials = 201领料发货单据 BillStockMove = 20

30、2仓库调拨单据 BillStockAdjust = 204库存调整单据 BillProductOrder = 207生产订单 BillSellOrder = 300销售订单 BillSellSendBackGoods = 311销售退货单据 BillSellSendGoods = 301销售发货单据 BillSellInvoice = 302销售发票 BillReqForPrice = 400询价问价单据 BillAdjustPrice = 500调价单据 billAll = 1000所有单据End EnumEshowType:单据的状态Public Enum Enu_ShowBillType

31、 Showinput = 0录入 Showedit = 1修改 Showview = 2查看 Showcheck = 3审核 showconvey = 4 生产订单下达End Enum二、 中间层调用接口 组件BillDataAccess.SaveData 方法SaveBillEx(ByVal sDsn As String, ByVal BillVect As KFO.Vector) As Object 参数sDsn:连接字符串BillVect:KFO.Vector的对象,对象包含多少个元素可由Size()方法获得。第一个元素为KFO.Dictionary对象;第二个元素为KFO.Vector

32、对象,保存二次开发组件传递的信息。对于第一个元素,其中保存着单据的一些基本信息,相应的关键字见下面说明:TransType:单据类型,为long型BillInterID:单据内码,新增单据时为0,为long型IsROBBill:单据是否区分红蓝单,为boolean型IsRedBill:单据是否为红单,为boolean型TableHeadName:单据表头对应的物理表名,为string型TableEntryName:单据表体对应的物理表名,为string型AutoBillNO:系统自动生成的单据编码,为string型BillNo:单据编码,为string型BillNoFldName:单据编码对应

33、的物理字段名,为string型IsAppendItemBill:单据能否追加物料,为boolean型,默认值为FalseEntryKeyWord:分录关键字,为string型UserID:操作者ID,为long型,默认值为16394UserName:操作者名称,为string型AppendItem:是否追加了物料,为boolean型SplitBill:是否拆单,为boolean型AcctName:帐套名称,为string型CurBillUpStockWhenSave:保存库存单据时,是否更新库存,为long型,0表示否,从已有单据的FUpStockWhenSave字段获得,默认为0。Ignor

34、eCredit:是否进行信用控制,为boolean型,默认值为TrueEntrySQL:单据体数据的SQL语句的数组,记录单据保存时,提交的数据库更新SQL语句,为单据体SQL,为Variant型HeadSQL:单据头数据的SQL语句,记录单据保存时,提交的数据库更新SQL语句,为单据头SQL,为string型JustForAccInput:成本核算系统单据调用时的特殊控制参数,用来控制保存和界面处理。Boolean型ReSave:重新保存单据时的状态,每个字位代表一个意思,为long型,中间层若取不到值,默认值为7。1:表示忽略负库存、2:忽略库存警告、4:忽略锁库检查、8:忽略所有检查 返

35、回值:为KFO.Dictionary对象,相应的关键字见下面说明:Success:保存是否成功,为boolean型RetCode:返回的代码值,为long型。3:信用提示、2:最高最低库存提示、1:负库存提示、-200:锁库物料为负库存、-201:库存数不足以锁库、-204:销售最低限价提示、-205:采购最高限价提示ReturnMsg:返回的信息,为string型BillInterID:单据内码,为long型ReturnBillNo:单据编码,为string型CheckItemInfo:超出最高最低安全库存时存储相应的物料,为KFO.Vector对象l 单据流程一、 新建单据流程新建单据时,

36、首先设置单据的属性值(包括RemoteCnn、LocalCnn、SetOpt、TheSaleMode、ShowForModeExt、NewBillTransType),然后再调用过程Public Sub Show( ByVal eBillCls As Enu_BillCls, ByVal eShowType As Enu_ShowBillType),显示想要新建的某种单据,对于新建单据,参数eShowType应传值为。过程Show通过激发窗体frmBill的Form_Load()事件,显示新建的单据样式。Form_Load()事件主要完成以下操作:1 调用函数FillBillTypeCtl(B

37、yVal ctl As Object, Optional ByVal transtype),从表ICTransactionType中取出新建单据类(可能包括多种单据)的基本属性值,包括单据名称、单据模版号、单据对应的数据库表名、单据窗体宽高等等。将每种单据的属性值拼成一个字符串,作为cmbTransType(comboBox控件)的一个列表值,依次添加到cmbTransType中。2 激发cmbTransType的cmbTransType_Click ()事件,根据当前cmbTransType的列表值,取出该种单据有关属性值,设置窗体的宽高及固定列,再由该属性列表值通过调用过程BuildBil

38、l(ByVal strTemplateID As String)建立整张单据(包括单据头及单据分录)。3 设置菜单及工具条的Visible以及Enabled属性。4 设置套打的本地、远程的连接属性,以及套打模版号。过程BuildBill(ByVal strTemplateID As String)是构建单据的关键。它完成以下操作:1 根据传过来参数strTemplateID取得单据模版号、单据表头对应的数据库表名、单据分录对应的数据库表名、单据事务类型内部ID。2 根据单据模版号,从表ICTemplate中取得表头模版,从表ICTemplateEntry中取得分录模版。3 根据分录模版,调用过

39、程BuildEntryCtls()构造单据的分录。4 根据表头模版,调用过程BuildHeadCtls()构造单据的表头。过程BuildEntryCtls(rsTmpEntry As ADODB.Recordset)完成单据分录的构造工作,参数rsTmpEntry是从ICTemplateEntry取出的一个记录集,它反映了该单据所有分录列的属性值,也就是该单据的分录模版。该过程主要是将分录模版信息存储在分录属性数组TentryCtl中,并根据这些模版信息去设置单据分录的列数、列宽、列标题、数据类型等属性。过程BuildHeadCtls(Rstmp As ADODB.Recordset)完成单据

40、头的构造工作,参数rsTmp是从ICTemplate取出的一个记录集,它反映了该单据所有表头的属性值,也就是该单据的表头模版。该过程主要是将表头模版信息存储在表头属性数组THeadCtl中,并根据这些模版信息去设置单据表头控件的大小、位置、标题、数据类型等属性。二、 查看或修改单据流程:对于由报表或序时薄进入单据,首先设置单据的属性值(包括RemoteCnn、LocalCnn、SetOpt、TheSaleMode、ShowForModeExt、NewBillTransType,以及ListRecordset、ListRSFieldVect),然后再调用过程Public Sub Show( By

41、Val eBillCls As Enu_BillCls, ByVal eShowType As Enu_ShowBillType),显示想要修改的某种单据。如果是修改单据,参数eShowType传值为;如果是查看单据,参数eShowType传值为。查看或修改单据的主要操作也是在窗体frmBill的Form_Load()事件中完成。流程如下:调用过程MoveBill取得显示单据的事物类型和单据内码 设置套打的本地、远程的连接属性,以及套打模版号设置菜单及工具条的Visible以及Enabled属性,设定表头控件及分录列的锁定状况调用函数FillBillData,根据事务类型及单据内码,去数据库种

42、取得该张单据的所有相关数据,并将其值填入到空白单据中。调用函数FillBillTypeCtl新建一张同种事务类型的空白单据(其过程与新建单据一样)函数Public Function FillBillData(ByVal InterID As Long, ByVal transtype As Integer) As Integer完成将某张单据数据填入空白单据的操作,参数InterID指该张单据的内码,参数transtype指该张单据的事物类型。这两个参数可确定唯一一张单据。FillBillData的流程如下:根据单据内码以及单据表头对应的数据库表名,取得单据表头信息记录集。逐个读取该记录集,将其数据填入相应的分录列中以及分录控件数组TEntryCtl中通过单据内码以及单据分录对应的数据库表名,取得单据分录信息记录集。逐个读取该记录集,将其数据填入相应的表头控件中以及表头控件数组THeadCtl中三、 录单流程:在录单的过程中,表头控件及分录列都设置了一定的属性,即只能录入特定的数据。对于基础资料和选单,都有两种录入方式:按F7或F8选取或手工直接录入。其它的如数量、单价、单据号码等,就只能手工录入。过程Private Sub LookUp(Optional ByVal bQuickView As Integer = 1)实现了按F7或F8键查看并选取某项

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 技术规范

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁