k3 wise 序时簿二次开发2

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了k3 wise 序时簿二次开发2相关的知识,希望对你有一定的参考价值。

            这是系统自带的一些按钮的事件ID和名称

300014

单据拆分后事件

300013

单据拆分前事件

300012

单据合并后事件

300011

单据合并前事件

300010

单据关联反写后事件

300009

单据关联反写前事件

300008

关闭/反关闭单据后事件

300007

关闭/反关闭单据前事件

300006

作废/反作废单据后事件

300005

作废/反作废单据前事件

300004

删除单据后事件

300003

删除单据前事件

300002

序时簿复制后事件

300001

序时簿复制前事件

100001

生成凭证结束反写事件

100000

生成凭证结束反写事件

200003

审核退出前事件

200002

审核反写事件

200001

审核前事件

    

--场景: 客户要求在系统自带的按钮[关闭]或者[反关闭]来更新表中对应的字段值.

--步骤:
1.0 在C#建立类库 命名空间为BOS_BillEvent_PlugIns 类型为 Class3 然后实现 bool HookInvoke(long EventID, KFO.Dictionary dctParams) 方法,
1.1 参数说明:EventID 请求的事件ID(如上图所示) dctParams的值域 为 sDsn|连接字符串、BillInterID|单据的内码、TableHeadName|表名、CloseSwitch|0/1(关闭/反关闭)

string sDsn = dctParams.GetValue("sDsn").ToString();//数据连接
string BillInterID = dctParams.GetValue("BillInterID").ToString();//单据唯一值
string TableHeadName = dctParams.GetValue("TableHeadName").ToString();//单据的表名
string CloseSwitch = dctParams.GetValue("CloseSwitch").ToString();

switch (TableHeadName)
{
case "SEOrder"://销售订单

if (CloseSwitch == "0")//关闭
{
//逻辑处理...
}
else//反关闭
{
//逻辑处理...
}
break;
case "ICSale"://发票
break;
}

 


2.0 在数据库中找到表[t_ThirdPartyComponent],插入对应的信息 INSERT INTO t_ThirdPartyComponent (FTypeID,FTypeDetailID,FIndex,FComponentSrv,FDescription)VALUES (2,300008,-9999,‘BOS_BillEvent_PlugIns.Class3‘,‘关闭后触发测试‘)
2.1 FTypeID 0为客户端插件;2为中间层插件 FTypeDetailID 当FtypeId为2的时候 表示中间层响应事件类型 FComponentSrv 表示 命名空间.类型

以上是关于k3 wise 序时簿二次开发2的主要内容,如果未能解决你的问题,请参考以下文章

K3 老单序时簿增加按钮的方法以及老单序时簿插件开发

请教K3工业单据序时簿添加按钮时的问题

谁有K3 wise 12.1的管理员手册

k3BOS开发知识点

关于金蝶K3老单的二次开发

金蝶二次开发C#