這是系統自帶的一些按鈕的事件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 表示 命名空間.類型
