




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、插件開(kāi)發(fā)應(yīng)用案例介紹 收貨單提供以下功能:增加下拉列表,顯示單據(jù)頭的所有字段;在分錄菜單上增加庫(kù)存查詢(FQuerylnventory)菜單項(xiàng);3點(diǎn)擊庫(kù)存查詢時(shí),查詢分錄上當(dāng)前焦點(diǎn)所在物料的庫(kù)存(STK_InvSumQuery); STK_Inventory4.查詢庫(kù)存時(shí)按組織隔離,只查詢當(dāng)前組織的庫(kù)存;5當(dāng)前分錄物料F8時(shí),顯示所有組織的物料;暫存時(shí)清空單據(jù)類型的值;物料基礎(chǔ)資料增加字段有效期至(F_MCY_ExpiryDate); 時(shí)只顯示有效期今天的物料;保存判斷物料的庫(kù)存,如果100則提示“庫(kù)存100,是否入庫(kù)”;保存后鎖定“收料部門(mén)”、“收料員”;保存后自動(dòng)記錄收料日志(MCY_s
2、tk_Receip tLog);操作步驟:增加下拉列表,顯示單據(jù)頭的所有字段;新建(打開(kāi))收貨單插件工程();重載Onlnitialize方法,定義ListEnumItem用于存儲(chǔ)下拉列表枚舉值;通過(guò)方法獲取所有字段;通過(guò)方法獲取界面上的下拉列表控件;SetComboItems 綁定值;f)代碼如下:C#public override void OnInitialize(InitializeEventArgs e) (e);ListEnumItem list = new ListEnumItem();foreach (Field field inEnumItem item = new Enum
3、Item (); (item):FCombo).Se tCombo Ite ms(lis t);在分錄菜單上增加庫(kù)存查詢(tbQuerylnventory)菜單項(xiàng);運(yùn)行IDE,選擇單據(jù)體-菜單集合,新增菜單:b)保存;點(diǎn)擊庫(kù)存查詢時(shí),查詢分錄上當(dāng)前焦點(diǎn)所在物料的庫(kù)存;打開(kāi)插件工程,重載方法En tryBarI temClick判斷 Bar It emKey=庫(kù)存查詢(t bQueryInven to ry)取當(dāng)前分錄行設(shè)置ListShowParameter參數(shù),打開(kāi)表單這里介紹2種獲取當(dāng)前分錄字段數(shù)據(jù)的方法:TryGe tEn tryCurren tRow :獲取單據(jù)體當(dāng)前行,返回是否取到值以
4、及行數(shù)據(jù)和行號(hào);另外一種方法:先獲取單據(jù)體當(dāng)前行號(hào),再取指定行數(shù)據(jù);2種方法沒(méi)什么區(qū)別。示例代碼如下:C#override void EntryBarItemClick(BarItemClickEventArgs e)(e);if =ShowQueryInven tory();private void ShowQuerylnventory() DynamicObject row;int rowindex;調(diào)試狀態(tài)下,可以屏蔽代碼看看過(guò)濾條件的效果。注意:ListFilterParameter的Filter屬性設(shè)置的字段是用IDE中的字段標(biāo)識(shí)。查詢庫(kù)存時(shí)按組織隔離,只查詢當(dāng)前組織的庫(kù)存:增加過(guò)濾
5、條件,組織=當(dāng)前組織= ( FORGID =0 ,);5當(dāng)前分錄物料F8時(shí),顯示所有組織的物料;重載 AuthPermissionBeforeF7Select 方法,設(shè)置參數(shù) IsIsolationOrg = false;同樣,如果需要F8時(shí)控制只顯示當(dāng)前組織的物料,該參數(shù)設(shè)置為true。注意:在BOS系統(tǒng)中,默認(rèn)是按組織隔離的,即非共享基礎(chǔ)資料,在F8時(shí)都是只顯示當(dāng)前組織的 物料。時(shí)只顯示審核日期2014-03-22的供應(yīng)商;重載 BeforeF7Select 事件;設(shè)置列表過(guò)濾參數(shù)ListFilterParameter的屬性Filter;C#public override void Bef
6、oreF7Select(BeforeF7SelectEventArgs e)(e);if = FSupplierldl)string filter = FCreateDate 2014-03-20if=filter;elseAND;保存判斷物料的庫(kù)存,如果100則提示“庫(kù)存100,是否入庫(kù)”;新建收貨單服務(wù)插件工程;定義保存服務(wù)類 SaveServicePlugln,繼承自 AbstractOperationServicePlugln;重載 OnAddValidators 方法;代碼示例如下:C#public override void OnAddValidators(AddValidator
7、sEventArgs e)(e);SaveValidator saveValidator = new SaveValidator();=FBillHead;d)定義保存校驗(yàn)類 SaveValidator,繼承自 AbstractValidator;e)重載方法:Validate:i.獲取單據(jù)體分錄數(shù)據(jù),取到物料Id;ii查詢物料庫(kù)存;檢查庫(kù)存是否100;構(gòu)造校驗(yàn)結(jié)果信息;代碼示例:C#public override void Validate(ExtendedDataEntity dataEntities, ValidateContext validateContext, ctx)if (da
8、taEntities = null |= 0)return;Dictionarylong, decimal dictErrMaterialld = new Dictionarylong, decimal。; FMATERIALID) group by FMATERIALID ;SqlParam param = new SqlParam (FMATERIALID, , ().ToArray();using (IDataReader dr = , sql, param)while ()decimal qty = (drFQTY);if (qty 100)(drFMATERIALID), qty);
9、foreach (ExtendedDataEntity entityObj in dataEntities)DynamicObjectCollection collection =(DynamicObjectCollection)entityObjFEntity;foreach (DynamicObject rowObj in collection)if (long)rowObjFBase_Id)ValidationErrorlnfo errinfo = newValidationErrorInfo(FMATERIALID, Id), , (rowObjId), SaveValidator,庫(kù)
10、存數(shù) 量大于100,校驗(yàn)失敗,;(en tity Obj, errinfo);f)重載方法:Validate:保存后鎖定“收料部門(mén)”、“收料員”;鎖定字段的方法:;該鎖定與事務(wù)無(wú)關(guān),只要在客戶端保存后事件(Aft erBarI temClick )處理即可;“收料部門(mén)”、“收料員”的key可以在IDE設(shè)計(jì)器中拷貝;代碼如下:C#public override void AfterBarItemClick(AfterBarItemClickEventArgs e)(e);if = tbSave)FBase1, tr ue);FBase2, t rue);字段名稱類型說(shuō)明KDV ID日志ID字段名
11、稱類型說(shuō)明KDV ID日志IDint自增長(zhǎng)KDV UserID操作用戶KDV Da te操作時(shí)間KDV Con tent 日志內(nèi)容IntKDV UserID操作用戶KDV Da te操作時(shí)間KDV Con tent 日志內(nèi)容Int關(guān)聯(lián)用戶表IDNvarchar(2000)保存有2種方法:方法1:在IDE中定義收料日志基礎(chǔ)資料;打開(kāi)收貨單服務(wù)插件保存服務(wù)類SaveServicePlugIn;根據(jù)收料日志基礎(chǔ)資料的元數(shù)據(jù)定義,創(chuàng)建動(dòng)態(tài)實(shí)體對(duì)象;設(shè)置對(duì)象屬性值;調(diào)用BusinessDataService服務(wù)的保存方法保存動(dòng)態(tài)實(shí)體對(duì)象;代碼如下:C#public override void After
12、ExecuteOperationTransaction(AfterExecuteOperationTransaction e)(e);MetaDataService metaService = new MetaDataService();FormMetadata formMetaData = (FormMetadata),1823871d-b9cf-4d8b-93af-39c0c37011a5);DynamicObjectType dt =DynamicObject obj = new DynamicObject(dt);KDV_UserID_Id.Se tValueFas t( obj,KD
13、V_Con ten t.Se tValueFas t(obj,保存);ISaveService saveService = ();,new DynamicObject obj );方法2:a)自定義收料日志表;b)獲取日志的自增長(zhǎng)(序列)值;c)執(zhí)行 insert;代碼如下:C#publicoverride void AfterExecuteOperationTransaction(C#publicoverride void AfterExecuteOperationTransaction(AfterExecuteOperationTransactione)(e);SequenceReader sequence = new SequenceReader;int ids = (in t )(KDV_s tk_Receip tLog, 1);int id = ids0;string sql = insert into KDV_stk_ReceiptLog(FID, KDV_UserID, KDV_Conten
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025光纖通訊供貨合同范本
- 2025二手房購(gòu)房合同模板
- 學(xué)校聘用清潔工勞動(dòng)協(xié)議
- 污水處理廠施工合同
- 多間店面出租合同
- 個(gè)人股份轉(zhuǎn)讓協(xié)議書(shū)
- 多媒體發(fā)布廣告合同
- 學(xué)校委托保潔公司托管合同
- 2025私人借款合同模板
- 2025設(shè)備租賃合同(1)設(shè)備租賃合同
- 幼兒園優(yōu)質(zhì)公開(kāi)課:中班數(shù)學(xué)活動(dòng)《營(yíng)救汪汪隊(duì)》超清有聲動(dòng)態(tài)課件
- 加油站安全生產(chǎn)投入臺(tái)賬
- 文件簽收單范本
- 人教版七年級(jí)數(shù)學(xué)下冊(cè) (實(shí)際問(wèn)題與二元一次方程組)二元一次方程組課件(第2課時(shí))
- 對(duì)聯(lián)知識(shí)及練習(xí)題有答案
- 二年級(jí)勞動(dòng)課-摘菜與洗菜
- (完整)消化性潰瘍PPT課件ppt
- 財(cái)務(wù)報(bào)表涉稅風(fēng)險(xiǎn)點(diǎn)
- 廣州市白云廣附實(shí)驗(yàn)學(xué)校招生數(shù)學(xué)真題卷
- 施工組織設(shè)計(jì)-暗標(biāo)
- 西方美術(shù)史知到章節(jié)答案智慧樹(shù)2023年齊魯師范學(xué)院
評(píng)論
0/150
提交評(píng)論