如何用外掛程式實現操作校驗

2021-07-11 11:29:25 字數 2674 閱讀 7362

用**實現操作校驗,需要派生操作外掛程式基類,以及實現乙個校驗器。

**段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...