




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、版權(quán)所有 1993-2010 金蝶軟件(中國(guó))有限公司P2 版權(quán)所有 1993-2006 金蝶軟件(中國(guó))有限公司 工業(yè)單工業(yè)單據(jù)平臺(tái)據(jù)平臺(tái) 簡(jiǎn)介簡(jiǎn)介 單據(jù)模版介紹單據(jù)模版介紹 代碼結(jié)構(gòu)介紹代碼結(jié)構(gòu)介紹 工業(yè)單據(jù)工業(yè)單據(jù)序時(shí)序時(shí)簿簿 序時(shí)簿模版介紹序時(shí)簿模版介紹 代碼結(jié)構(gòu)介紹代碼結(jié)構(gòu)介紹 工業(yè)單據(jù)打印工業(yè)單據(jù)打印 單據(jù)打印介紹單據(jù)打印介紹 套打模版介紹套打模版介紹 打印代碼結(jié)構(gòu)介紹打印代碼結(jié)構(gòu)介紹P3 版權(quán)所有 1993-2006 金蝶軟件(中國(guó))有限公司工業(yè)單據(jù)平臺(tái)工業(yè)單據(jù)平臺(tái)-簡(jiǎn)介簡(jiǎn)介n工業(yè)單據(jù)平臺(tái)和工業(yè)單據(jù)平臺(tái)和BOSBOS平臺(tái)的關(guān)系和特點(diǎn)平臺(tái)的關(guān)系和特點(diǎn)工業(yè)單據(jù)平臺(tái)是K/3 BOS平臺(tái)
2、產(chǎn)生之前的K/3工業(yè)統(tǒng)一單據(jù)平臺(tái)主要應(yīng)用于K/3工業(yè)鏈系統(tǒng)和制造系統(tǒng)早期開(kāi)發(fā)的業(yè)務(wù)單據(jù)基于數(shù)據(jù)庫(kù)模版配置動(dòng)態(tài)構(gòu)建三層架構(gòu)模式涵蓋了業(yè)務(wù)單據(jù)的設(shè)計(jì)、維護(hù)、打印、單據(jù)轉(zhuǎn)換和列表查詢(xún)等功能支持較豐富的二次開(kāi)發(fā)接口和手段n注意目前處于維護(hù)已有單據(jù)階段禁止創(chuàng)建新的業(yè)務(wù)單據(jù)類(lèi)型,新的業(yè)務(wù)單據(jù)必須使用BOS實(shí)現(xiàn),已有單據(jù)新增的業(yè)務(wù)功能盡量采用二次開(kāi)發(fā)接口擴(kuò)展實(shí)現(xiàn),盡量減少對(duì)單據(jù)自身核心代碼的改動(dòng)(可擴(kuò)展接口)n其它本課件主要介紹工業(yè)單據(jù)平臺(tái)的單據(jù)、序時(shí)簿和套打相關(guān)的模版表結(jié)構(gòu)和代碼處理結(jié)構(gòu),單據(jù)轉(zhuǎn)換和二次開(kāi)發(fā)等其他相關(guān)內(nèi)容請(qǐng)參考相應(yīng)主題的其它課件P4 版權(quán)所有 1993-2006 金蝶軟件(中國(guó))有限公司工
3、業(yè)單據(jù)平臺(tái)工業(yè)單據(jù)平臺(tái)-單據(jù)模版介紹單據(jù)模版介紹表名作用ICTransactionType單據(jù)事務(wù)類(lèi)型表,描述單據(jù)的整體性配置屬性,類(lèi)似BOS的ICClassTypeICTemplate單據(jù)頭模版表,描述單據(jù)頭字段的配置情況,類(lèi)似BOS的ICClassTableinfoICTemplateEntry單據(jù)體模版表,描述單據(jù)體字段的配置情況,類(lèi)似BOS的ICClassTableinfoICBillAction單據(jù)擴(kuò)展Action配置表,描述單據(jù)參數(shù)化選擇性Action配置方案P5 版權(quán)所有 1993-2006 金蝶軟件(中國(guó))有限公司工業(yè)單據(jù)平臺(tái)工業(yè)單據(jù)平臺(tái)-單據(jù)模版介紹單據(jù)模版介紹nICTran
4、sactionType 單據(jù)事務(wù)類(lèi)型表(一)單據(jù)事務(wù)類(lèi)型表(一)字段說(shuō)明FBrNo機(jī)構(gòu)編碼,未使用FID單據(jù)事務(wù)類(lèi)型內(nèi)部IDFRob紅藍(lán)字標(biāo)記 :1表示該單據(jù)區(qū)分紅藍(lán)字 ,0表示沒(méi)有紅藍(lán)字之分FName單據(jù)名稱(chēng)FType單據(jù)類(lèi)別,代碼中少數(shù)地方有判斷使用,枚舉值定義位置. CodeUltimateK3INDUSTRYPublicPublic ModulesClientK3Enum.basFTempalteID單據(jù)模版IDFVchTempalteID憑證模版IDFHeadTable單據(jù)表頭對(duì)應(yīng)的數(shù)據(jù)庫(kù)表名FEntryTable單據(jù)表體對(duì)應(yīng)的數(shù)據(jù)庫(kù)表名FCheckPro單據(jù)審核的二次開(kāi)發(fā)組件(現(xiàn)通
5、過(guò)二次開(kāi)發(fā)模版配置)FFixCols單據(jù)的固定列數(shù)目(從左到右的鎖定)P6 版權(quán)所有 1993-2006 金蝶軟件(中國(guó))有限公司工業(yè)單據(jù)平臺(tái)工業(yè)單據(jù)平臺(tái)-單據(jù)模版介紹單據(jù)模版介紹nICTransactionType 單據(jù)事務(wù)類(lèi)型表(二)單據(jù)事務(wù)類(lèi)型表(二)字段說(shuō)明FObjectType權(quán)限對(duì)象類(lèi)型FObjectID權(quán)限對(duì)象IDFBillPOSHeadTable前臺(tái)錄單系統(tǒng)對(duì)應(yīng)單據(jù)頭表FBillPOSEntryTable前臺(tái)錄單系統(tǒng)對(duì)應(yīng)單據(jù)體表FListTemplateID序時(shí)簿IDP7 版權(quán)所有 1993-2006 金蝶軟件(中國(guó))有限公司工業(yè)單據(jù)平臺(tái)工業(yè)單據(jù)平臺(tái)-單據(jù)模版介紹單據(jù)模版介紹n
6、ICTemplate 單據(jù)頭字段描述表(一)單據(jù)頭字段描述表(一)字段說(shuō)明FID 單據(jù)模版ID ,對(duì)應(yīng)于ICTransactionType表中的FTemplateID字段FCtlIndex 表頭控件編號(hào)(作為控件數(shù)組的索引,所以必須連續(xù)且唯一) FTabIndex 控件的Tab跳動(dòng)次序 FCaption 控件標(biāo)題 FCtltype 控件類(lèi)型 0文本,1日期,2查找,3數(shù)量 ,4 編號(hào),5 選單 ,6 單據(jù)標(biāo)題,7 單據(jù)分錄,8 審核,9 制單,10 批號(hào),11 金額,12 單價(jià),13 稅率,14 會(huì)計(jì)科目 ,15 生產(chǎn)訂單狀態(tài),16 生產(chǎn)訂單來(lái)源,17 要求缺省為空的日期,18 記賬 , 20
7、 匯率,21 含稅價(jià),22 當(dāng)前操作員, 30 自定義單據(jù)使用的字符串類(lèi)型,31自定義單據(jù)使用的數(shù)字類(lèi)型,32自定義單據(jù)使用的日期類(lèi)型,33自定義單據(jù)使用的整數(shù)類(lèi)型40本位幣金額類(lèi)型 P8 版權(quán)所有 1993-2006 金蝶軟件(中國(guó))有限公司工業(yè)單據(jù)平臺(tái)工業(yè)單據(jù)平臺(tái)-單據(jù)模版介紹單據(jù)模版介紹nICTemplate 單據(jù)頭字段描述表(二)單據(jù)頭字段描述表(二)字段說(shuō)明FLookUpCls 查找類(lèi)別如果FCtltype為查找類(lèi)型,則與表t_ItemClass(核算項(xiàng)目表)中的FItemClassID對(duì)應(yīng),或者為輔助資料的ID(t_SubMesType 中FtypeID,t_SubMessage中
8、FTypeID)還有幾種不屬于以上類(lèi)型的自定義的類(lèi)型:18:批號(hào) 13:科目 12:幣別 -8:分錄審核人 -15:倉(cāng)位-17:?jiǎn)螕?jù)類(lèi)型 -18:質(zhì)檢方案 -20:部門(mén)(車(chē)間特殊處理,現(xiàn)已無(wú)用)-24:對(duì)應(yīng)代碼 -35:選單關(guān)聯(lián)關(guān)系列表 -99:輔助屬性-100:工藝路線(xiàn) -101:BOM調(diào)用 -102:生產(chǎn)類(lèi)型-103:生產(chǎn)線(xiàn) -110:BOM單組別 -108:虛倉(cāng)批號(hào)V10版本增加對(duì)新單據(jù)平臺(tái)的支持。一般輔助資料FLookUpCls 999999。 P9 版權(quán)所有 1993-2006 金蝶軟件(中國(guó))有限公司工業(yè)單據(jù)平臺(tái)工業(yè)單據(jù)平臺(tái)-單據(jù)模版介紹單據(jù)模版介紹字段說(shuō)明FNeedSave是否需
9、要保存FValueType保存到數(shù)據(jù)庫(kù)中值的類(lèi)型 0 字符串,1 數(shù)字,2 日期,3 整數(shù),8 Bool型FSaveValue保存值的類(lèi)型 0 名稱(chēng),1 內(nèi)部ID,2 代碼前期版本存在類(lèi)型3,已經(jīng)沒(méi)有使用了FFieldName 該字段對(duì)應(yīng)在數(shù)據(jù)庫(kù)表中的字段。在同一個(gè)單據(jù)的模版中不能重復(fù)。FEnable控件在各種單據(jù)操作下是否可錄入:用一組二進(jìn)制數(shù)表示,可錄入則對(duì)應(yīng)位為1否則為0。各位表示表如下(從左到右)nICTemplate 單據(jù)頭字段描述表(三)單據(jù)頭字段描述表(三)P10 版權(quán)所有 1993-2006 金蝶軟件(中國(guó))有限公司工業(yè)單據(jù)平臺(tái)工業(yè)單據(jù)平臺(tái)-單據(jù)模版介紹單據(jù)模版介紹nFEnab
10、leFEnable值說(shuō)明值說(shuō)明操作訂單確認(rèn)新增修改查看審核下達(dá)單價(jià)金額修改位權(quán)6432168421如:48(110000)表示該字段在新增、修改狀態(tài)下可以錄入,其他狀態(tài)下不可錄入 P11 版權(quán)所有 1993-2006 金蝶軟件(中國(guó))有限公司工業(yè)單據(jù)平臺(tái)工業(yè)單據(jù)平臺(tái)-單據(jù)模版介紹單據(jù)模版介紹nICTemplate 單據(jù)頭字段描述表(四)單據(jù)頭字段描述表(四)字段說(shuō)明FPrint是否打印FSelBill如果該控件可以選擇其它單據(jù)作為數(shù)據(jù)的輸入來(lái)源,則該值對(duì)應(yīng)為被選擇單據(jù)的敘事簿ID一般單據(jù)FSelBill999999。 FMustInput 是否必須錄入 FFilter過(guò)濾條件。一般用于選單或查
11、找某類(lèi)基礎(chǔ)資料時(shí)過(guò)濾掉一些不符合選擇條件的單據(jù)或基礎(chǔ)資料。 這里只是靜態(tài)條件,如果需要?jiǎng)討B(tài)切換,需要在單據(jù)代碼中實(shí)現(xiàn)FRelationID表示哪一個(gè)字段的改變會(huì)導(dǎo)致當(dāng)前控件值的改變。值為對(duì)應(yīng)字段的數(shù)據(jù)庫(kù)字段名。如有多個(gè)這樣的字段可以用逗號(hào)隔開(kāi)。P12 版權(quán)所有 1993-2006 金蝶軟件(中國(guó))有限公司工業(yè)單據(jù)平臺(tái)工業(yè)單據(jù)平臺(tái)-單據(jù)模版介紹單據(jù)模版介紹nICTemplate 單據(jù)頭字段描述表(五)單據(jù)頭字段描述表(五)字段說(shuō)明FAction 前面FRelationid定義的字段的改變時(shí)該執(zhí)行什么樣的操作。例如匯率這個(gè)字段,它的FRelationID為FCurrencyID ,F(xiàn)Action為
12、 “.,FExchangeRate”表示當(dāng)改變幣別時(shí),把對(duì)應(yīng)幣別的默認(rèn)匯率填入?yún)R率欄中。FLockA 為1表示選單過(guò)來(lái)的數(shù)據(jù)不能再添加刪除分錄 FROB 1 只在藍(lán)字單據(jù)中可見(jiàn),2只在紅字單據(jù)中可見(jiàn)3 在紅藍(lán)字單據(jù)中都可見(jiàn)FDefaultCtl 系統(tǒng)自帶控件為1,自定義的為0 FVisForBillType 控件在各種單據(jù)操作下是否可見(jiàn):用一組二進(jìn)制數(shù)表示,可見(jiàn)則對(duì)應(yīng)位為1否則為0。各位表示表如下(從左到右) P13 版權(quán)所有 1993-2006 金蝶軟件(中國(guó))有限公司工業(yè)單據(jù)平臺(tái)工業(yè)單據(jù)平臺(tái)-單據(jù)模版介紹單據(jù)模版介紹nFVisForBillType 值說(shuō)明操作導(dǎo)入可選數(shù)據(jù)倒入鎖定字段并默認(rèn)
13、導(dǎo)出是否作為數(shù)據(jù)導(dǎo)入字段:K3BillsDataImport.vbp移動(dòng)商務(wù)默認(rèn)字段移動(dòng)商務(wù)可用新增修改查看審核下達(dá)位權(quán)5122561286432168421P14 版權(quán)所有 1993-2006 金蝶軟件(中國(guó))有限公司工業(yè)單據(jù)平臺(tái)工業(yè)單據(jù)平臺(tái)-單據(jù)模版介紹單據(jù)模版介紹nICTemplate 單據(jù)頭字段描述表(六)單據(jù)頭字段描述表(六)字段說(shuō)明FVBACtlType 自定義單據(jù)用來(lái)區(qū)分是什么類(lèi)型的控件有Frame,Label,Kdtext三種 FRelateOutTbl 如果該控件為其它選擇類(lèi)型的屬性則為1表示該字段在當(dāng)前表中不存在,是屬于關(guān)聯(lián)的其他表例如:銷(xiāo)售發(fā)票有個(gè)客戶(hù)開(kāi)戶(hù)銀行賬號(hào)就是此類(lèi)
14、 FSystemMustInputItem 是否系統(tǒng)必錄,如果為1,則自定義單據(jù)也不能把它變?yōu)榉潜劁?。FInEntryForSPrint 連續(xù)打印時(shí)打印在分錄里 FMaxValue 字段最大值 FMinValue字段最小值FDefaultValue 字段默認(rèn)值 CurrDate、CurrTime、CurrYear、CurrPeriod分別為當(dāng)前日期、時(shí)間、年度、會(huì)計(jì)期間 P15 版權(quán)所有 1993-2006 金蝶軟件(中國(guó))有限公司工業(yè)單據(jù)平臺(tái)工業(yè)單據(jù)平臺(tái)-單據(jù)模版介紹單據(jù)模版介紹nICTemplate 單據(jù)頭字段描述表(七)單據(jù)頭字段描述表(七)字段說(shuō)明FFormat 表示當(dāng)前字段的格式或精
15、度或長(zhǎng)度如果當(dāng)前字段為日期類(lèi)型(FValueType=2),則0表示普通日期類(lèi)型,1表示長(zhǎng)日期類(lèi)型(精確到時(shí)分秒)FLookUpType字段查找類(lèi)別,主要用于查找字段下拉列表,值枚舉定義在.CodePublicK3BosPublic ModulesPubmodHYEnum.basP16 版權(quán)所有 1993-2006 金蝶軟件(中國(guó))有限公司工業(yè)單據(jù)平臺(tái)工業(yè)單據(jù)平臺(tái)-單據(jù)模版介紹單據(jù)模版介紹nICTemplateEntry 單據(jù)體字段描述表單據(jù)體字段描述表單據(jù)體字段描述表結(jié)構(gòu)與單據(jù)頭字段描述表結(jié)構(gòu)類(lèi)似,對(duì)應(yīng)字段含義也非常相似n特殊字段說(shuō)明特殊字段說(shuō)明字段說(shuō)明FCtlOrder該字段的值決定字段在
16、單據(jù)自字段數(shù)組中的下標(biāo),F(xiàn)CtlIndex只是字段在界面上的顯示順序,和單據(jù)頭字段描述表的FCtlInidex字段一樣,要保持FCtlOrder的順序和連續(xù)性,該字段值的先后順序決定級(jí)聯(lián)Action的觸發(fā)順序,此字段值順序的修改可能影響會(huì)導(dǎo)致單據(jù)Action的計(jì)算結(jié)果的不同F(xiàn)CtlType 分錄列類(lèi)型 0文本,1日期,2查找,3數(shù)量 ,4 編號(hào),5 選單 ,6 單據(jù)標(biāo)題,7 單據(jù)分錄,8 審核,9 制單,10 批號(hào),11 金額,12 單價(jià),13 稅率,14 會(huì)計(jì)科目 ,15 生產(chǎn)訂單狀態(tài),16 生產(chǎn)訂單來(lái)源,17 要求缺省為空的日期,18 記賬 ,20 匯率,21 含稅價(jià), 30 自定義單據(jù)使
17、用的字符串類(lèi)型,31自定義單據(jù)使用的數(shù)字類(lèi)型,32自定義單據(jù)使用的日期類(lèi)型,33自定義單據(jù)使用的整數(shù)類(lèi)型,40本位幣金額類(lèi)型 P17 版權(quán)所有 1993-2006 金蝶軟件(中國(guó))有限公司工業(yè)單據(jù)平臺(tái)工業(yè)單據(jù)平臺(tái)-單據(jù)模版介紹單據(jù)模版介紹字段說(shuō)明FLookUpCls 如為查找類(lèi)型 則與表t_ItemClass(核算項(xiàng)目表)中的FItemClassID對(duì)應(yīng),或者為輔助資料的ID(t_SubMesType 中FtypeID,t_SubMessage中FTypeID)還有幾種不屬于以上類(lèi)型的自定義的類(lèi)型:18:批號(hào) 13:科目 12:幣別 -8:分錄審核人-15:倉(cāng)位 -17:?jiǎn)螕?jù)類(lèi)型 -18:質(zhì)檢
18、方案-20:部門(mén)(車(chē)間特殊處理,現(xiàn)已無(wú)用)-24:對(duì)應(yīng)代碼-35:選單關(guān)聯(lián)關(guān)系列表 -99:輔助屬性 -100:工藝路線(xiàn) -101:BOM調(diào)用 -102:生產(chǎn)類(lèi)型-103:生產(chǎn)線(xiàn) -110:BOM單組別 -108:虛倉(cāng)批號(hào)V10版本增加對(duì)新單據(jù)平臺(tái)的支持。一般輔助資料FLookUpCls 999999。 nICTemplateEntry 特殊字段說(shuō)明(二)特殊字段說(shuō)明(二)P18 版權(quán)所有 1993-2006 金蝶軟件(中國(guó))有限公司工業(yè)單據(jù)平臺(tái)工業(yè)單據(jù)平臺(tái)-單據(jù)模版介紹單據(jù)模版介紹字段說(shuō)明FNeedCount該分錄列是否需要合計(jì),1:需要 0:不需要。應(yīng)用于單據(jù)界面的合計(jì)顯示。 FSaveR
19、ule該列值的保存規(guī)則,例如“U:0”表示該列的值不能為0。FSaveRule的詳細(xì)含義需要在代碼中查詢(xún)FStatCount是否匯總類(lèi)字段(與FNeedCount類(lèi)似,但使用于程序內(nèi)部的拆分、打印、合并打印等處理)nICTemplateEntry 特殊字段說(shuō)明(三)特殊字段說(shuō)明(三)模板維護(hù)注意:盡量保持FCtlOrder和FCtlIndex字段的一致性盡量采用以前版本維護(hù)腳本文件中采用的模塊化SQL片段P19 版權(quán)所有 1993-2006 金蝶軟件(中國(guó))有限公司工業(yè)單據(jù)平臺(tái)工業(yè)單據(jù)平臺(tái)-單據(jù)模版介紹單據(jù)模版介紹n工業(yè)單據(jù)工業(yè)單據(jù)ActionAction簡(jiǎn)介簡(jiǎn)介單據(jù)Action是一種自動(dòng)計(jì)算
20、機(jī)制,計(jì)算種類(lèi)非常廣泛,例如錄入物料攜帶名稱(chēng),修改數(shù)量重算金額等單據(jù)Action大多采用被動(dòng)方式觸發(fā),一小部分為主動(dòng)方式單據(jù)Action支持級(jí)聯(lián)觸發(fā)單據(jù)基本的Action都配置在單據(jù)頭模版和單據(jù)體模版中,有些需要根據(jù)系統(tǒng)參數(shù)和單據(jù)選項(xiàng)采用不同Action的方案保存在ICBillAction表中,該表結(jié)構(gòu)后續(xù)講解單據(jù)支持單據(jù)頭字段修改影響到單據(jù)體的Action單據(jù)Action支持對(duì)觸發(fā)源的選擇性使用P20 版權(quán)所有 1993-2006 金蝶軟件(中國(guó))有限公司工業(yè)單據(jù)平臺(tái)工業(yè)單據(jù)平臺(tái)-單據(jù)模版介紹單據(jù)模版介紹n工業(yè)單據(jù)工業(yè)單據(jù)ActionAction詳解詳解單據(jù)Action由Action標(biāo)示符,
21、選擇性觸發(fā)源字段列表和Action計(jì)算參數(shù)列表三部分組成,每部分之間用逗號(hào)分隔,一個(gè)字段也可以配置多個(gè)Action,Action之間用分號(hào)分隔,如采購(gòu)發(fā)票的換算率字段:FRelationID值:FItemID,FSecQtyFItemID,FSecQtyFAction值:.,.,FSecCoefficientFSecCoefficient; ;Cal,FSecQty&ACal,FSecQty&A=B/=B/C,FQty,FSecQtyC,FQty,FSecQty; ;ControlLocked,FSecUnitIDControlLocked,FSecUnitID,=,True,
22、=,True這個(gè)Action表達(dá)式共包含了3個(gè)ActionAction1Action標(biāo)志符:. Action含義:攜帶基礎(chǔ)資料屬性到當(dāng)前字段Action選擇性觸發(fā)源:空,表示FRelationID字段中列出的所有字段修改都會(huì)觸發(fā)此Action(觸發(fā)源和參數(shù)間用&分隔,多個(gè)觸發(fā)源之間用|分隔)Action參數(shù)列表:FSecCoefficient結(jié)合參數(shù),該Action含義為:攜帶觸發(fā)源字段的輔助換算率屬性到當(dāng)前字段,因?yàn)橛|發(fā)源中的FSecQty不是基礎(chǔ)資料,此Action自動(dòng)失效Action2Action標(biāo)志符:CalAction含義:按照自定義公式計(jì)算結(jié)果并填入當(dāng)前字段Action選擇
23、性觸發(fā)源:FSecQty,表示只有FSecQty字段值修改才會(huì)觸發(fā)此ActionP21 版權(quán)所有 1993-2006 金蝶軟件(中國(guó))有限公司工業(yè)單據(jù)平臺(tái)工業(yè)單據(jù)平臺(tái)-單據(jù)模版介紹單據(jù)模版介紹n工業(yè)單據(jù)工業(yè)單據(jù)ActionAction詳解詳解( (序上頁(yè)序上頁(yè)) ) .,FSecCoefficient;Cal,FSecQty&A=B/C,FQty,FSecQty;ControlLocked,FSecUnitID,=,TrueAction2(續(xù)上頁(yè))Action參數(shù)列表參數(shù)1:A=B/C 自定義計(jì)算公式,含義:當(dāng)前字段A結(jié)果=參數(shù)2/參數(shù)3參數(shù)2,3(FQty,FSecQty)按順序分別
24、對(duì)應(yīng)為B和C的取值來(lái)源,常數(shù)計(jì)算項(xiàng)直接寫(xiě)入計(jì)算公式,不需要增加參數(shù)Action3Action標(biāo)志符:ControlLocked Action含義:根據(jù)計(jì)算結(jié)果鎖定/放開(kāi)字段Action選擇性觸發(fā)源:空,表示FRelationID字段中列出的所有字段Action參數(shù)列表:FSecUnitID ,=,True,共4個(gè)參數(shù)FSecUnitID 判斷界面取值來(lái)源字段,這里為輔助計(jì)量單位= 判斷邏輯,這里為判斷相等 ,比較參考值,這里為 (空)True 返回值結(jié)合所有參數(shù),此Action含義為如果輔助計(jì)量單位字段為空則返回True(應(yīng)用到當(dāng)前字段的FEnabled屬性上)P22 版權(quán)所有 1993-20
25、06 金蝶軟件(中國(guó))有限公司工業(yè)單據(jù)平臺(tái)工業(yè)單據(jù)平臺(tái)-單據(jù)模版介紹單據(jù)模版介紹nICBillActionICBillAction從之前的單據(jù)模版可以看到單據(jù)模版對(duì)每個(gè)字段只能配置一套Action計(jì)算公式,但是有些業(yè)務(wù)單據(jù)要求同一字段在不同的情況下采用兩套或幾套完全不同的Action計(jì)算方案,比較典型的如銷(xiāo)售發(fā)票的折扣字段在“是否啟用整單折扣”和“折扣基礎(chǔ)是否含稅”這兩個(gè)參數(shù)的組合情況下有4套不同的計(jì)算邏輯,ICBillAction表就是為了滿(mǎn)足類(lèi)似要求而建立,在單據(jù)加載或選項(xiàng)切換時(shí),單據(jù)平臺(tái)會(huì)拋出Action加載事件,負(fù)責(zé)該表內(nèi)容解析的公共單據(jù)插件就會(huì)根據(jù)傳來(lái)的參數(shù)組合情況從該物理表中加載指
26、定單據(jù)不同的Action方案,并以此替換從單據(jù)模版中得到的Action計(jì)算方案,從而在修改觸發(fā)時(shí)能應(yīng)用不同配置的Action方案字段說(shuō)明FID數(shù)據(jù)內(nèi)碼FTransType單據(jù)類(lèi)型,該表也用于配置新單的Action方案FPage單據(jù)字段所在頁(yè)索引,用于新單FOrder執(zhí)行順序FFieldName字段名,新單為字段FKeyP23 版權(quán)所有 1993-2006 金蝶軟件(中國(guó))有限公司工業(yè)單據(jù)平臺(tái)工業(yè)單據(jù)平臺(tái)-單據(jù)模版介紹單據(jù)模版介紹nICBillAction字段說(shuō)明FRelationID觸發(fā)源,同于單據(jù)模版(新單不使用)FActionAction,同于單據(jù)模版FFuncID功能標(biāo)示(方案條件標(biāo)志)
27、,目前使用的值:1:?jiǎn)⒂谜麊握劭?,折扣率?jì)算基礎(chǔ)為含稅金額2:?jiǎn)⒂谜麊握劭?,折扣率?jì)算基礎(chǔ)為不含稅金額3:不啟用整單折扣,折扣率計(jì)算基礎(chǔ)為含稅金額4:不啟用整單折扣,折扣率計(jì)算基礎(chǔ)為不含稅金額FClassActionID新單使用的功能標(biāo)示P24 版權(quán)所有 1993-2006 金蝶軟件(中國(guó))有限公司工業(yè)單據(jù)平臺(tái)工業(yè)單據(jù)平臺(tái)-代碼結(jié)構(gòu)介紹代碼結(jié)構(gòu)介紹工業(yè)單據(jù)采用三層架構(gòu),各層又根據(jù)業(yè)務(wù)功能分為不同的組件,主要有如下這些:組件名所在層說(shuō)明代碼路徑K3Bills.dll客戶(hù)端單據(jù)顯示和客戶(hù)端邏輯. CodeUltimateK3INDUSTRYPublicClientDLLsK3BILLSK3Bill
28、s.vbpK3BillPlugin.dll客戶(hù)端單據(jù)擴(kuò)展Action方案處理公共插件. CodePublicK3INDUSTRYPublicClientDLLsK3BillPluginK3BillPlugin.vbpK3MBillsPackage.dll中間層單據(jù)數(shù)據(jù)包處理組件. CodePublicK3INDUSTRYPublicServerK3MBillsPackageK3MBillsPackage.vbpBillDataAccess.dll中間層單據(jù)數(shù)據(jù)處理組件. CodeUltimateK3INDUSTRYPublicServerBillDataAccessBillDataAccess
29、.vbpP25 版權(quán)所有 1993-2006 金蝶軟件(中國(guó))有限公司工業(yè)單據(jù)平臺(tái)工業(yè)單據(jù)平臺(tái)-代碼結(jié)構(gòu)介紹代碼結(jié)構(gòu)介紹nK3BillsK3Bills介紹介紹 功能K3bills是工業(yè)單據(jù)平臺(tái)最重要的客戶(hù)端組件,主要負(fù)責(zé)單據(jù)界面的顯示、控制、單據(jù)功能調(diào)用以及與二次開(kāi)發(fā)接口的交互等 代碼調(diào)試要求(除了安裝K3通用的Spread和ActiveBar控件之外的要求) 注冊(cè)單據(jù)使用的需要授權(quán)控制的控件,主要包括Ledger50.ocx和KDNote.ocx 將K3安裝目錄下的ErpSwitch.sss文件拷貝到K3bills代碼目錄和要調(diào)用單據(jù)的組件的工程目錄下,如K3List.vbp和K3Repor
30、tView.vbp等 主要代碼組成部分和功能類(lèi)/模塊功能Bills.cls單據(jù)對(duì)外接口類(lèi),外部代碼可以通過(guò)該類(lèi)調(diào)起單據(jù)Bill.cls單據(jù)控制類(lèi),界面數(shù)據(jù)操作,數(shù)據(jù)包的維護(hù)等f(wàn)rmBill.frm單據(jù)界面類(lèi),界面顯示,菜單工具條命令響應(yīng)等clsBillPackage.cls單據(jù)數(shù)據(jù)包控制類(lèi),負(fù)責(zé)業(yè)務(wù)數(shù)據(jù)和單據(jù)模板數(shù)據(jù)包的構(gòu)造和維護(hù)等P26 版權(quán)所有 1993-2006 金蝶軟件(中國(guó))有限公司工業(yè)單據(jù)平臺(tái)工業(yè)單據(jù)平臺(tái)-代碼結(jié)構(gòu)介紹代碼結(jié)構(gòu)介紹nK3BillsK3Bills主要業(yè)務(wù)介紹主要業(yè)務(wù)介紹 單據(jù)的加載外部調(diào)用者創(chuàng)建單據(jù)組件,設(shè)置單據(jù)屬性,調(diào)用單據(jù)接口顯示接口并按要求傳入相應(yīng)的參數(shù)單據(jù)顯示
31、接口:P27 版權(quán)所有 1993-2006 金蝶軟件(中國(guó))有限公司工業(yè)單據(jù)平臺(tái)工業(yè)單據(jù)平臺(tái)-代碼結(jié)構(gòu)介紹代碼結(jié)構(gòu)介紹nK3BillsK3Bills主要業(yè)務(wù)介紹主要業(yè)務(wù)介紹 單據(jù)的加載外部調(diào)用示例(主控臺(tái)): P28 版權(quán)所有 1993-2006 金蝶軟件(中國(guó))有限公司工業(yè)單據(jù)平臺(tái)工業(yè)單據(jù)平臺(tái)-代碼結(jié)構(gòu)介紹代碼結(jié)構(gòu)介紹nK3BillsK3Bills主要業(yè)務(wù)介紹主要業(yè)務(wù)介紹 單據(jù)的加載單據(jù)加載流程 Bills.Show 創(chuàng)建單據(jù)窗體frmbill并設(shè)置屬性 調(diào)用窗體加載方法,顯示單據(jù)界面 Frmbill. Form_Load 調(diào)用InitControls初始化界面字體和菜單名稱(chēng) 設(shè)置單據(jù)控制類(lèi)
32、ThisBill的屬性如果是新增單據(jù)調(diào)用,則需要設(shè)置單據(jù)的事務(wù)類(lèi)型,這個(gè)設(shè)置動(dòng)作會(huì)引起單據(jù)界面上單據(jù)類(lèi)型控件cmbTransType的值更新,在這個(gè)值更新事件處理函數(shù)cmbTransType_Click中會(huì)完成單據(jù)界面菜單的初始化和單據(jù)界面控件的構(gòu)造和布局如果是打開(kāi)已有單據(jù),除了和新增一樣完成單據(jù)界面的構(gòu)造和布局之外還需要調(diào)用MoveBill方法在傳入的記錄集中查找要顯示的單據(jù),加載單據(jù)數(shù)據(jù),并調(diào)用ThisBill填充數(shù)據(jù)的FillBillData_New完成界面數(shù)據(jù)的填充P29 版權(quán)所有 1993-2006 金蝶軟件(中國(guó))有限公司工業(yè)單據(jù)平臺(tái)工業(yè)單據(jù)平臺(tái)-代碼結(jié)構(gòu)介紹代碼結(jié)構(gòu)介紹nK3Bi
33、llsK3Bills主要業(yè)務(wù)介紹主要業(yè)務(wù)介紹 單據(jù)的加載單據(jù)加載流程 Frmbill. cmbTransType_Click函數(shù)功能:?jiǎn)螕?jù)類(lèi)型控件值切換函數(shù),在單據(jù)加載的時(shí)候會(huì)自動(dòng)調(diào)用 初始化單據(jù)控制類(lèi)對(duì)象ThisBill和單據(jù)界面圖片、菜單工具條等一些控件的屬性 調(diào)用ThisBill的BuildBill方法構(gòu)造單據(jù)界面和布局 初始化單據(jù)二次開(kāi)發(fā)插件 設(shè)置單據(jù)菜單的可見(jiàn)性和可用性 加載單據(jù)的打印設(shè)置 Bill.cls BuildBill函數(shù)功能:構(gòu)造單據(jù) 先循環(huán)設(shè)置單據(jù)頭字段控件全部不可見(jiàn) 清除單據(jù)頭和單據(jù)體字段控件屬性數(shù)組 調(diào)用單據(jù)數(shù)據(jù)包控制類(lèi)clsBillPackage的GetBillPa
34、ckage方法加載單據(jù)數(shù)據(jù)包(如果是新增單據(jù)則只加載單據(jù)模版數(shù)據(jù),如果有實(shí)際單據(jù)內(nèi)碼則還會(huì)同時(shí)加載單據(jù)的實(shí)際數(shù)據(jù)包)P30 版權(quán)所有 1993-2006 金蝶軟件(中國(guó))有限公司工業(yè)單據(jù)平臺(tái)工業(yè)單據(jù)平臺(tái)-代碼結(jié)構(gòu)介紹代碼結(jié)構(gòu)介紹nK3BillsK3Bills主要業(yè)務(wù)介紹主要業(yè)務(wù)介紹 單據(jù)的加載單據(jù)加載流程 Bill.clsBill.cls BuildBillBuildBill(序上)(序上) 根據(jù)加載的單據(jù)類(lèi)型的屬性數(shù)據(jù)判斷如果單據(jù)存在單據(jù)體則調(diào)用BuildEntryCtls方法構(gòu)造單據(jù)體,如果不存在單據(jù)體則設(shè)置窗體的單據(jù)體表格控件不可見(jiàn) 調(diào)用BuildHeadCtls構(gòu)造單據(jù)頭 BuildE
35、ntryCtls和BuildHeadCtls分別完成單據(jù)體和單據(jù)頭控件屬性數(shù)組的構(gòu)造,函數(shù)內(nèi)部邏輯大致類(lèi)似,基本都是根據(jù)單據(jù)數(shù)據(jù)包控制類(lèi)加載的單據(jù)的模版數(shù)據(jù)重建用于描述單據(jù)頭和單據(jù)體控件屬性的結(jié)構(gòu)數(shù)組,并在數(shù)組構(gòu)造完成之后根據(jù)數(shù)組的描述信息生成與數(shù)組內(nèi)各個(gè)字段相對(duì)應(yīng)控件或者表格列,再根據(jù)屬性信息設(shè)置這個(gè)控件或者表格列的相應(yīng)屬性(主要包括鎖定性、控件編輯類(lèi)型、顯示隱藏、格式控制、默認(rèn)值設(shè)置等)P31 版權(quán)所有 1993-2006 金蝶軟件(中國(guó))有限公司工業(yè)單據(jù)平臺(tái)工業(yè)單據(jù)平臺(tái)-代碼結(jié)構(gòu)介紹代碼結(jié)構(gòu)介紹nK3BillsK3Bills主要業(yè)務(wù)介紹主要業(yè)務(wù)介紹 單據(jù)加載 單據(jù)模版和數(shù)據(jù)包的加載單據(jù)模
36、版和數(shù)據(jù)包由單據(jù)數(shù)據(jù)包控制類(lèi)clsBillPackage負(fù)責(zé)構(gòu)造維護(hù),在單據(jù)加載時(shí)控制類(lèi)通過(guò)中間層接口獲得指定單據(jù)的數(shù)據(jù)并構(gòu)造成指定結(jié)構(gòu)的數(shù)據(jù)包,在保存時(shí)根據(jù)界面數(shù)據(jù)的變化修改單據(jù)數(shù)據(jù)包中的數(shù)據(jù)并根據(jù)單據(jù)數(shù)據(jù)的前后變化生成數(shù)據(jù)庫(kù)更新SQL,會(huì)同數(shù)據(jù)包一起交給單據(jù)中間層完成數(shù)據(jù)的更新保存需要注意的是雖然工業(yè)單據(jù)平臺(tái)維護(hù)的有數(shù)據(jù)包,但是這個(gè)數(shù)據(jù)包中的數(shù)據(jù)并不是隨時(shí)與界面數(shù)據(jù)一致,界面上查找類(lèi)別的字段的值修改時(shí)單據(jù)控制類(lèi)會(huì)更新數(shù)據(jù)包中的內(nèi)容與界面保持一致,但是普通文本、數(shù)字和日期等類(lèi)型字段的界面值的修改只有在觸發(fā)保存重新對(duì)界面打包的時(shí)候界面數(shù)據(jù)的實(shí)際值才會(huì)反映到單據(jù)的數(shù)據(jù)包中,在單據(jù)交互過(guò)程中,這些
37、類(lèi)型字段的實(shí)際值只能從界面控件中獲得另外一點(diǎn),單據(jù)在執(zhí)行保存之前會(huì)對(duì)界面數(shù)據(jù)進(jìn)行打包更新,但是在完成保存之后并不會(huì)再次讀取數(shù)據(jù)庫(kù)中保存的數(shù)據(jù)重建數(shù)據(jù)包和更新界面,所以對(duì)于在中間層額外修改的數(shù)據(jù)需要注意處理界面和數(shù)據(jù)庫(kù)的一致性P32 版權(quán)所有 1993-2006 金蝶軟件(中國(guó))有限公司工業(yè)單據(jù)平臺(tái)工業(yè)單據(jù)平臺(tái)-代碼結(jié)構(gòu)介紹代碼結(jié)構(gòu)介紹nK3BillsK3Bills主要業(yè)務(wù)介紹主要業(yè)務(wù)介紹 單據(jù)加載 單據(jù)模版和數(shù)據(jù)包的加載 clsBillPackage. GetBillPackage函數(shù)功能:加載單據(jù)數(shù)據(jù)并構(gòu)造單據(jù)數(shù)據(jù)包 判斷如果需要加載單據(jù)數(shù)據(jù)則調(diào)用K3MBillsPackage.clsRea
38、dPackage的GetBillPackage方法獲得單據(jù)數(shù)據(jù)包 新增單據(jù)只需要調(diào)用GetBillEmptyPackage獲得空的單據(jù)數(shù)據(jù)包 GetBillEmptyPackage函數(shù)邏輯 如果單據(jù)類(lèi)型沒(méi)有變化(界面新增調(diào)用)只是需要獲得一個(gè)空的單據(jù)數(shù)據(jù)包而不需要更新模版數(shù)據(jù)則調(diào)用K3MBillsPackage.clsReadPackage的GetBillDataEmptyPackage方法獲得空的單據(jù)數(shù)據(jù)包 如果單據(jù)類(lèi)型有變化則調(diào)用K3MBillsPackage.clsReadPackage的GetBillTemplatePackage方法獲得新的單據(jù)類(lèi)型的模版數(shù)據(jù)包 如果獲得的單據(jù)數(shù)據(jù)包不
39、為空,則對(duì)單據(jù)數(shù)據(jù)包中的數(shù)據(jù)執(zhí)行計(jì)算類(lèi)型的Action(主要是在單據(jù)數(shù)據(jù)包中構(gòu)造需要通過(guò)界面計(jì)算獲得而又不需要保存的字段的值)P33 版權(quán)所有 1993-2006 金蝶軟件(中國(guó))有限公司工業(yè)單據(jù)平臺(tái)工業(yè)單據(jù)平臺(tái)-代碼結(jié)構(gòu)介紹代碼結(jié)構(gòu)介紹nK3MBillsPackageK3MBillsPackage主要業(yè)務(wù)介紹主要業(yè)務(wù)介紹 單據(jù)模版和數(shù)據(jù)包的加載 clsReadPackage. GetBillTemplatePackage函數(shù)功能:加載并構(gòu)造單據(jù)模版數(shù)據(jù)包 讀取單據(jù)事務(wù)類(lèi)型模版數(shù)據(jù)并構(gòu)造數(shù)據(jù)包填充到單據(jù)數(shù)據(jù)包的事務(wù)類(lèi)型信息包中 讀取單據(jù)頭模版數(shù)據(jù)并構(gòu)造數(shù)據(jù)包填充到單據(jù)數(shù)據(jù)包的單據(jù)頭信息包中 讀
40、取單據(jù)體模版數(shù)據(jù)并構(gòu)造數(shù)據(jù)包填充到單據(jù)數(shù)據(jù)包的單據(jù)體信息包中 額外附加特殊操作需要的其他隱藏字段的數(shù)據(jù)包信息 clsReadPackage. GetDataPackage函數(shù)功能:加載制定單據(jù)的業(yè)務(wù)數(shù)據(jù)并進(jìn)行打包 根據(jù)指定單據(jù)的模版結(jié)構(gòu)和讀取條件拼接SQL獲得單據(jù)頭數(shù)據(jù),拼接SQL的時(shí)候已經(jīng)根據(jù)字段的屬性對(duì)需要擴(kuò)展取數(shù)的字段進(jìn)行了關(guān)聯(lián)處理(比如資料屬性類(lèi)字段的取數(shù)) 根據(jù)指定單據(jù)的模版結(jié)構(gòu)和讀取條件拼接SQL獲得單據(jù)體數(shù)據(jù),拼接SQL的時(shí)候已經(jīng)根據(jù)字段的屬性對(duì)需要擴(kuò)展取數(shù)的字段進(jìn)行了關(guān)聯(lián)處理(比如資料屬性類(lèi)字段的取數(shù)) 對(duì)單據(jù)數(shù)據(jù)包中的數(shù)據(jù)執(zhí)行計(jì)算類(lèi)型的ActionP34 版權(quán)所有 1993-
41、2006 金蝶軟件(中國(guó))有限公司工業(yè)單據(jù)平臺(tái)工業(yè)單據(jù)平臺(tái)-代碼結(jié)構(gòu)介紹代碼結(jié)構(gòu)介紹nK3BillsK3Bills主要業(yè)務(wù)介紹主要業(yè)務(wù)介紹 單據(jù)的Action處理工業(yè)單據(jù)平臺(tái)的Action是單據(jù)業(yè)務(wù)邏輯自動(dòng)處理的一種實(shí)現(xiàn)方式,比如數(shù)量修改重新計(jì)算金額就是一種典型的計(jì)算Action單據(jù)的Action由模版中配置在字段上的FRelationID中的字段的值更新動(dòng)作觸發(fā),觸發(fā)時(shí)會(huì)引起這個(gè)字段相關(guān)的所有Action的執(zhí)行,即當(dāng)一個(gè)字段的值發(fā)生改變并驗(yàn)證生效后就調(diào)用單據(jù)控制類(lèi)的Action計(jì)算函數(shù),該函數(shù)會(huì)循環(huán)整個(gè)單據(jù)的字段屬性結(jié)構(gòu)數(shù)組,解析每個(gè)字段屬性結(jié)構(gòu)中配置的FRelationID字符串,如果該字
42、符串中的觸發(fā)源包含有當(dāng)前修改字段的字段名,則計(jì)算該字段的所有Action(選擇性觸發(fā)源的另外判斷) 單據(jù)Action代碼邏輯 字段值修改事件函數(shù)frmbill.frm vsEntrys_LeaveCell(以單據(jù)體為例) 通過(guò)單據(jù)控制類(lèi)對(duì)象ThisBill的MainActions函數(shù)調(diào)用DoActions函數(shù)和DoAction函數(shù)完成單據(jù)的Action的觸發(fā)計(jì)算(如果當(dāng)前字段是單據(jù)頭字段,可能還會(huì)調(diào)用DoActionHeadToEntry函數(shù)觸發(fā)計(jì)算單據(jù)頭到單據(jù)體的Action,此類(lèi)Action一般是單據(jù)頭字段的修改引起整個(gè)單據(jù)體某些字段的重算或者對(duì)某些字段進(jìn)行鎖定) Bill.cls Mai
43、nActions 循環(huán)字段控件屬性數(shù)組,判斷FRelationID內(nèi)容,觸發(fā)需要計(jì)算的ActionP35 版權(quán)所有 1993-2006 金蝶軟件(中國(guó))有限公司工業(yè)單據(jù)平臺(tái)工業(yè)單據(jù)平臺(tái)-代碼結(jié)構(gòu)介紹代碼結(jié)構(gòu)介紹nK3BillsK3Bills主要業(yè)務(wù)介紹主要業(yè)務(wù)介紹 單據(jù)Action代碼邏輯 觸發(fā)指定字段上Action的計(jì)算 Bill.cls DoAction() 根據(jù)傳入的觸發(fā)源字段和目標(biāo)字段的屬性獲得目標(biāo)字段的Action列表 循環(huán)目標(biāo)字段的每個(gè)Action,判斷如果該Action不滿(mǎn)足觸發(fā)條件則退出處理 解析每個(gè)Action的標(biāo)志符,并根據(jù)Action的參數(shù)列表獲得Action執(zhí)行所需的參
44、數(shù),按照Action規(guī)則執(zhí)行處理P36 版權(quán)所有 1993-2006 金蝶軟件(中國(guó))有限公司工業(yè)單據(jù)平臺(tái)工業(yè)單據(jù)平臺(tái)-代碼結(jié)構(gòu)介紹代碼結(jié)構(gòu)介紹nK3BillsK3Bills主要業(yè)務(wù)介紹主要業(yè)務(wù)介紹 單據(jù)Action處理說(shuō)明 單據(jù)平臺(tái)Action處理支持級(jí)聯(lián)處理,如果不希望級(jí)聯(lián)則需要考慮改變相關(guān)Action和FRelationID的配置 單據(jù)平臺(tái)的Action執(zhí)行機(jī)制包含了死循環(huán)處理,一般可以避免Action處理陷入死循環(huán) 基本所有Action的標(biāo)志符的解析代碼都包含在函數(shù)Bill.cls DoAction()中,導(dǎo)致此函數(shù)經(jīng)常超出VB單一函數(shù)最大行數(shù)限制,對(duì)于新加入的Action標(biāo)志的處理要
45、求新增函數(shù)完成業(yè)務(wù)邏輯處理,此函數(shù)中只能加入對(duì)新增Action執(zhí)行函數(shù)的調(diào)用,如果此函數(shù)仍然超長(zhǎng)則需要先將函數(shù)中較長(zhǎng)處理分支中的代碼進(jìn)行分離函數(shù)的處理,分離函數(shù)時(shí)需要注意函數(shù)變量的上下文引用和設(shè)置 對(duì)于新增的字段計(jì)算邏輯盡量采用新增單據(jù)二次開(kāi)發(fā)插件,在插件的Change事件中完成業(yè)務(wù)邏輯處理的方式來(lái)實(shí)現(xiàn) 對(duì)于在Bill.cls模塊外循環(huán)訪問(wèn)ThisBill.TEntryCtl數(shù)組的要求 先在循環(huán)外定義局部變量并使用ThisBill.TEntryCtl對(duì)變量進(jìn)行賦值 在循環(huán)中訪問(wèn)此局部變量而不是直接訪問(wèn)ThisBill.TEntryCtl 如果對(duì)變量有更新需要及時(shí)賦值回ThisBill.TEnt
46、ryCtl 如果在循環(huán)中直接訪問(wèn)ThisBill.TEntryCtl會(huì)造成明顯的性能問(wèn)題P37 版權(quán)所有 1993-2006 金蝶軟件(中國(guó))有限公司工業(yè)單據(jù)平臺(tái)工業(yè)單據(jù)平臺(tái)-代碼結(jié)構(gòu)介紹代碼結(jié)構(gòu)介紹nK3BillsK3Bills主要業(yè)務(wù)介紹主要業(yè)務(wù)介紹 查找類(lèi)型字段動(dòng)態(tài)設(shè)置過(guò)濾條件有很多單據(jù)的查找類(lèi)型字段會(huì)要求在單據(jù)運(yùn)行時(shí)根據(jù)某一個(gè)的值或者某一些條件來(lái)動(dòng)態(tài)設(shè)置查找字段的過(guò)濾條件,比如入庫(kù)單的倉(cāng)庫(kù),要求根據(jù)分錄行的檢驗(yàn)屬性限定當(dāng)前行的可錄入倉(cāng)庫(kù)是良品倉(cāng)還是不良品倉(cāng),控制點(diǎn)包括F7查詢(xún)結(jié)果界面,倉(cāng)庫(kù)字段下拉列表和手工錄入編碼后有效性驗(yàn)證等。這個(gè)可以通過(guò)動(dòng)態(tài)設(shè)置倉(cāng)庫(kù)字段過(guò)濾條件來(lái)實(shí)現(xiàn) 根據(jù)業(yè)務(wù)需求
47、增加過(guò)濾條件SQL片段拼接函數(shù),在函數(shù)中根據(jù)當(dāng)前行字段的值構(gòu)造不同的過(guò)濾條件片段 在F7查詢(xún)函數(shù)frmbill.frm LookUp中顯示界面之前調(diào)用此函數(shù),完成額外過(guò)濾條件的動(dòng)態(tài)追加 在根據(jù)編碼獲取指定資料的值并進(jìn)行數(shù)據(jù)有效性驗(yàn)證的函數(shù)frmbill.frm GetData中調(diào)用此函數(shù),完成額外過(guò)濾條件的動(dòng)態(tài)追加 在查找類(lèi)型字段處理下拉列表的函數(shù)frmbill.frm KDCtl_ButtonClick中調(diào)用此函數(shù),完成額外過(guò)濾條件的動(dòng)態(tài)追加P38 版權(quán)所有 1993-2006 金蝶軟件(中國(guó))有限公司工業(yè)單據(jù)平臺(tái)工業(yè)單據(jù)平臺(tái)-代碼結(jié)構(gòu)介紹代碼結(jié)構(gòu)介紹nK3BillsK3Bills主要業(yè)務(wù)介
48、紹主要業(yè)務(wù)介紹 單據(jù)保存單據(jù)保存由單據(jù)界面的保存菜單/按鈕觸發(fā),主要完成對(duì)單據(jù)界面數(shù)據(jù)的打包,有效性驗(yàn)證,調(diào)用中間層執(zhí)行保存并對(duì)界面進(jìn)行控制等功能 代碼處理流程 Frmbill.frm mnuFileSave_Click 保存菜單事件函數(shù) 在保存前執(zhí)行單據(jù)整體性特殊業(yè)務(wù)檢查 調(diào)用單據(jù)控制類(lèi)對(duì)象ThisBill.Save函數(shù)完成單據(jù)保存 處理單據(jù)保存后界面的特殊控制,但據(jù)特殊業(yè)務(wù)邏輯的處理和權(quán)限及網(wǎng)絡(luò)控制的轉(zhuǎn)移 Bill.cls Save單據(jù)控制類(lèi)單據(jù)保存函數(shù) 單據(jù)特殊業(yè)務(wù)邏輯檢查 單據(jù)通用控制邏輯檢查 單據(jù)保存前二次開(kāi)發(fā)接口調(diào)用和結(jié)果應(yīng)用 獲取單據(jù)數(shù)據(jù)包 根據(jù)返回值和用戶(hù)的選擇重復(fù)調(diào)用單據(jù)數(shù)據(jù)
49、包控制類(lèi)clsBillPackage的SaveBill方法保存數(shù)據(jù)并處理返回值的解析,完成用戶(hù)交互 完成單據(jù)保存后的特殊業(yè)務(wù)邏輯處理P39 版權(quán)所有 1993-2006 金蝶軟件(中國(guó))有限公司工業(yè)單據(jù)平臺(tái)工業(yè)單據(jù)平臺(tái)-代碼結(jié)構(gòu)介紹代碼結(jié)構(gòu)介紹nK3BillsK3Bills主要業(yè)務(wù)介紹主要業(yè)務(wù)介紹 單據(jù)保存 代碼處理流程 Bill.cls GetBillData獲取單據(jù)數(shù)據(jù)包 構(gòu)造單據(jù)數(shù)據(jù)包,打包單據(jù)整體屬性和參數(shù)設(shè)置值 獲取單據(jù)頭數(shù)據(jù)包 循環(huán)單據(jù)頭控件,使用界面值更新單據(jù)數(shù)據(jù)包中的對(duì)應(yīng)值 獲取單據(jù)體數(shù)據(jù)包 循環(huán)單據(jù)體分錄重新打包該分錄各字段數(shù)據(jù)并更新到數(shù)據(jù)包中,但是需要記錄各分錄老的ID號(hào)并
50、分配新的ID號(hào) clsBillPackage.cls SaveBill 保存單據(jù)數(shù)據(jù) 更新單據(jù)保存數(shù)據(jù)包中的整體性屬性值和參數(shù)設(shè)置值 根據(jù)單據(jù)數(shù)據(jù)包調(diào)用GetBillSQL獲取單據(jù)更新SQL 根據(jù)單據(jù)頭數(shù)據(jù)包數(shù)據(jù)拼接單據(jù)頭更新SQL 循環(huán)單據(jù)體數(shù)據(jù)包,比較單據(jù)老的備份數(shù)據(jù)包拼接要?jiǎng)h除的單據(jù)分錄的刪除SQL 根據(jù)分錄的修改方式和單據(jù)分錄字段的修改內(nèi)容拼接單據(jù)分錄的UPDATE個(gè)功能新SQL或INSERT插入SQL(單據(jù)變更保存使用UPDATE,普通新增修改保存使用INSERT) 處理單據(jù)編號(hào)后調(diào)用中間層BillDataAccess.SaveData的SaveBillEx方法完成單據(jù)保存P40 版
51、權(quán)所有 1993-2006 金蝶軟件(中國(guó))有限公司工業(yè)單據(jù)平臺(tái)工業(yè)單據(jù)平臺(tái)-代碼結(jié)構(gòu)介紹代碼結(jié)構(gòu)介紹nK3BillsK3Bills主要業(yè)務(wù)介紹主要業(yè)務(wù)介紹 單據(jù)保存 代碼處理流程 SaveData.cls SaveBillEx單據(jù)保存中間層服務(wù)函數(shù) 解析單據(jù)整體屬性和參數(shù)設(shè)置 分配單據(jù)內(nèi)碼 如果是單據(jù)修改則先以刪除的方式調(diào)用反寫(xiě)接口還原單據(jù)關(guān)聯(lián)反寫(xiě)數(shù)據(jù) 分支處理訂單變更保存,完成訂單變更的數(shù)據(jù)檢查,單據(jù)更新和關(guān)聯(lián)數(shù)據(jù)更新 如果是普通修改保存則單獨(dú)分支處理 如果是庫(kù)存單據(jù)修改則根據(jù)庫(kù)存更新實(shí)際判斷處理庫(kù)存的反向更新 調(diào)用信用更新接口,還原信用數(shù)據(jù) 執(zhí)行單據(jù)更新SQL 完成相關(guān)數(shù)據(jù)的同步更新 調(diào)
52、用反寫(xiě)接口完成新的關(guān)聯(lián)反寫(xiě) 如果是庫(kù)存單據(jù)調(diào)用庫(kù)存更新接口使用新的數(shù)據(jù)更新庫(kù)存 更新其他相關(guān)數(shù)據(jù) 更新信用數(shù)據(jù) 檢查信用 調(diào)用二次開(kāi)發(fā)接口P41 版權(quán)所有 1993-2006 金蝶軟件(中國(guó))有限公司單據(jù)序時(shí)簿單據(jù)序時(shí)簿-序時(shí)簿介紹序時(shí)簿介紹nK/3的工業(yè)單據(jù)序時(shí)簿是對(duì)工業(yè)單據(jù)的一種列表展示n序時(shí)簿采用模版配置的三層架構(gòu)模式n序時(shí)簿界面的顯示字段內(nèi)容、菜單配置和數(shù)據(jù)顯示條件等都可以進(jìn)行配置n序時(shí)簿提供了靈活強(qiáng)大的業(yè)務(wù)數(shù)據(jù)過(guò)濾條件配置功能,用戶(hù)可以根據(jù)需要對(duì)要展示的數(shù)據(jù)進(jìn)行篩選并可以將配置好的過(guò)濾條件保存為過(guò)濾方案,之后繼續(xù)使用n序時(shí)簿界面提供有限的二次開(kāi)發(fā)接口,用戶(hù)可以通過(guò)接口在序時(shí)簿界面上添
53、加自己的功能菜單并完成自己功能的調(diào)用n對(duì)于系統(tǒng)預(yù)設(shè)功能,序時(shí)簿在中間層提供了很多二次開(kāi)發(fā)接口,利用這些接口,客戶(hù)可以介入系統(tǒng)的預(yù)設(shè)功能如單據(jù)審核、作廢、拆分等操作過(guò)程,按條件終止或者完成附加操作等n序時(shí)簿客戶(hù)端對(duì)外封裝為控件形式,用戶(hù)可以根據(jù)需要在自己的窗體上放置序時(shí)簿控件以便調(diào)用功能顯示單據(jù)列表并處理返回結(jié)果序時(shí)簿調(diào)用方式可參見(jiàn)代碼:.CodePublicK3ManufacturePublicPublic ModulesClientfrmList.frm.CodePublicK3ManufacturePublicClientDllsK3ICMOTrackQuerymodTrackQueryP
54、42 版權(quán)所有 1993-2006 金蝶軟件(中國(guó))有限公司單據(jù)序時(shí)簿單據(jù)序時(shí)簿- -序時(shí)簿模版介紹序時(shí)簿模版介紹類(lèi)別類(lèi)別表名表名用途用途序事簿類(lèi)型ICListTemplate序事簿類(lèi)型模板表,該表的內(nèi)容也會(huì)作為單據(jù)型交叉分析報(bào)表可用字段的來(lái)源序事簿字段ICChatbillTitle記錄序事簿字段配置信息,有些功能也會(huì)借用序事簿字段模板,如盤(pán)點(diǎn)數(shù)據(jù)報(bào)告和打印等序事簿表關(guān)系ICTablerelation和單據(jù)關(guān)聯(lián)采用相同的模板表,記錄序事簿展示需要用到的表與表之間的關(guān)聯(lián)關(guān)系菜單工具條t_MenuToolBar序事簿菜單元素模板表,二次開(kāi)發(fā)的菜單也在這里注冊(cè)菜單工具條t_MenuBand菜單/工具
55、欄項(xiàng)目表菜單工具條v_tools序時(shí)簿菜單方案視圖菜單工具條t_BandToolMapping菜單元素和菜單條的映射關(guān)系模板表序事簿過(guò)濾ICListFilter記錄過(guò)濾界面快捷過(guò)濾組合框過(guò)濾項(xiàng)目的配置信息,適用于序事簿的選單顯示和一般顯示,有些在代碼里特殊控制P43 版權(quán)所有 1993-2006 金蝶軟件(中國(guó))有限公司單據(jù)序時(shí)簿單據(jù)序時(shí)簿- -序時(shí)簿模版介紹序時(shí)簿模版介紹nICListtemplateICListtemplate字段說(shuō)明FID模版唯一內(nèi)碼FTemplateID模版IDFFontID字體FLogicStr邏輯字符串,保存序時(shí)簿對(duì)菜單的特殊設(shè)置,菜單模版表中有對(duì)菜單項(xiàng)默認(rèn)是否可見(jiàn)
56、的設(shè)置,這里可以針對(duì)單據(jù)作特殊設(shè)置FToolBarVis工具條是否可見(jiàn)FHeadVis序時(shí)簿題頭是否可見(jiàn)FBottomVis狀態(tài)欄是否可見(jiàn)FSourceType數(shù)據(jù)源類(lèi)型1:序時(shí)簿,2:自定義報(bào)表,數(shù)據(jù)來(lái)源于FSourceSQL的取數(shù)結(jié)果P44 版權(quán)所有 1993-2006 金蝶軟件(中國(guó))有限公司單據(jù)序時(shí)簿單據(jù)序時(shí)簿- -序時(shí)簿模版介紹序時(shí)簿模版介紹nICListtemplateICListtemplate字段說(shuō)明FSourceSql自定義報(bào)表的取數(shù)SQLFGroupID分組IDFBillTemplateID對(duì)應(yīng)的單據(jù)模版IDFNeedCount是否需要計(jì)數(shù)FType模版類(lèi)型,0:序時(shí)簿,1
57、001:自定義報(bào)表FMenuID菜單方案IDP45 版權(quán)所有 1993-2006 金蝶軟件(中國(guó))有限公司單據(jù)序時(shí)簿單據(jù)序時(shí)簿- -序時(shí)簿模版介紹序時(shí)簿模版介紹nICListtemplateICListtemplate字段說(shuō)明FBillCls單據(jù)類(lèi)別FFilter數(shù)據(jù)過(guò)濾條件FRptTemplateID報(bào)表模版IDFMasterTable主要表別名列表FNeedStatistic是否需要統(tǒng)計(jì)FSubSysID子系統(tǒng)IDP46 版權(quán)所有 1993-2006 金蝶軟件(中國(guó))有限公司單據(jù)序時(shí)簿單據(jù)序時(shí)簿- -序時(shí)簿模版介紹序時(shí)簿模版介紹nICChatbillTitleICChatbillTitle
58、字段說(shuō)明FInterID內(nèi)碼,相同序時(shí)簿內(nèi)不重復(fù)FTypeID序時(shí)簿模版ID,對(duì)應(yīng)ICListTemplate中的FTemplateIDFColCaption標(biāo)題,以$結(jié)束FHeadSecond雙列頭的第二列頭標(biāo)題FColName字段列標(biāo)示,相同序時(shí)簿內(nèi)不重復(fù)FTableName字段數(shù)據(jù)來(lái)源表名FColType列類(lèi)型FVisible是否可見(jiàn),0:不可見(jiàn),1:默認(rèn)不可見(jiàn),可以設(shè)置為可見(jiàn),3:默認(rèn)可見(jiàn),可以設(shè)置為不可見(jiàn)P47 版權(quán)所有 1993-2006 金蝶軟件(中國(guó))有限公司單據(jù)序時(shí)簿單據(jù)序時(shí)簿- -序時(shí)簿模版介紹序時(shí)簿模版介紹nICChatbillTitleICChatbillTitle字段
59、說(shuō)明FItemClassID字段F7查找類(lèi)別FVisForQuest過(guò)濾表格是否可見(jiàn)FReturnDataTypeF7返回?cái)?shù)據(jù)類(lèi)型FCountPriceType計(jì)數(shù)類(lèi)型FCtlIndex顯示序號(hào)FName來(lái)源字段名FTableAlias來(lái)源表別名(和ICTableRelation中一致)FAction字段額外計(jì)算邏輯(此字段有值,則該字段不能用于自定義報(bào)表)FNeedCount是否需要計(jì)數(shù)P48 版權(quán)所有 1993-2006 金蝶軟件(中國(guó))有限公司單據(jù)序時(shí)簿單據(jù)序時(shí)簿- -序時(shí)簿模版介紹序時(shí)簿模版介紹nICChatbillTitleICChatbillTitle字段說(shuō)明FIsPrimary字
60、段業(yè)務(wù)類(lèi)型標(biāo)志符FStatistical統(tǒng)計(jì)類(lèi)型FMergeable是否可合并顯示FVisForOrder排序葉簽是否可見(jiàn)n注意FInterID要保持在相同F(xiàn)TypeID范圍內(nèi)不重復(fù),該字段的值有范圍區(qū)分1-899 用于單據(jù)預(yù)設(shè)字段900-999用于多級(jí)審核相關(guān)字段顯示大于1000用于用戶(hù)自定義字段FTypeID為1,3,4的數(shù)據(jù)用于盤(pán)點(diǎn)數(shù)據(jù)界面P49 版權(quán)所有 1993-2006 金蝶軟件(中國(guó))有限公司單據(jù)序時(shí)簿單據(jù)序時(shí)簿- -序時(shí)簿模版介紹序時(shí)簿模版介紹nICTablerelationICTablerelation字段說(shuō)明FTypeID類(lèi)別ID,對(duì)應(yīng)于ICListTemplate表中的FTemplateID,如果為0
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 化纖坯布采購(gòu)合同范本
- 農(nóng)信社借款合同范本
- 出售液壓設(shè)備合同范本
- 產(chǎn)品貨物裝運(yùn)合同范本
- 出讓生鮮小店合同范本
- 勞務(wù)合同范本字體
- 出口服裝合同范本
- 中介房產(chǎn)股合同范本
- 公司設(shè)計(jì)合同范本
- 乙方基坑支護(hù)合同范本
- 社會(huì)工作師《社會(huì)工作實(shí)務(wù)(中級(jí))》講義
- 礦山轉(zhuǎn)讓居間合同范本
- 學(xué)前兒童英語(yǔ)教育與活動(dòng)指導(dǎo)(學(xué)前教育專(zhuān)業(yè))全套教學(xué)課件
- 2024年蘇州市職業(yè)大學(xué)單招職業(yè)適應(yīng)性測(cè)試題庫(kù)完整版
- 健康管理案例分析
- 患者身份識(shí)別制度培訓(xùn)
- 《包裝設(shè)計(jì)》課件-包裝設(shè)計(jì)發(fā)展的歷史
- 全國(guó)保密宣傳教育月課件
- 醫(yī)療器械經(jīng)營(yíng)企業(yè)GSP培訓(xùn)
- 語(yǔ)言藝術(shù)訓(xùn)練智慧樹(shù)知到期末考試答案2024年
- 報(bào)價(jià)單(產(chǎn)品報(bào)價(jià)單)
評(píng)論
0/150
提交評(píng)論