二、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 单据继续保存事务处理。 参数:SdsnMMTS.PropsString          SaveVect:二次开发外部数据存取接口。          ReturnMsg:失败时返回的错误信息。 

中间层 EndSave Public Function EndSave(ByVal Sdsn As String, ByRef SaveVect As KFO.Vector, ByRef ReturnMsg As String) As Boolean  在单据保存的事务处理中,在单据数据保存到数据库之后,调用该函数。 返回值: FALSE 保存事务终止,返回错误。 TRUE 单据继续保存事务处理。 参数:SdsnMMTS.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:设置的值。
原文地址:https://www.cnblogs.com/zhugq02/p/11232006.html