《K3-BOS插件开发产品培训》由会员分享,可在线阅读,更多相关《K3-BOS插件开发产品培训(66页珍藏版)》请在金锄头文库上搜索。
1、K3-BOSK3-BOS插件开发产品培训插件开发产品培训P2提纲提纲插件开发概述插件开发概述案例介绍案例介绍插件开发基础插件开发基础插件开发向导插件开发向导数据结构数据结构K3ClassEventsK3ClassEvents业务对象接口业务对象接口BillEventBillEvent 单据接口单据接口ListEvents 序事簿接口BaseClassEvent 基础资料序事簿接口K3ClassEvents公用对象K3Lib常用元数据表结构P3提纲提纲插件开发概述插件开发概述案例介绍案例介绍插件开发基础插件开发基础插件开发向导插件开发向导数据结构数据结构K3ClassEventsK3ClassE
2、vents业务对象接口业务对象接口BillEventBillEvent 单据接口单据接口ListEvents 序事簿接口BaseClassEvent 基础资料序事簿接口K3ClassEvents公用对象K3Lib常用元数据表结构P4为什么要用插件完成当前版本无法用 K/3 BOS 标准功能实现的需求,插件原理图如下插件的作用实现单据、序时簿、基础资料序时簿中特殊的业务流程处理中间层数据改变时的特殊处理规则个性化的菜单、外观定制;增加自定义的菜单并响应其操作对审核、消息流程的自定义控制插件开发概述P5插件开发环境 金蝶K/3 v10.1以上的版本必选安装客户端、K/3 BOSK/3 BOS,推荐
3、同时安装中间层Microsoft Visual Basic 推荐使用 vbvb 6.0 6.0 版本,并且安装 SP5SP5Microsoft Windows 2000 Server以上版本推荐采用 Server Server 类操作系统作为开发、调试操作系统 注意:如果要使用“金蝶K/3 BOSK/3 BOS插件开发向导”工具,需要采用简体中文操作系统Microsoft SQL Server 2000数据库插件开发概述插件开发概述- -开发环境介绍开发环境介绍P6提纲提纲插件开发概述插件开发概述案例介绍案例介绍插件开发基础插件开发基础插件开发向导插件开发向导数据结构数据结构K3ClassEv
4、entsK3ClassEvents业务对象接口业务对象接口BillEventBillEvent 单据接口单据接口ListEvents 序事簿接口BaseClassEvent 基础资料序事簿接口K3ClassEvents公用对象K3Lib常用元数据表结构P7ABCABC公司公司 主营业务是生产和销售各种高档卫浴五金、水暖器材等。拥有五个厂区,产品外销欧美、日本等国家和地区为了统一物流管理,解决重复请购、资金占用严重的问题,ABC公司提出了寄存仓的管理模式,与供应商之间通过统一窗口来管理供应商将物料寄存到ABC公司指定的物流中心仓库,但所有权属供应商ABC公司根据生产实际需求从物流中心领料并进行相
5、应的结算处理案例分析P8解决方案解决方案P9演示案例演示案例插件开发需求插件开发需求( (一一) )n单据定义n寄存入库单新增时默认为2000行在寄存入库单单据上增加复制按钮的浮动按钮,隐藏“页面设置”菜单在寄存入库单序事簿上增加单据变更的菜单及按钮以插件中附带的图片资源文件增加单据变更的显示当单据头金额大于10000时,锁定单据头备注字段当前登录用户只能看到本人制作的寄存入库单n寄存入库单新增时给表体赋一行默认值n多级审核n多级审核业务审核完后仍可修改单据头备注字段n单据转换流程n寄存入库单下推外购入库单时所选单据部门必须相同P10提纲提纲插件开发概述插件开发概述案例介绍案例介绍插件开发基础
6、插件开发基础插件开发向导插件开发向导数据结构数据结构K3ClassEventsK3ClassEvents业务对象接口业务对象接口BillEventBillEvent 单据接口单据接口ListEvents 序事簿接口BaseClassEvent 基础资料序事簿接口K3ClassEvents公用对象K3Lib常用元数据表结构P11插件开发基础插件开发基础 插件开发向导P12KFOK/3 BOS 中传递数据,主要使用了 KFO的2 2个对象关于 KFO 对象的详细使用,请参考KFO参考手册Vector 对象相当于一个一维数组,可以说它是一个不定长且可以是任意数据类型的数组,同样可以通过存取数组元素值
7、进行数据传递,一个元素值可以是RecordSet,也可以是一个任意一个数据或对象 Dictionary 对象是一个数据字典,字典里可以存放不同的变量,可以给字典里这些变量赋值,或从字典里取出这些变量的值进行数据传递,它可以是任一个变量,也可以是一个对象。在DictionaryDictionary对象中主要通过变量名称来进行索引 插件开发基础 数据结构P13两个关键的数据包dctDataBillEvent:Property Property DataDataListEvents:Event Event AfterCopyBillCreateDataAfterCopyBillCreateData(
8、srcInterID(srcInterID As Long, As Long, dctDatadctData As As Dictionary)Dictionary)dctTableInfoBillEvent:Property Property TableInfoTableInfoListEvents: Property Property DataSrv.TableInfoDataSrv.TableInfoBaseClassEvent: Property Property DataSrv.TableInfoDataSrv.TableInfo插件开发基础 业务数据包和单据字典包业务数据包和单据字
9、典包P14插件开发基础 业务数据包业务数据包BillEventBillEventBillHeadsBillHeadsBillEntrysBillEntrysBillHeadBillHeadBillEntryBillEntryBOSFieldsBOSFieldsBOSFieldBOSFieldBOSFieldsBOSFieldsBOSFieldBOSFielddctData“Page1”“Page2”“Page”“Pagei”dctFld1dctFlddctFldnEnu_EntryType_SingleRow“Row1”dctFld1dctFlddctFldn“Row”“Rown”Enu_En
10、tryType_MutiRowFDSPFFNDFOLDFMODIFYFFLDsKeysKeyP15dctData包含这个单据对象的详细数据每一个Page对应一个数据对象,如果这个Page是单表或者表头,那么这个数据对象是一个字典,否则这个数据对象就是一个Vector,而Vector的每一个子项均为一个字典每一个数据对象字典包含了这一个页面上数据总和,他的每一个Item均为一个字典(这个字典是最明细的)最明细的数据字典包含五个域:FFLD = FFLD 肯定都有FDSP = FDSP 查找关联类型才有FFND = FFND 查找关联类型才有FOLD = FOLD 修改单据时才有FMODIFY =
11、 FMODIFY 修改单据后时才有五个域插件开发基础 业务数据包P16插件开发基础 如何访问如何访问dctDatadctData包包( (一)一)P17插件开发基础 如何访问如何访问dctDatadctData包包( (二)二)读取单据头审核日期的值可用以下两种方式:m_billinterface.data(“page1”)(m_billinterface.tableinfo(“map”)(“FCheckDate”)(“FFLD”)m_billinterface.bosheads(1).bosfields(“FCheckDate”).value读取单据体第一行应收数量的值可用以下两种方式:m_
12、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=obj.valueP18插件开发基础 数据字典包数据字典包dctTableInfodctTableInfo包含三部包含三部份内容份内容所有ItemItem的详细信息,以字典的形式保存,采用KeyKey 去查询这个 K
13、eyKey 是用 FTabIndex+FkeyFTabIndex+Fkey 格式化而成所有PagePage的信息,每一个PagePage是一个字典包含了这一个PagePage上组成项的KeyKey这个单据对象的所有ItemItem的MapMap映射,这是一个字典P19提纲提纲插件开发概述插件开发概述案例介绍案例介绍插件开发基础插件开发基础插件开发向导插件开发向导数据结构数据结构K3ClassEventsK3ClassEvents业务对象接口业务对象接口BillEventBillEvent 单据接口单据接口ListEvents 序事簿接口BaseClassEvent 基础资料序事簿接口K3Cla
14、ssEvents公用对象K3Lib常用元数据表结构P20插件对象模型插件对象模型(BillEvent)(BillEvent)K3ClassEventsK3ClassEventsBillEventBillEvent 单据接口单据接口ListEvents 序事簿接口BaseClassEvent 基础资料序事簿接口BillEventK3LibNetUserAccountMenuBarBillHeadsBillEntrysBillHeadBillEntryBOSBandsBOSToolsBOSFieldsBOSBandBOSToolBOSFieldsBOSFieldBOSFieldP21BillEve
15、nt对象BillEvent对象MenuBar概述BOSBands和BOSBand对象BOSTools和BOSTool对象单据基础对象BillHeads和BillEntrysBOSFields单据接口事件函数、方法属性P22概述BOSBands、BOSTools对象是 PublicNotCreatable对象在BillEvent、ListEvents、BaseClassEvent对象中包含MenuBar属性使用。例如: Dim oMenuBar As K3ClassEvents.MenuBarSet oMenuBar = BillEventObject.Menubar在BillEvent、Lis
16、tEvents、BaseClassEvent对象新增事件Sub MenuBarInitialize(ByVal oMenuBar As K3ClassEvents.MenuBar)Sub MenuBarClick(ByVal BOSTool As K3ClassEvents.BOSTool, Cancel As Boolean)P23BOSBands和BOSBand对象基本和ActiveBar的Bands、Band对象属性、方法一致BOSBands不能不能使用 For Each 方法遍历BOSBand对象可以通过 Add 方法来新建BOSBand对象。P24BOSTools和BOSTool对象
17、基本和ActiveBar的Tools、Tool对象属性、方法一致BOSTools不能不能使用 For Each 方法遍历BOSTool对象可以通过 Add 方法来新建BOSTool对象P25BOSTools 方法详解Function AddAdd(ToolName As String) As BOSTool与ActiveBar的Tools的Add相比可以在任何的BOSTools对象中调用不需要考虑ToolID重复的问题Sub InsertBeforeInsertBefore(Index, oTool As BOSTool)Index 可以是数字,以表示当前BOSBand上的BOSTool的顺序
18、(与ActiveBar中的方法一致)也可以是一个BOSTool的Name(字符串)Sub InsertAfterInsertAfter(Index, oTool As BOSTool)新增方法,特性与上相同P26练习练习在寄存入库单单据上增加复制按钮的浮动按钮,隐藏“页面设置”菜单在寄存入库单序事簿上增加单据变更的菜单及按钮以插件中附带的图片资源文件增加单据变更的显示P27BillEvent对象BillEvent对象MenuBar概述BOSBands和BOSBand对象BOSTools和BOSTool对象单据基础对象BillHeads和BillEntrysBOSFields单据接口事件函数、方
19、法属性P28概述是 PublicNotCreatable 对象在BillEvent对象中包含使用。例如:Dim Dim oHeadoHead As K3ClassEvents.BillHead As K3ClassEvents.BillHeadSet Set oHeadoHead = BillEventObject.BillHeads(1) = BillEventObject.BillHeads(1)BillHeads、BillEntrys、BOSFields不能不能使用 For Each 方法遍历对象P29BillEntrys对象BillEntrys对象包含了和单据体相关 的属性通过这些属性
20、可以在 运行时操作单据体分录相关信息CountLong分录的个数EntryIndexLong序号BOSFields(BOSFields)包含的字段TableNameString分录对应在数据库中的表名EntryLeftLong分录的左EntryTopLong分录的上EntryWidthLong分录的宽度EntryHeightLong分录的高度LayerLong分录所在的层EntryTypeLong分录的类型(单分录、多分录)VisibleBoolean分录的可见性KeyFieldString分录的关键字段MaxRowsLong可以在运行时调整单据体行数(大于1且小于2000)P30BOSFie
21、lds和BOSField对象字段相关信息CountLong字段的个数CaptionString字段的标题FieldNameString字段名TableNameString字段对应在数据库中的表名FieldLeftLong字段的左FieldTopLong字段的上FieldWidthLong字段的宽度FieldHeightLong字段的高度LayerLong字段所在的层FieldLockBoolean字段是否锁定VisibleBoolean字段是否可见FilterString字段的过滤FontBoldBoolean字段字体属性FontItalicBoolean字段字体属性FontNameStrin
22、g字段字体属性FontSize Currency字段字体属性FrameBorderBoolean是否显示边框FrameBorderColorLong边框颜色LabelColorLong标签颜色LabelWidth Integer标签宽度MustInputBoolean是否必录NeedSaveBoolean是否需要保存NoteString备注NumberVariant字段的值(用于查找类型字段)PageInteger字段所在的PageTextVariant字段的显示值TextColorLong字段的颜色Value Variant字段的保存值FKey String字段的内码BOSField对象对象
23、每个字段对象,对应单据(包括单据头和单据体)上的每一个字段通过这些属性,可以在运行时操作字段。属性集属性集P31BOSField 属性详解某些属性值只适用于单据头中的字段FieldTopFieldLeftFieldHeightFieldWidthLabelWidthLabelColorFrameBorderColorFrameBorderFontNameFontSizeFontBoldFontItalicTextColor某些两者都支持TableNameFieldNameCaptionPageLayerFKeyVisibleNeedSaveMustInputFieldLockNote某些只适用
24、于特殊的字段Row仅支持多分录单据体Filter仅支持基础资料字段P32BOSField 属性详解Visible:字段显示/隐藏属性,只有设计时没有设计为“可见”状态的字段,才可以在运行时更改可见性状态FieldLock:只有设计时没有设计为“锁定”状态的字段,才可以在运行时更改锁定状态Value:得到字段内码值。即保存在数据库中的值Number:得到字段查找类型字段查找值Text:得到字段显示值。即显示在界面的值,不支持通过该属性直接赋值。Value:得到/设置字段非查找类型字段赋值使用Number :得到/设置字段查找类型字段赋值使用P33练习练习通过插件实现寄存入库单新增时默认表体行数为
25、2000行,主要练习BillEntry对象的Maxrows属性通过插件实现当单据头金额大于10000时,锁定单据头备注字段,主要练习单据Change事件,BosField对象的FieldLock属性P34BillEvent对象BillEvent对象MenuBar概述BOSBands和BOSBand对象BOSTools和BOSTool对象单据基础对象BillHeads和BillEntrysBOSFields单据接口事件函数、方法属性P35事件Event MenuBarInitialize(oMenuBar As MenuBar)说明:该事件在菜单、工具栏初始化时发生。说明:该事件在菜单、工具栏初
26、始化时发生。 Event MenuBarClick(BOSTool As BOSTool, Cancel As Boolean)说明:该事件在点击菜单、工具栏项时发生。说明:该事件在点击菜单、工具栏项时发生。 Event AfterNewBill()说明:新建单据对象后发生。说明:新建单据对象后发生。 Event AfterLoadBill()说明:单据对象加载完成后发生。说明:单据对象加载完成后发生。 Event AfterCopyBill()说明:复制单据后发生说明:复制单据后发生Event AfterSelBill(lSelBillType As Long)说明:选单操作完成后发生。说明
27、:选单操作完成后发生。 Event BeforeVerify(bCancel As Boolean)说明:单据对象保存前、系统进行校验操作前发生。说明:单据对象保存前、系统进行校验操作前发生。 Event Change(dct As Dictionary, dctFld As Dictionary, Col As Long, Row As Long, Cancel As Boolean)说明:单据对象上的字段值发生改变时发生。说明:单据对象上的字段值发生改变时发生。 BillEvent对象-事件P36方法Function GetFieldValue(sKey As String, nRow A
28、s Long = -1, ValueType As Enu_ValueType = Enu_ValueType_FFLD) 说明:用于返回字段的值。说明:用于返回字段的值。 Function SetFieldValue(sKey As String, vValue, nRow As Long = -1) As Boolean 说明:用于设置字段的值。说明:用于设置字段的值。 Function InsertNewRowAndFill(nPage As Long, nRow As Long, ParamArray vFieldsData() As Variant) As Boolean 说明:在多
29、分录单据体中插入一个新行,并填充数据。说明:在多分录单据体中插入一个新行,并填充数据。 Function GetDataFld(dct As Dictionary, Row As Long) As Dictionary 说明:获得单据指定字段的值的对象。说明:获得单据指定字段的值的对象。 Function GetFieldInfoByKey(sKey As String, sPKey As String, lIndex As Long) As Dictionary 说明:通过给定的字段的关键名称获得字段的模版的对象。说明:通过给定的字段的关键名称获得字段的模版的对象。 Function Ref
30、reshBill() 说明:刷新当前单据对象。说明:刷新当前单据对象。 Function IsChange() As Boolean 说明:判断单据对象是否被改变。说明:判断单据对象是否被改变。Function DeleteEntryData(nPage As Long) As Boolean 说明:删除单据对象指定单据体分录内全部数据。说明:删除单据对象指定单据体分录内全部数据。 BillEvent对象-函数、方法P37BillEvent对象-属性P38练习练习通过插件实现当寄存入库单业务审核后仍可修改单据头备注字段,主要练习单据Afterload事件,单据方法SetBarStatus、Se
31、tBillFormCaption通过插件实现寄存入库单新增时给表体赋一行值,物料代码为”01.001”,应收数量为100,实收数量为100,单价为1500。主要练习Insertnewrowandfill方法P39插件对象模型插件对象模型(ListEvents)(ListEvents)K3ClassEventsK3ClassEventsBillEvent 单据接口ListEventsListEvents 序事簿接口序事簿接口BaseClassEvent 基础资料序事簿接口ListEventsK3LibNetUserAccountMenuBarBOSBandsBOSToolsBOSBandBOST
32、oolP40ListEvents对象 ListEvents对象事件函数、方法属性P41ListEvents对象-事件Event MenuBarInitialize(oMenuBar As MenuBar)说明:菜单、工具栏初始化时发生。说明:菜单、工具栏初始化时发生。 Event MenuBarClick(BOSTool As BOSTool, Cancel As Boolean)说明:点击菜单、工具栏项时发生。说明:点击菜单、工具栏项时发生。 Event AfterCopyBillCreateData(srcInterID As Long, dctData As Dictionary)说明:
33、复制已选择的单据数据到新单据,但新单据尚未保存时发生。说明:复制已选择的单据数据到新单据,但新单据尚未保存时发生。Event AfterDeleteBill(bSuccess As Boolean, lBillInterID As Long, sBillNo As String, sErrorMessage As String, bCancelErrorMessage As Boolean)说明:删除已选择的单据后发生。说明:删除已选择的单据后发生。Event ListFillRow(lRow As Long, RowData As Object, HeadDict As Dictionary
34、, CellData As String, BackColor As Long, ContinueRaise As Boolean)说明:序时簿的行填充数据时发生。说明:序时簿的行填充数据时发生。P42ListEvents对象-方法Function GetDataFld(dct As Dictionary, Row As Long = -1) As Dictionary 说明:获得单据指定字段的值的对象。说明:获得单据指定字段的值的对象。 Function GetDataFldbyKey(sFKey As String, Row As Long = -1) As Dictionary 说明:通
35、过字段关键名称获取字段的值的对象。说明:通过字段关键名称获取字段的值的对象。 Function GetSelectedBillInfo() As Vector 说明:获取当前选中的单据的数据。说明:获取当前选中的单据的数据。Function LoadSelectedBill(BillStatus As Enu_BillStatusExt) As Boolean 说明:加载当前选择的单据,并按照指定的状态显示。说明:加载当前选择的单据,并按照指定的状态显示。 P43ListEvents对象-属性ListFilterString 说明:序事簿运行时设置过滤条件说明:序事簿运行时设置过滤条件 P44
36、练习练习通过插件实现当寄存入库单业务审核后仍可修改单据头备注字段,主要练习序事簿方法LoadSelectedBill通过插件实现当前登录用户只能看到本人制作的寄存入库单,主要练习序事簿ListFilterString属性P45插件对象模型插件对象模型(BaseClassEvent)(BaseClassEvent)K3ClassEventsK3ClassEventsBillEvent 单据接口ListEvents 序事簿接口BaseClassEventBaseClassEvent 基础资料序事簿接口基础资料序事簿接口BaseClassEventK3LibNetUserAccountMenuBar
37、BOSBandsBOSToolsBOSBandBOSToolP46对象- BaseClassEventBaseClassEvent对象事件函数、方法属性P47BaseClassEvent对象-事件Event MenuBarInitialize(oMenuBar As MenuBar) 说明:菜单、工具栏初始化时发生。说明:菜单、工具栏初始化时发生。 Event MenuBarClick(BOSTool As BOSTool, Cancel As Boolean) 说明:点击菜单、工具栏项时发生。说明:点击菜单、工具栏项时发生。 Event RefreshList() 说明:序时簿刷新时发生。说
38、明:序时簿刷新时发生。Event ListFillRow(lRow As Long, RowData As Object, HeadDict As Dictionary, CellData As String, BackColor As Long, ContinueRaise As Boolean) 说明:序时簿的行填充数据时发生。说明:序时簿的行填充数据时发生。Event ClassGroupSelected(Button As Long, ClassGroupType As Long, ClassGroupID As Long, ClassGroupFullNumber As String
39、) 说明:选择基础资料分组时发生。说明:选择基础资料分组时发生。 P48BaseClassEvent对象-方法、属性方法Function SelectClassGroupByID(lClassGroupID As Long) As Long 说明:按照指定的基础资料分组的说明:按照指定的基础资料分组的IDID定位显示。定位显示。Function PitchItemByID(lItemID As Long) As Boolean 说明:按照指定的基础资料明细的说明:按照指定的基础资料明细的IDID定位显示。定位显示。 Sub RefreshClassGroups() 说明:刷新所有基础资料分组数
40、据。说明:刷新所有基础资料分组数据。Function GetSelectedClassID() As Long 说明:返回当前选择的基础资料分组的说明:返回当前选择的基础资料分组的IDID。 Function GetSelectedItemID() As Long 说明:返回当前选择的基础资料明细的说明:返回当前选择的基础资料明细的IDID。 属性EnableListFillRowEventsEnableListFillRowEvents As Boolean 说明:是允许否触发插件的序时簿说明:是允许否触发插件的序时簿FillRowFillRow 事件。默认为事件。默认为FalseFalse
41、,即不触发。,即不触发。只有当此值为只有当此值为TrueTrue且发生序时簿行填充时,才会触发插件的序时簿且发生序时簿行填充时,才会触发插件的序时簿FillRowFillRow 事件。事件。 P49提纲提纲插件开发概述插件开发概述案例介绍案例介绍插件开发基础插件开发基础插件开发向导插件开发向导数据结构数据结构K3ClassEventsK3ClassEvents业务对象接口业务对象接口BillEventBillEvent 单据接口单据接口ListEvents 序事簿接口BaseClassEvent 基础资料序事簿接口K3ClassEvents公用对象K3Lib常用元数据表结构P50概述是 Pub
42、licNotCreatable 对象在BillEvent、ListEvents、BaseClassEvent对象中包含K3Lib对象使用。例如:Dim oK3 As K3ClassEvents.K3LibDim oK3 As K3ClassEvents.K3LibSet oK3 = BillEventObject.K3LibSet oK3 = BillEventObject.K3Lib也可直接使用:lUserIDlUserID = = BillEventObject.K3Lib.User.UsBillEventObject.K3Lib.User.UserIDerIDP51方法集Function
43、 LoadKDStringLoadKDString(strGBText As String, ResourceFile As String) As String根据K3的语言,从指定的K3语言资源包中返回多语言化的资源可以通过 ResourceFile 参数指定多语言资源包。默认使用BOS的语言资源包Function GetDataGetData(SQLCode As String) As Object通过SQL语句从中间层访问数据库,返回数据。返回值是ADODB.Recordset 类型Sub UpdateDataUpdateData(SQLCode)通过SQL语句从中间层访问数据库,更新数
44、据参数SQLCode可以是String(单条SQL语句),也可以是String() (多条SQL语句)Function CreateK3ObjectCreateK3Object(ClassString As String) As Object通过这个函数在插件中创建K/3的对象,使得插件可以单独调试P52练习练习通过插件实现寄存入库单下推外购入库单时所选单据部门必须相同,主要练习K3lib方法GetData以及序事簿方法GetSelectedBillInfoP53提纲提纲插件开发概述插件开发概述案例介绍案例介绍插件开发基础插件开发基础插件开发向导插件开发向导数据结构数据结构K3ClassEve
45、ntsK3ClassEvents业务对象接口业务对象接口BillEventBillEvent 单据接口单据接口ListEvents 序事簿接口BaseClassEvent 基础资料序事簿接口K3ClassEvents公用对象K3Lib常用元数据表结构P54数据表结构数据表结构清单关联关系字段说明P55清单表名说明ICClassType反映了所有事务类型的总体情况ICClassTypeEntry总体记录了单据头、单据体的信息ICClassTableInfo详细的模板描述表(记录界面上字段的所有信息)ICClassLink数据内部传输的关系描述主表(主要用于选单,上下查)ICClassLinkEn
46、try数据内部传输的关系描述明细表(主要用于选单)ICClassActionAction 的描述表,主要用于解析动作ICClassCondition各种条件(用于动态构造SQL过滤条件即Where条件)ICClassConst系统使用的常数表ICClassProfile用户设置信息的保存ICClassProfileEntry用户设置信息的保存的分录P56库表之间的关联关系P57字段说明1ICClassTypeFID单据事务类型内部IDFName单据名称FTableName表名FtempalteID对应模板ID,一般情况下和FID值相等FLogic菜单控制(新增、删除、修改)(0:不允许增删改;
47、3:允许增删改)FBillTypeID单据类型 (1:分组管理 ;3: 单据)FLayerCount层数 (用于多单据体的情况,可参考“设备管理”下的“设备档案”)FLayerNames所有层的名称用“|”隔开FPrimaryKey表头主键字段名FEPrimaryKey表体主键字段名FClassTypeKey业务对象类型字段名FComponentExt插件组合FControl是否允许单据平台自定义(1(或者1):不允许;3:允许)P58字段说明2ICClassTypeEntryFIndex序号,从1开始,1固定表示表头信息2n表示后面分录的信息FParentID记录ICClassType 的F
48、IDFTableName表名FLayer分录所在层FEntryType分录类型(0:单表 1:多表)FTabIndex分录的Tab IndexFMustInput分录体是否必录(0:否; 1:是)FKeyField判断必录的分录体关键字段P59字段说明3ICClassTableInfoFIDIdentity 无实际含意FClassTypeID单据ClassTypeIDFPage所在页,和ICClassTypeEntry 的FIndex对应FKey关键字,一般和FieldName一样,在同一个ClassTypeID 情况下必须唯一FFieldName字段名称FTableName 表名FTable
49、NameAs表的别名。主要处理多张相同的表出现的情况FListIndex序时薄的顺序FListClassName分组管理单表用,0 保存到单表 1 单表和组别表中都保存 2 仅在组别表中保存FVisible显示隐藏(-1: 单据,序时薄都显示;0:单据,序时薄都不显示,2:序时薄显示,单据不显示)FEnable显示可用( -1 :可用;0:不可用)FNeedSave是否要保存(0:否;1:是)FMustInput是否必录(0:否;1:是)P60字段说明4ICClassTableInfoFCtlType控件类型FLookUpType查找类型(0,无查找,1,基础资料 2,辅助资料)FLookUp
50、ClassID查找类别FLookUpList目前用于存储一些简单下拉列表框值,还有控制数值型录入框的最小和最大值问题FSRCFieldName关联字段,仅对查找类型0字段有效FSRCTableName关联表仅对查找类型0字段有效或查找类别0有效FSRCTableNameAs关联表别名FDSPFieldName携带字段FFNDFieldName查找字段FValueLocation显示字段(3 显示FDSPFieldName 2 显示FFNDFieldName 1 显示FSRCFieldNameFFilter查找过虑FFilterGroup辅助资料类别过虑FValueType字段类型(即SQL S
51、erver 中各种数据类型对应的整型值)P61字段说明5ICClassTableInfoFSaveRule保存规则FDefValue缺省值FAction回车键行为FUserDefine是否用户定义(1:0:)FLoadAction装载单据时的行为FUncontrol控制字段是否允许复制,引入,交叉分析等FSourceType数据来源类别(0 :手工录入; 1 :新关联;2 :关联已有;3 :单据编码;4:制单人;5:批次;6 :核算项目类别; 7 :核算项目;8:用户;9:拉列表;10:组合类型;11:复选框;12:用户自定义查找类型)FSubKey子项,只针对组合类型FParentKey父项
52、,只针对组合类型FConditionExt与ICClassCondition中的FID对应,用于在过滤界面上条件的显示P62关于K/3 BOS完整案例的介绍,请参考K3 BOS应用开发培训教材关于K/3 BOS完整开发流程的介绍,请参考K3 BOS开发指导手册关于插件中接口的函数、方法、事件、属性的详细信息,请参考K3 BOS插件开发参考手册关于BOS万能报表工具包介绍,请参考K3 BOS万能报表工具包用户手册常见问题请参考K/3 BOS百问百答关于工业单据插件开发,函数、方法、属性的详细信息, K3客户化开发工具包资料资料P63支持渠道支持渠道BOS支持邮件组支持邮件组(面向金蝶机构等面向金
53、蝶机构等)BOSTBOS专家支持团队专家支持团队(面向金蝶、伙伴、客户等面向金蝶、伙伴、客户等)吴刚吴刚 0755-26710666-8538 何东生何东生 0755-26710666-8627 蔡波蔡波 0755-26710666-8668 BOS支持负责人:何东生支持负责人:何东生备注:备注:重要项目专项支持:对于重要项目专项支持:对于K/3 BOS单项合同金额超过单项合同金额超过5万的项目,总部能给与免费的万的项目,总部能给与免费的售前方案支持、技术培训、专项技术支持等售前方案支持、技术培训、专项技术支持等BOS相关资料:相关资料:http:/ & AQ & AP65谢谢 谢!谢!结束结束