用**實現操作校驗,需要派生操作外掛程式基類,以及實現乙個校驗器。
**段1:實現操作外掛程式基類,該外掛程式編譯通過後,需要到bos ide中,開啟單據,註冊到單據的操作上。
/// /// 操作服務端外掛程式示例
///
/// /// 1. 示例如何強制要求載入某欄位
/// 2. 示例如何注入校驗器,校驗器可以通用,為避免在各操作中重複編碼,剝離出來,然後各操作注入剝離出的校驗器
/// 3. 說明一些關鍵事件的用途
///
[system.componentmodel.description("操作服務端外掛程式示例")]
public class operationplugsample : kingdee.bos.core.dynamicform.plugin.abstractoperationserviceplugin
/// /// 操作執行前,載入操作校驗器
///
///
/// /// 在系統開始執行校驗前,外掛程式可以追加自己的校驗器進入操作校驗器集合
///
public override void onaddvalidators(kingdee.bos.core.dynamicform.plugin.args.addvalidatorseventargs e)
#region 接下來按照事件的執行事件順序,由前向後逐一介紹各事件
/// /// 操作執行前,事務開始前事件
///
///
/// /// 1. 此事件在操作校驗之後、操作實現**之前執行
/// 2. 此事件在操作事務之前,即此事件中的資料庫處理,不受操作的事務保護
/// 3. 通常此事件,也可以用來進行資料校驗
///
public override void beforeexecuteoperationtransaction(kingdee.bos.core.dynamicform.plugin.args.beforeexecuteoperationtransaction e)
/// /// 操作執行前,事務開始後事件
///
///
/// /// 1. 此事件在操作校驗之後
/// 2. 此事件在操作事務開始之後
/// 3. 此事件在操作執行**之前
/// 4. 此事件中的資料庫處理,受操作的事務保護
/// 5. 通常此事件,可以用來做資料準備,在操作之前,提前寫資料到庫
///
public override void beginoperationtransaction(kingdee.bos.core.dynamicform.plugin.args.beginoperationtransactionargs e)
/// /// 操作執行後,事務結束前
///
///
/// /// 1. 此事件在操作執行**之後,操作的內部邏輯已經執行完畢
/// 2. 此事件在操作事務提交之前
/// 3. 此事件中的資料庫處理,受操作的事務保護
/// 4. 通常此事件,可以用來做同步資料,如同步生成其他單據,而且需要受事務保護
///
public override void endoperationtransaction(kingdee.bos.core.dynamicform.plugin.args.endoperationtransactionargs e)
/// /// 操作執行後,事務結束後
///
///
/// /// 1. 此事件在操作執行後,操作的內部邏輯已經執行完畢;
/// 2. 此事件在操作事務提交之後;
/// 3. 此事件中的資料庫處理,不受操作的事務保護
/// 4. 通常此事件,也可以做同步資料,但是此同步資料的成功與否,不需影響操作
///
public override void afterexecuteoperationtransaction(kingdee.bos.core.dynamicform.plugin.args.afterexecuteoperationtransaction e)
#endregion
}
**段2:校驗器的實現
/// /// 操作校驗器(示例)
///
[system.componentmodel.description("操作校驗器(示例)")]
class operationsamplevalidator : kingdee.bos.core.validation.abstractvalidator
}/// /// 執行校驗,把校驗結果注入到validatecontext中
///
///
///
///
public override void validate(
kingdee.bos.core.extendeddataentity dataentities,
kingdee.bos.core.validation.validatecontext validatecontext,
kingdee.bos.context ctx)
}#endregion 過載函式
}
如何用Python操作Redis
想要用python操作redis,就要掌握虛擬環境redis安裝以及開啟redis伺服器的命令.具體操作如下 伺服器端的命令為redis server 可以使用help檢視幫助文件 redis server help 推薦使用服務的方式管理redis服務 啟動 sudo service redis ...
如何用C 實現棧
簡單定義 棧就是一種只允許在表尾進行插入和刪除操作的線性表 舉乙個生活中的例子 我在乙個儲物箱中,堆了一堆衣服,我的一件球衣在最下面,而我要拿這件衣服,就意味著我必須將上面的衣服全部拿出來才可以,但是由於箱子只有乙個口,我也只能從上面拿東西,心裡還默默想著,當初就不該將球衣早早的放進去,導致結果就是...
如何用正確的姿勢編寫jQuery外掛程式
這2位大神基礎講的很清楚,在這裡就不多說了,主要那個小需求來練練 需求說明 乙個標題外掛程式,可以通過後端取數,自定義標題,自定義樣式 討論 外掛程式通常不都是載入一下就不操作了,比如 外掛程式,載入資料,重新整理等等。今天練習的控制項就簡單給大家理理寫控制項的思路,有問題,有意見大家指出。func...