• 二、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:设置的值。
  • 相关阅读:
    error C4430: 缺少类型说明符
    Fiddler 教程
    make: Nothing to be done for 'first'
    Qt Creator + MinGW 在windows 下的调试GDB停止工作解决
    WIN7成功安装Qt4.8方法,无需VS支持
    深入研究 UCenter API For .NET
    C#在Winform程序中显示QQ在线状态
    VS2010 需要缺少的web组件才能加载该项目
    System.Runtime.InteropServices.COMException: 检索 COM 类工厂中 CLSID 为 {0002E510-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 80040154
    c#while循环注意continue的地方
  • 原文地址:https://www.cnblogs.com/star-studio/p/6437341.html
Copyright © 2020-2023  润新知