二、K3 WISE 开发插件《 工业单据老单客户端插件事件、属性、方法》
=====================
目录:
1、插件事件说明如下
2、插件属性说明如下
3、插件方法说明如下
=====================
1、插件事件说明如下:
序号 | 事 件 | 函 数 | 描 述 |
1 | BillInitialize | Private Sub m_BillTransfer_BillInitialize() | 单据初始化完成时激发该事件 |
2 | BillTerminate | Private Sub m_BillTransfer_BillTerminate() | 单据卸载完成时激发该事件 |
3 | UserMenuClick | Private Sub m_BillTransfer_UserMenuClick(ByVal Index As Long, ByVal Caption As String) | 当点击用户自定义的菜单时激发这个事件。
参数:Index:表示第几个菜单、由添加菜单的先后顺序决定, Caption:菜单项的标题 |
4 | LeveCell |
Private Sub m_BillTransfer_LeveCell(ByVal Col As Long, ByVal Row As Long, ByVal NewCol As Long, ByVal NewRow As Long, Cancel As Boolean) |
当离开分录的一个单元格的时候激发这个事件
参数:Col 分录的要离开列 Row分录的要离开行 NewCol 新的列 NewRow新的行 Cancel是否取消 |
5 | HeadChange | Private Sub m_BillTransfer_HeadChange(ByVal CtlIndex As Long, ByVal Value As Variant, ByVal bNewBill As Boolean, Cancel As Boolean) |
当表头的一个项目改变时激发这个事件 参数:ctlIndex 表头字段索引 Value 当前值 bNewBill是否是新增单据 Cancel是否取消 |
6 | GridChange | Private Sub m_BillTransfer_GridChange(ByVal Col As Long, ByVal Row As Long, ByVal Value As Variant, ByVal bNewBill As Boolean, Cancel As Boolean) |
当表体的一个项目改变时激发这个事件 参数:Col 分录的当前列 Row分录的当前行 Value 当前值 bNewBill是否是新增单据 Cancel是否取消 |
7 | BeforGridLookUp | Private Sub m_BillTransfer_BeforGridLookUp(ByVal Row As Long, ByVal Col As Long, ByVal nLookUpClsID As Long, Cancel As Boolean) |
在分录执行查找功能之前激发这个事件 参数:Col 分录的当前列 Row分录的当前行 nLookUpClsID 当前查询的资料类型, Cancel是否取消 |
8 | EndGridLookUp |
Private Sub m_BillTransfer_EndGridLookUp(ByVal Row As Long, ByVal Col As Long, ByVal nLookUpClsID As Long) |
在分录完成查找功能之后激发这个事件 参数:Col 分录的当前列 Row分录的当前行 nLookUpClsID 当前查询的资料类型 |
9 | BeforHeadLookUp | Private Sub m_BillTransfer_BeforHeadLookUp(ByVal CtlIndex As Long, ByVal nLookUpClsID As Long, Cancel As Boolean) |
在表头的一个项目执行查找功能之前激发这个事件 参数:ctlIndex表头字段索引 nLookUpClsID 当前查询的资料类型 Cancel是否取消 |
10 | EndHeadLookUp |
Private Sub m_BillTransfer_EndHeadLookUp(ByVal CtlIndex As Long, ByVal nLookUpClsID As Long) |
在表头的一个项目完成查找功能之后激发这个事件, 参数:ctlIndex表头字段索引 nLookUpClsID 当前查询的资料类型 |
11 | BeforeSave |
Private Sub m_BillTransfer_BeforeSave(ByVal bNew As Boolean, ReturnCode As Long) |
在单据执行保存功能的时候激发这个事件 参数:bNew 表示是否是新增单据 ReturnCode 返回参数 -1: 失败,结束单据保存; 0:成功,继续单据保存 1:成功返回,结束单据保存 |
12 | EndSave |
Private Sub m_BillTransfer_EndSave(ByVal BillNo As String) |
在单据执行完成保存功能的时候激发这个事件
参数:BillNo表示单据的编号 |
13 | LoadBillEnd |
Private Sub m_BillTransfer_LoadBillEnd(ByVal ShowType As Long) |
在单据装载完成的时候激发这个事件
参数:ShowType 单据显示状态 0.新增 1.修改 2.查看 3.审核 |
14 | NewBillEnd | Private Sub m_BillTransfer_NewBillEnd() | 在单据新增完成的时候激发这个事件 |
15 | SetMenuBarCtlPropEnd | Private Sub m_BillTransfer_SetMenuBarCtlPropEnd(ByVal ShowType As Long, ByVal BillChecked As Boolean)
|
在单据设置菜单、工具条各属性完成的时候激发这个事件 参数:ShowType 单据显示状态 0.新增 1.修改 2.查看 3.审核 BillChecked 单据是否已被审核 |
16 | BeforeFillBillData | Private Sub m_BillTransfer_BeforeFillBillData(ByVal BillTransType As Long, ByVal BillInterID As Long) |
在装载某张单据之前激发这个事件 参数:BillTransType 单据事务类型 BillInterID单据内码 |
17 | EndBillFormActive | Private Sub m_BillTransfer_EndBillFormActive() | 在显示单据之后激发这个事件 |
18 | GridFormat | Private Sub m_BillTransfer_GridFormat(ByVal Dest As Long, ByVal Col As Long, ByVal Row As Long) |
在设置单据体格式后激发这个事件 参数:Dest Col 要设置格式的目标列 Row 要设置格式的目标行 |
19 | RefreshControl | Private Sub m_BillTransfer_RefreshControl() | Public Event RefreshControl() |
20 | BeforeEntrySplit | Private Sub m_BillTransfer_BeforeEntrySplit(ByVal pCurRow As Long, ByVal pSplitCount As Long, ByVal pSplitMethod As Long, pCancel As Boolean) | 在单据的拆分操作之前激发此事件
参数:pCurRow 要拆分的当前分录行 pSplitCount 拆分的数目 pSplitMethod 拆分分录位置 0 插入式, 1追加式 pCancel 是否取消拆分 true:取消拆分 false:拆分 |
21 | AfterEntrySplit | Private Sub m_BillTransfer_AfterEntrySplit(ByVal pCurRow As Long, ByVal pSplitCount As Long, ByVal pSplitMethod As Long) |
在单据的拆分操作之后激发此事件 参数:pCurRow 被拆分的分录行 pSplitCount 被拆分成的数目 pSplitMethod 拆分分录位置 0: 插入式, 1:追加式 |
22 | OnBeforeDelRow | Private Sub m_BillTransfer_OnBeforeDelRow(ByVal lRow As Long, bCancel As Boolean) |
在单据删除指定行之前激发此事件 参数:lRow 指定要删除的行 bCancel 是否取消删除 true:取消删除 false:删除 |
23 | OnAfterDelRow | Private Sub m_BillTransfer_OnAfterDelRow(ByVal lRow As Long, bCancel As Boolean) |
在单据删除指定行后激发此事件 参数:lRow 被删除的行 bCancel 备用参数,目前没用到 |
24 | BeforeSelBills | Private Sub m_BillTransfer_BeforeSelBills(ByVal Para As KFO.IDictionary) |
在单据选单后,加载数据前激发此事件; 或者上游单据下推后,加载数据前激发此事件。 |
中间层 | BeginSave | Public Function BeginSave(ByVal Sdsn As String, ByRef SaveVect As KFO.Vector, ByRef ReturnMsg As String) As Boolean |
在单据保存的事务处理中,在单据数据保存到数据库之前,调用该函数。 返回值: FALSE 保存事务终止,返回错误。 TRUE 单据继续保存事务处理。 参数:Sdsn: MMTS.PropsString SaveVect:二次开发外部数据存取接口。 ReturnMsg:失败时返回的错误信息。 |
中间层 | EndSave | Public Function EndSave(ByVal Sdsn As String, ByRef SaveVect As KFO.Vector, ByRef ReturnMsg As String) As Boolean | 在单据保存的事务处理中,在单据数据保存到数据库之后,调用该函数。 返回值: FALSE 保存事务终止,返回错误。 TRUE 单据继续保存事务处理。 参数:Sdsn: MMTS.PropsString SaveVect:二次开发外部数据存取接口。 ReturnMsg:失败时返回的错误信息。 |
2、插件属性说明如下:
序号 | 属 性 | 类 型 | 备 注 |
1 | CnnString | Property CnnString as String | 当前数据库的MMTS.PropsString的连接串 |
2 | SystemName | Property SystemName as String | 当前系统名称 |
3 | LastInfo | Property LastInfo as String | 最后一次系统返回的各种信息 |
4 | BillForm | Property BillForm as Object | 整个单据窗体对象。可通过该对象访问单据上的任何一个对象,包括控件、菜单 |
5 | BillFunc | Propert BillFunc as Object | 代表单据对象。目前没什么用途 |
6 | Head | Propert Head as Object | 单据表头控件,是一个KDText控件数组 |
7 | Grid | Propert Grid as Object | 单据分录控件,为FpSpread控件 |
8 | SumGrid | Propert SumGrid as Object |
单据分录合计控件,为FpSpread控件 |
9 | HeadCtl | Propert HeadCtl as Variant |
对应表头控件数组,记录每个表头项目各属性的数组 如果要改变HeadCtl中的某个属性值,需先对HeadCtl做一个备份,然后修改此备份相应属性值,再将此备份赋值给HeadCtl |
10 | EntryCtl | Propert EntryCtl as Variant |
对应分录各列,记录每个分录列各属性的数值 如果要改变EntryCtl中的某个属性值,需先对EntryCtl做一个备份,然后修改此备份的相应属性值,再将此备份赋值给EntryCtl |
11 | SaveVect | Propert SaveVect as KFO.Vector |
二次开发外部数据存取接口。在录单过程中,用户可将某些数据保存在此Vect中,在单据保存时,再通过二次开发中间层组件,将此Vector中的数据保存到指定位置 SaveVect.Item(1)为一个KFO.Dictionary对象 该对象包含以下四个系统数据 SaveVect.Item(1).Value("FInterID") 单据内码 SaveVect.Item(1).Value("FTransType") 单据事务类型 SaveVect.Item(1).Value("ISRedBill") 是否红字单据 SaveVect.Item(1).Value("BillChecked") 是否审核 |
3、插件方法说明如下:
序号 | 方法名 | 函 数 | 备 注 |
1 | AddUserMenuItem | Function AddUserMenuItem(ByVal Caption As String, [ByVal RootMenuCaption As String = ""]) |
添加一个用户自定义菜单项,系统一共预设了五个菜单项供二次开发使用 参数:Caption:菜单名称 RootMenuCaption:根菜单名称。缺省为“自定义菜单” |
2 | GetGridText | Function GetGridText(ByVal Row As Long, ByVal Col As Long) As String | 获取分录某单元格的值 参数:Row:分录行 Col:分录列 |
3 | GetHeadNumber | Function GetHeadNumber(ByVal CtlIndex As Long) As String | 获取表头某项的代码 参数:CtlIndex:表头控件索引 |
4 | GetHeadText | Function GetHeadText(ByVal CtlIndex As Long) As String | 获取表头某项的文本 参数:CtlIndex:表头控件索引 |
5 | GetSumGridText | Function GetSumGridText(ByVal Row As Long, ByVal Col As Long) As String | 获取合计行某列的值 参数:Row:行。一般为 1 Col:分录列 |
6 | SetGridText | Function SetGridText(ByVal Row As Long, ByVal Col As Long, ByVal Value, [ByVal InterID As Long = 0], [ByVal sName As String = ""]) As Boolean | 设置分录某单元格的值, 当分录为查找类型时,会把相应的信息一起携带到相应的位置,如当 为物料代码时,它会携带物料的一些基本信息物料名称等。 参数:Row:分录行 Col:分录列 Value:设置的值。如果该单元格是查找类型的, Value 应设置为代码。 InterID:暂未使用 sName:暂未使用 |
7 | SetHead | Function SetHead(ByVal Index As Long, ByVal Value, [ByVal InterID As Long = 0], [ByVal sName As String = ""]) As Boolean | 设置表头某项的值 参数:Index:表头控件索引 Value:设置的值。如果该表头项是查找类型的, Value 应设置为代码。 InterID:暂未使用 sName:暂未使用 |
8 | SetSumGridText | Function SetSumGridText(ByVal Row As Long, ByVal Col As Long, ByVal Value) As Boolean | 设置分录合计某列的值 参数:Row:分录行。一般为 1 Col:分录列 Value:设置的值。 |