




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、K/3 BOS 插件開發(fā)培訓(xùn)演講人:李望中提綱插件開發(fā)概述案例介紹插件開發(fā)基礎(chǔ)插件開發(fā)向?qū)?shù)據(jù)結(jié)構(gòu)K3ClassEvents業(yè)務(wù)對(duì)象接口BillEvent 單據(jù)接口ListEvents 序事簿接口BaseClassEvent 基礎(chǔ)資料序事簿接口K3ClassEvents公用對(duì)象K3Lib常用元數(shù)據(jù)表結(jié)構(gòu)為什么要用插件完成當(dāng)前版本無法用 K/3 BOS 標(biāo)準(zhǔn)功能實(shí)現(xiàn)的需求,插件原理圖如下插件的作用實(shí)現(xiàn)單據(jù)、序時(shí)簿、基礎(chǔ)資料序時(shí)簿中特殊的業(yè)務(wù)流程處理中間層數(shù)據(jù)改變時(shí)的特殊處理規(guī)則個(gè)性化的菜單、外觀定制;增加自定義的菜單并響應(yīng)其操作對(duì)審核、消息流程的自定義控制插件開發(fā)概述插件開發(fā)環(huán)境 金蝶K/3 v
2、10.1以上的版本必選安裝客戶端、K/3 BOS,推薦同時(shí)安裝中間層Microsoft Visual Basic 推薦使用 vb 6.0 版本,并且安裝 SP5Microsoft Windows 2000 Server以上版本推薦采用 Server 類操作系統(tǒng)作為開發(fā)、調(diào)試操作系統(tǒng) 注意:如果要使用“金蝶K/3 BOS插件開發(fā)向?qū)А惫ぞ?,需要采用簡體中文操作系統(tǒng)Microsoft SQL Server 2000數(shù)據(jù)庫插件開發(fā)概述-開發(fā)環(huán)境介紹提綱插件開發(fā)概述案例介紹插件開發(fā)基礎(chǔ)插件開發(fā)向?qū)?shù)據(jù)結(jié)構(gòu)K3ClassEvents業(yè)務(wù)對(duì)象接口BillEvent 單據(jù)接口ListEvents 序事簿接口
3、BaseClassEvent 基礎(chǔ)資料序事簿接口K3ClassEvents公用對(duì)象K3Lib常用元數(shù)據(jù)表結(jié)構(gòu)ABC公司 主營業(yè)務(wù)是生產(chǎn)和銷售各種高檔衛(wèi)浴五金、水暖器材等。擁有五個(gè)廠區(qū),產(chǎn)品外銷歐美、日本等國家和地區(qū)為了統(tǒng)一物流管理,解決重復(fù)請(qǐng)購、資金占用嚴(yán)重的問題,ABC公司提出了寄存?zhèn)}的管理模式,與供應(yīng)商之間通過統(tǒng)一窗口來管理供應(yīng)商將物料寄存到ABC公司指定的物流中心倉庫,但所有權(quán)屬供應(yīng)商ABC公司根據(jù)生產(chǎn)實(shí)際需求從物流中心領(lǐng)料并進(jìn)行相應(yīng)的結(jié)算處理案例分析解決方案演示案例插件開發(fā)需求(一)單據(jù)定義寄存入庫單新增時(shí)默認(rèn)為2000行在寄存入庫單單據(jù)上增加復(fù)制按鈕的浮動(dòng)按鈕,隱藏“頁面設(shè)置”菜單在
4、寄存入庫單序事簿上增加單據(jù)變更的菜單及按鈕以插件中附帶的圖片資源文件增加單據(jù)變更的顯示當(dāng)單據(jù)頭金額大于10000時(shí),鎖定單據(jù)頭備注字段當(dāng)前登錄用戶只能看到本人制作的寄存入庫單寄存入庫單新增時(shí)給表體賦一行默認(rèn)值多級(jí)審核多級(jí)審核業(yè)務(wù)審核完后仍可修改單據(jù)頭備注字段單據(jù)轉(zhuǎn)換流程寄存入庫單下推外購入庫單時(shí)所選單據(jù)部門必須相同提綱插件開發(fā)概述案例介紹插件開發(fā)基礎(chǔ)插件開發(fā)向?qū)?shù)據(jù)結(jié)構(gòu)K3ClassEvents業(yè)務(wù)對(duì)象接口BillEvent 單據(jù)接口ListEvents 序事簿接口BaseClassEvent 基礎(chǔ)資料序事簿接口K3ClassEvents公用對(duì)象K3Lib常用元數(shù)據(jù)表結(jié)構(gòu)插件開發(fā)基礎(chǔ) 插件開發(fā)
5、向?qū)FOK/3 BOS 中傳遞數(shù)據(jù),主要使用了 KFO的2個(gè)對(duì)象關(guān)于 KFO 對(duì)象的詳細(xì)使用,請(qǐng)參考KFO參考手冊(cè)Vector 對(duì)象相當(dāng)于一個(gè)一維數(shù)組,可以說它是一個(gè)不定長且可以是任意數(shù)據(jù)類型的數(shù)組,同樣可以通過存取數(shù)組元素值進(jìn)行數(shù)據(jù)傳遞,一個(gè)元素值可以是RecordSet,也可以是一個(gè)任意一個(gè)數(shù)據(jù)或?qū)ο?Dictionary 對(duì)象是一個(gè)數(shù)據(jù)字典,字典里可以存放不同的變量,可以給字典里這些變量賦值,或從字典里取出這些變量的值進(jìn)行數(shù)據(jù)傳遞,它可以是任一個(gè)變量,也可以是一個(gè)對(duì)象。在Dictionary對(duì)象中主要通過變量名稱來進(jìn)行索引 插件開發(fā)基礎(chǔ) 數(shù)據(jù)結(jié)構(gòu)兩個(gè)關(guān)鍵的數(shù)據(jù)包dctDataBillE
6、vent:Property DataListEvents:Event AfterCopyBillCreateData(srcInterID As Long, dctData As Dictionary)dctTableInfoBillEvent:Property TableInfoListEvents: Property DataSrv.TableInfoBaseClassEvent: Property DataSrv.TableInfo插件開發(fā)基礎(chǔ) 業(yè)務(wù)數(shù)據(jù)包和單據(jù)字典包插件開發(fā)基礎(chǔ) 業(yè)務(wù)數(shù)據(jù)包BillEventBillHeadsBillEntrysBillHeadBillEntryBOSF
7、ieldsBOSFieldBOSFieldsBOSFielddctData“Page1”“Page2”“Page”“Pagei”dctFld1dctFlddctFldnEnu_EntryType_SingleRow“Row1”dctFld1dctFlddctFldn“Row”“Rown”Enu_EntryType_MutiRowFDSPFFNDFOLDFMODIFYFFLDsKeysKeydctData包含這個(gè)單據(jù)對(duì)象的詳細(xì)數(shù)據(jù)每一個(gè)Page對(duì)應(yīng)一個(gè)數(shù)據(jù)對(duì)象,如果這個(gè)Page是單表或者表頭,那么這個(gè)數(shù)據(jù)對(duì)象是一個(gè)字典,否則這個(gè)數(shù)據(jù)對(duì)象就是一個(gè)Vector,而Vector的每一個(gè)子項(xiàng)均為一個(gè)字典
8、每一個(gè)數(shù)據(jù)對(duì)象字典包含了這一個(gè)頁面上數(shù)據(jù)總和,他的每一個(gè)Item均為一個(gè)字典(這個(gè)字典是最明細(xì)的)最明細(xì)的數(shù)據(jù)字典包含五個(gè)域:FFLD = FFLD 肯定都有FDSP = FDSP 查找關(guān)聯(lián)類型才有FFND = FFND 查找關(guān)聯(lián)類型才有FOLD = FOLD 修改單據(jù)時(shí)才有FMODIFY = FMODIFY 修改單據(jù)后時(shí)才有五個(gè)域插件開發(fā)基礎(chǔ) 業(yè)務(wù)數(shù)據(jù)包插件開發(fā)基礎(chǔ) 如何訪問dctData包(一)插件開發(fā)基礎(chǔ) 如何訪問dctData包(二)讀取單據(jù)頭審核日期的值可用以下兩種方式:m_billinterface.data(“page1”)(m_billinterface.tableinfo(“
9、map”)(“FCheckDate”)(“FFLD”)m_billinterface.bosheads(1).bosfields(“FCheckDate”).value讀取單據(jù)體第一行應(yīng)收數(shù)量的值可用以下兩種方式:m_billinterface.data(“page2”)(1)(m_billinterface.tableinfo(“map”)(“FMustQty”)(“FFLD”)Dim obj as bosfieldDim tmp as doubleSet obj=m_billinterface.billentrys(1).bosfields(“fmustqty”)Obj.row=1;tmp
10、=obj.value插件開發(fā)基礎(chǔ) 數(shù)據(jù)字典包dctTableInfo包含三部份內(nèi)容所有Item的詳細(xì)信息,以字典的形式保存,采用Key 去查詢這個(gè) Key 是用 FTabIndex+Fkey 格式化而成所有Page的信息,每一個(gè)Page是一個(gè)字典包含了這一個(gè)Page上組成項(xiàng)的Key這個(gè)單據(jù)對(duì)象的所有Item的Map映射,這是一個(gè)字典提綱插件開發(fā)概述案例介紹插件開發(fā)基礎(chǔ)插件開發(fā)向?qū)?shù)據(jù)結(jié)構(gòu)K3ClassEvents業(yè)務(wù)對(duì)象接口BillEvent 單據(jù)接口ListEvents 序事簿接口BaseClassEvent 基礎(chǔ)資料序事簿接口K3ClassEvents公用對(duì)象K3Lib常用元數(shù)據(jù)表結(jié)構(gòu)插件
11、對(duì)象模型(BillEvent)K3ClassEventsBillEvent 單據(jù)接口ListEvents 序事簿接口BaseClassEvent 基礎(chǔ)資料序事簿接口BillEventK3LibNetUserAccountMenuBarBillHeadsBillEntrysBillHeadBillEntryBOSBandsBOSToolsBOSFieldsBOSBandBOSToolBOSFieldsBOSFieldBOSFieldBillEvent對(duì)象BillEvent對(duì)象MenuBar概述BOSBands和BOSBand對(duì)象BOSTools和BOSTool對(duì)象單據(jù)基礎(chǔ)對(duì)象BillHeads和
12、BillEntrysBOSFields單據(jù)接口事件函數(shù)、方法屬性概述BOSBands、BOSTools對(duì)象是 PublicNotCreatable對(duì)象在BillEvent、ListEvents、BaseClassEvent對(duì)象中包含MenuBar屬性使用。例如: Dim oMenuBar As K3ClassEvents.MenuBarSet oMenuBar = BillEventObject.Menubar在BillEvent、ListEvents、BaseClassEvent對(duì)象新增事件Sub MenuBarInitialize(ByVal oMenuBar As K3ClassEven
13、ts.MenuBar)Sub MenuBarClick(ByVal BOSTool As K3ClassEvents.BOSTool, Cancel As Boolean)BOSBands和BOSBand對(duì)象基本和ActiveBar的Bands、Band對(duì)象屬性、方法一致BOSBands不能使用 For Each 方法遍歷BOSBand對(duì)象可以通過 Add 方法來新建BOSBand對(duì)象。BOSTools和BOSTool對(duì)象基本和ActiveBar的Tools、Tool對(duì)象屬性、方法一致BOSTools不能使用 For Each 方法遍歷BOSTool對(duì)象可以通過 Add 方法來新建BOSToo
14、l對(duì)象BOSTools 方法詳解Function Add(ToolName As String) As BOSTool與ActiveBar的Tools的Add相比可以在任何的BOSTools對(duì)象中調(diào)用不需要考慮ToolID重復(fù)的問題Sub InsertBefore(Index, oTool As BOSTool)Index 可以是數(shù)字,以表示當(dāng)前BOSBand上的BOSTool的順序(與ActiveBar中的方法一致)也可以是一個(gè)BOSTool的Name(字符串)Sub InsertAfter(Index, oTool As BOSTool)新增方法,特性與上相同練習(xí)在寄存入庫單單據(jù)上增加復(fù)制
15、按鈕的浮動(dòng)按鈕,隱藏“頁面設(shè)置”菜單在寄存入庫單序事簿上增加單據(jù)變更的菜單及按鈕以插件中附帶的圖片資源文件增加單據(jù)變更的顯示BillEvent對(duì)象BillEvent對(duì)象MenuBar概述BOSBands和BOSBand對(duì)象BOSTools和BOSTool對(duì)象單據(jù)基礎(chǔ)對(duì)象BillHeads和BillEntrysBOSFields單據(jù)接口事件函數(shù)、方法屬性概述是 PublicNotCreatable 對(duì)象在BillEvent對(duì)象中包含使用。例如:Dim oHead As K3ClassEvents.BillHeadSet oHead = BillEventObject.BillHeads(1)Bi
16、llHeads、BillEntrys、BOSFields不能使用 For Each 方法遍歷對(duì)象BillEntrys對(duì)象BillEntrys對(duì)象包含了和單據(jù)體相關(guān) 的屬性通過這些屬性可以在 運(yùn)行時(shí)操作單據(jù)體分錄相關(guān)信息CountLong分錄的個(gè)數(shù)EntryIndexLong序號(hào)BOSFields(BOSFields)包含的字段TableNameString分錄對(duì)應(yīng)在數(shù)據(jù)庫中的表名EntryLeftLong分錄的左EntryTopLong分錄的上EntryWidthLong分錄的寬度EntryHeightLong分錄的高度LayerLong分錄所在的層EntryTypeLong分錄的類型(單分錄
17、、多分錄)VisibleBoolean分錄的可見性KeyFieldString分錄的關(guān)鍵字段MaxRowsLong可以在運(yùn)行時(shí)調(diào)整單據(jù)體行數(shù)(大于1且小于2000)BOSFields和BOSField對(duì)象字段相關(guān)信息CountLong字段的個(gè)數(shù)CaptionString字段的標(biāo)題FieldNameString字段名TableNameString字段對(duì)應(yīng)在數(shù)據(jù)庫中的表名FieldLeftLong字段的左FieldTopLong字段的上FieldWidthLong字段的寬度FieldHeightLong字段的高度LayerLong字段所在的層FieldLockBoolean字段是否鎖定Visibl
18、eBoolean字段是否可見FilterString字段的過濾FontBoldBoolean字段字體屬性FontItalicBoolean字段字體屬性FontNameString字段字體屬性FontSize Currency字段字體屬性FrameBorderBoolean是否顯示邊框FrameBorderColorLong邊框顏色LabelColorLong標(biāo)簽顏色LabelWidth Integer標(biāo)簽寬度MustInputBoolean是否必錄NeedSaveBoolean是否需要保存NoteString備注NumberVariant字段的值(用于查找類型字段)PageInteger字段所
19、在的PageTextVariant字段的顯示值TextColorLong字段的顏色Value Variant字段的保存值FKey String字段的內(nèi)碼BOSField對(duì)象每個(gè)字段對(duì)象,對(duì)應(yīng)單據(jù)(包括單據(jù)頭和單據(jù)體)上的每一個(gè)字段通過這些屬性,可以在運(yùn)行時(shí)操作字段。屬性集BOSField 屬性詳解某些屬性值只適用于單據(jù)頭中的字段FieldTopFieldLeftFieldHeightFieldWidthLabelWidthLabelColorFrameBorderColorFrameBorderFontNameFontSizeFontBoldFontItalicTextColor某些兩者都支持
20、TableNameFieldNameCaptionPageLayerFKeyVisibleNeedSaveMustInputFieldLockNote某些只適用于特殊的字段Row僅支持多分錄單據(jù)體Filter僅支持基礎(chǔ)資料字段BOSField 屬性詳解Visible:字段顯示/隱藏屬性,只有設(shè)計(jì)時(shí)沒有設(shè)計(jì)為“可見”狀態(tài)的字段,才可以在運(yùn)行時(shí)更改可見性狀態(tài)FieldLock:只有設(shè)計(jì)時(shí)沒有設(shè)計(jì)為“鎖定”狀態(tài)的字段,才可以在運(yùn)行時(shí)更改鎖定狀態(tài)Value:得到字段內(nèi)碼值。即保存在數(shù)據(jù)庫中的值Number:得到字段查找類型字段查找值Text:得到字段顯示值。即顯示在界面的值,不支持通過該屬性直接賦值。
21、Value:得到/設(shè)置字段非查找類型字段賦值使用Number :得到/設(shè)置字段查找類型字段賦值使用練習(xí)通過插件實(shí)現(xiàn)寄存入庫單新增時(shí)默認(rèn)表體行數(shù)為2000行,主要練習(xí)BillEntry對(duì)象的Maxrows屬性通過插件實(shí)現(xiàn)當(dāng)單據(jù)頭金額大于10000時(shí),鎖定單據(jù)頭備注字段,主要練習(xí)單據(jù)Change事件,BosField對(duì)象的FieldLock屬性BillEvent對(duì)象BillEvent對(duì)象MenuBar概述BOSBands和BOSBand對(duì)象BOSTools和BOSTool對(duì)象單據(jù)基礎(chǔ)對(duì)象BillHeads和BillEntrysBOSFields單據(jù)接口事件函數(shù)、方法屬性事件Event MenuBa
22、rInitialize(oMenuBar As MenuBar)說明:該事件在菜單、工具欄初始化時(shí)發(fā)生。 Event MenuBarClick(BOSTool As BOSTool, Cancel As Boolean)說明:該事件在點(diǎn)擊菜單、工具欄項(xiàng)時(shí)發(fā)生。 Event AfterNewBill()說明:新建單據(jù)對(duì)象后發(fā)生。 Event AfterLoadBill()說明:單據(jù)對(duì)象加載完成后發(fā)生。 Event AfterCopyBill()說明:復(fù)制單據(jù)后發(fā)生Event AfterSelBill(lSelBillType As Long)說明:選單操作完成后發(fā)生。 Event BeforeV
23、erify(bCancel As Boolean)說明:單據(jù)對(duì)象保存前、系統(tǒng)進(jìn)行校驗(yàn)操作前發(fā)生。 Event Change(dct As Dictionary, dctFld As Dictionary, Col As Long, Row As Long, Cancel As Boolean)說明:單據(jù)對(duì)象上的字段值發(fā)生改變時(shí)發(fā)生。 BillEvent對(duì)象-事件方法Function GetFieldValue(sKey As String, nRow As Long = -1, ValueType As Enu_ValueType = Enu_ValueType_FFLD) 說明:用于返回字段
24、的值。 Function SetFieldValue(sKey As String, vValue, nRow As Long = -1) As Boolean 說明:用于設(shè)置字段的值。 Function InsertNewRowAndFill(nPage As Long, nRow As Long, ParamArray vFieldsData() As Variant) As Boolean 說明:在多分錄單據(jù)體中插入一個(gè)新行,并填充數(shù)據(jù)。 Function GetDataFld(dct As Dictionary, Row As Long) As Dictionary 說明:獲得單據(jù)指定
25、字段的值的對(duì)象。 Function GetFieldInfoByKey(sKey As String, sPKey As String, lIndex As Long) As Dictionary 說明:通過給定的字段的關(guān)鍵名稱獲得字段的模版的對(duì)象。 Function RefreshBill() 說明:刷新當(dāng)前單據(jù)對(duì)象。 Function IsChange() As Boolean 說明:判斷單據(jù)對(duì)象是否被改變。Function DeleteEntryData(nPage As Long) As Boolean 說明:刪除單據(jù)對(duì)象指定單據(jù)體分錄內(nèi)全部數(shù)據(jù)。 BillEvent對(duì)象-函數(shù)、方法B
26、illEvent對(duì)象-屬性練習(xí)通過插件實(shí)現(xiàn)當(dāng)寄存入庫單業(yè)務(wù)審核后仍可修改單據(jù)頭備注字段,主要練習(xí)單據(jù)Afterload事件,單據(jù)方法SetBarStatus、SetBillFormCaption通過插件實(shí)現(xiàn)寄存入庫單新增時(shí)給表體賦一行值,物料代碼為”01.001”,應(yīng)收數(shù)量為100,實(shí)收數(shù)量為100,單價(jià)為1500。主要練習(xí)Insertnewrowandfill方法插件對(duì)象模型(ListEvents)K3ClassEventsBillEvent 單據(jù)接口ListEvents 序事簿接口BaseClassEvent 基礎(chǔ)資料序事簿接口ListEventsK3LibNetUserAccountMe
27、nuBarBillHeadsBillEntrysBillHeadBillEntryBOSBandsBOSToolsBOSFieldsBOSBandBOSToolBOSFieldsBOSFieldBOSFieldListEvents對(duì)象 ListEvents對(duì)象事件函數(shù)、方法屬性ListEvents對(duì)象-事件Event MenuBarInitialize(oMenuBar As MenuBar)說明:菜單、工具欄初始化時(shí)發(fā)生。 Event MenuBarClick(BOSTool As BOSTool, Cancel As Boolean)說明:點(diǎn)擊菜單、工具欄項(xiàng)時(shí)發(fā)生。 Event After
28、CopyBillCreateData(srcInterID As Long, dctData As Dictionary)說明:復(fù)制已選擇的單據(jù)數(shù)據(jù)到新單據(jù),但新單據(jù)尚未保存時(shí)發(fā)生。Event AfterDeleteBill(bSuccess As Boolean, lBillInterID As Long, sBillNo As String, sErrorMessage As String, bCancelErrorMessage As Boolean)說明:刪除已選擇的單據(jù)后發(fā)生。Event ListFillRow(lRow As Long, RowData As Object, Hea
29、dDict As Dictionary, CellData As String, BackColor As Long, ContinueRaise As Boolean)說明:序時(shí)簿的行填充數(shù)據(jù)時(shí)發(fā)生。ListEvents對(duì)象-方法Function GetDataFld(dct As Dictionary, Row As Long = -1) As Dictionary 說明:獲得單據(jù)指定字段的值的對(duì)象。 Function GetDataFldbyKey(sFKey As String, Row As Long = -1) As Dictionary 說明:通過字段關(guān)鍵名稱獲取字段的值的對(duì)象。
30、 Function GetSelectedBillInfo() As Vector 說明:獲取當(dāng)前選中的單據(jù)的數(shù)據(jù)。Function LoadSelectedBill(BillStatus As Enu_BillStatusExt) As Boolean 說明:加載當(dāng)前選擇的單據(jù),并按照指定的狀態(tài)顯示。 ListEvents對(duì)象-屬性ListFilterString 說明:序事簿運(yùn)行時(shí)設(shè)置過濾條件 練習(xí)通過插件實(shí)現(xiàn)當(dāng)寄存入庫單業(yè)務(wù)審核后仍可修改單據(jù)頭備注字段,主要練習(xí)序事簿方法LoadSelectedBill通過插件實(shí)現(xiàn)當(dāng)前登錄用戶只能看到本人制作的寄存入庫單,主要練習(xí)序事簿ListFilte
31、rString屬性插件對(duì)象模型(BaseClassEvent)K3ClassEventsBillEvent 單據(jù)接口ListEvents 序事簿接口BaseClassEvent 基礎(chǔ)資料序事簿接口BaseClassEventK3LibNetUserAccountMenuBarBillHeadsBillEntrysBillHeadBillEntryBOSBandsBOSToolsBOSFieldsBOSBandBOSToolBOSFieldsBOSFieldBOSField對(duì)象- BaseClassEventBaseClassEvent對(duì)象事件函數(shù)、方法屬性BaseClassEvent對(duì)象-事件
32、Event MenuBarInitialize(oMenuBar As MenuBar) 說明:菜單、工具欄初始化時(shí)發(fā)生。 Event MenuBarClick(BOSTool As BOSTool, Cancel As Boolean) 說明:點(diǎn)擊菜單、工具欄項(xiàng)時(shí)發(fā)生。 Event RefreshList() 說明:序時(shí)簿刷新時(shí)發(fā)生。Event ListFillRow(lRow As Long, RowData As Object, HeadDict As Dictionary, CellData As String, BackColor As Long, ContinueRaise As
33、Boolean) 說明:序時(shí)簿的行填充數(shù)據(jù)時(shí)發(fā)生。Event ClassGroupSelected(Button As Long, ClassGroupType As Long, ClassGroupID As Long, ClassGroupFullNumber As String) 說明:選擇基礎(chǔ)資料分組時(shí)發(fā)生。 BaseClassEvent對(duì)象-方法、屬性方法Function SelectClassGroupByID(lClassGroupID As Long) As Long 說明:按照指定的基礎(chǔ)資料分組的ID定位顯示。Function PitchItemByID(lItemID As
34、 Long) As Boolean 說明:按照指定的基礎(chǔ)資料明細(xì)的ID定位顯示。 Sub RefreshClassGroups() 說明:刷新所有基礎(chǔ)資料分組數(shù)據(jù)。Function GetSelectedClassID() As Long 說明:返回當(dāng)前選擇的基礎(chǔ)資料分組的ID。 Function GetSelectedItemID() As Long 說明:返回當(dāng)前選擇的基礎(chǔ)資料明細(xì)的ID。 屬性EnableListFillRowEvents As Boolean 說明:是允許否觸發(fā)插件的序時(shí)簿FillRow 事件。默認(rèn)為False,即不觸發(fā)。只有當(dāng)此值為True且發(fā)生序時(shí)簿行填充時(shí),才會(huì)觸
35、發(fā)插件的序時(shí)簿FillRow 事件。 提綱插件開發(fā)概述案例介紹插件開發(fā)基礎(chǔ)插件開發(fā)向?qū)?shù)據(jù)結(jié)構(gòu)K3ClassEvents業(yè)務(wù)對(duì)象接口BillEvent 單據(jù)接口ListEvents 序事簿接口BaseClassEvent 基礎(chǔ)資料序事簿接口K3ClassEvents公用對(duì)象K3Lib常用元數(shù)據(jù)表結(jié)構(gòu)概述是 PublicNotCreatable 對(duì)象在BillEvent、ListEvents、BaseClassEvent對(duì)象中包含K3Lib對(duì)象使用。例如:Dim oK3 As K3ClassEvents.K3LibSet oK3 = BillEventObject.K3Lib也可直接使用:lUs
36、erID = BillEventObject.K3Lib.User.UserID方法集Function LoadKDString(strGBText As String, Resource String) As String根據(jù)K3的語言,從指定的K3語言資源包中返回多語言化的資源可以通過 ResourceFile 參數(shù)指定多語言資源包。默認(rèn)使用BOS的語言資源包Function GetData(SQLCode As String) As Object通過SQL語句從中間層訪問數(shù)據(jù)庫,返回?cái)?shù)據(jù)。返回值是ADODB.Recordset 類型Sub UpdateData(SQLCode)通過SQL
37、語句從中間層訪問數(shù)據(jù)庫,更新數(shù)據(jù)參數(shù)SQLCode可以是String(單條SQL語句),也可以是String() (多條SQL語句)Function CreateK3Object(ClassString As String) As Object通過這個(gè)函數(shù)在插件中創(chuàng)建K/3的對(duì)象,使得插件可以單獨(dú)調(diào)試練習(xí)通過插件實(shí)現(xiàn)寄存入庫單下推外購入庫單時(shí)所選單據(jù)部門必須相同,主要練習(xí)K3lib方法GetData以及序事簿方法GetSelectedBillInfo提綱插件開發(fā)概述案例介紹插件開發(fā)基礎(chǔ)插件開發(fā)向?qū)?shù)據(jù)結(jié)構(gòu)K3ClassEvents業(yè)務(wù)對(duì)象接口BillEvent 單據(jù)接口ListEvents 序
38、事簿接口BaseClassEvent 基礎(chǔ)資料序事簿接口K3ClassEvents公用對(duì)象K3Lib常用元數(shù)據(jù)表結(jié)構(gòu)數(shù)據(jù)表結(jié)構(gòu)清單關(guān)聯(lián)關(guān)系字段說明清單表名說明ICClassType反映了所有事務(wù)類型的總體情況ICClassTypeEntry總體記錄了單據(jù)頭、單據(jù)體的信息ICClassTableInfo詳細(xì)的模板描述表(記錄界面上字段的所有信息)ICClassLink數(shù)據(jù)內(nèi)部傳輸?shù)年P(guān)系描述主表(主要用于選單,上下查)ICClassLinkEntry數(shù)據(jù)內(nèi)部傳輸?shù)年P(guān)系描述明細(xì)表(主要用于選單)ICClassActionAction 的描述表,主要用于解析動(dòng)作ICClassCondition各種條件
39、(用于動(dòng)態(tài)構(gòu)造SQL過濾條件即Where條件)ICClassConst系統(tǒng)使用的常數(shù)表ICClassProfile用戶設(shè)置信息的保存ICClassPro用戶設(shè)置信息的保存的分錄庫表之間的關(guān)聯(lián)關(guān)系字段說明1ICClassTypeFID單據(jù)事務(wù)類型內(nèi)部IDFName單據(jù)名稱FTableName表名FtempalteID對(duì)應(yīng)模板ID,一般情況下和FID值相等FLogic菜單控制(新增、刪除、修改)(0:不允許增刪改;3:允許增刪改)FBillTypeID單據(jù)類型 (1:分組管理 ;3: 單據(jù))FLayerCount層數(shù) (用于多單據(jù)體的情況,可參考“設(shè)備管理”下的“設(shè)備檔案”)FLayerNames
40、所有層的名稱用“|”隔開FPrimaryKey表頭主鍵字段名FEPrimaryKey表體主鍵字段名FClassTypeKey業(yè)務(wù)對(duì)象類型字段名FComponentExt插件組合FControl是否允許單據(jù)平臺(tái)自定義(1(或者1):不允許;3:允許)字段說明2ICClassTypeEntryFIndex序號(hào),從1開始,1固定表示表頭信息2n表示后面分錄的信息FParentID記錄ICClassType 的FIDFTableName表名FLayer分錄所在層FEntryType分錄類型(0:單表 1:多表)FTabIndex分錄的Tab IndexFMustInput分錄體是否必錄(0:否; 1:是)FKeyField判斷必錄的分錄體關(guān)鍵字段字段說明3ICClassTableInfoFIDIdentity 無實(shí)際含意FClassTypeID單據(jù)ClassTypeIDFPage所在頁,和ICClassTypeEntry 的FIndex對(duì)應(yīng)FKey關(guān)鍵字,一般和FieldName一樣,在同一個(gè)ClassTypeID 情況下必須唯一FFieldName字段名稱FTableName 表名
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 北京市通州區(qū)2024-2025學(xué)年高二上學(xué)期期末考試生物學(xué)試題(含答案)
- 產(chǎn)品使用體驗(yàn)數(shù)據(jù)收集表
- 農(nóng)民合作社互助保險(xiǎn)協(xié)議
- 農(nóng)村新型農(nóng)業(yè)組織發(fā)展合作協(xié)議
- 鄉(xiāng)村有機(jī)果園經(jīng)營管理協(xié)議
- 物資采購框架協(xié)議
- 人力資源派遣與服務(wù)外包合同
- 生產(chǎn)物料采購周期表
- 西游記中的團(tuán)隊(duì)精神與道德啟示評(píng)析
- 《星系與宇宙探索概述:九年級(jí)地理教學(xué)教案》
- 核心素養(yǎng)導(dǎo)向下的高中歷史大單元教學(xué)設(shè)計(jì)研究課題設(shè)計(jì)論證
- 員工入職登記表
- 2024年新疆維吾爾自治區(qū)招聘事業(yè)單位工作人員考試真題
- 科技創(chuàng)新在環(huán)境保護(hù)中的重要作用研究報(bào)告
- 2025年濟(jì)源職業(yè)技術(shù)學(xué)院單招職業(yè)技能測(cè)試題庫學(xué)生專用
- 《金融市場(chǎng)分析方法》課件
- 卵巢癌的篩查:如何進(jìn)行卵巢癌的早期篩查
- 2025年南網(wǎng)數(shù)字集團(tuán)公開選聘高頻重點(diǎn)模擬試卷提升(共500題附帶答案詳解)
- 5G基站建設(shè)的審批流程與標(biāo)準(zhǔn)
- 西門子S7-1200 PLC應(yīng)用技術(shù)項(xiàng)目教程(第3版) 考試復(fù)習(xí)題
- 人工智能在招聘行業(yè)的應(yīng)用
評(píng)論
0/150
提交評(píng)論