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