电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

金蝶云星空 MyOperationPlugin.doc

金蝶云星空 MyOperationPlugin.doc_第1页
1/3
金蝶云星空 MyOperationPlugin.doc_第2页
2/3
金蝶云星空 MyOperationPlugin.doc_第3页
3/3
usingKingdee.BOS.Core.Validation;usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Linq;usingSystem.Text;usingKingdee.BOS.Core;usingKingdee.BOS.Orm.DataEntity;usingKingdee.BOS.Core.Metadata.ConvertElement;usingKingdee.K3.FIN.Core;usingKingdee.BOS.App.Data;usingKingdee.BOS;namespaceMyPlugin.ServicePlugIn{publicclassMyOperationPlugin:AbstractOperationServicePlugIn{//////添加校验器//////publicoverridevoidOnAddValidators(AddValidatorsEventArgse){varsaveValidatorForAPAndApply=newSaveValidatorForAPAndApply();operValidator.AlwaysValidate=true;operValidator.EntityKey="FBillHead";e.Validators.Add(saveValidatorForAPAndApply);}//////当前操作的校验器///privateclassSaveValidatorForAPAndApply:AbstractValidator{publicoverridevoidValidate(ExtendedDataEntity[]dataEntities,ValidateContextvalidateContext,BOS.Contextctx){if(dataEntities==null){return;}stringstrErrorMsg=string.Empty;foreach(ExtendedDataEntityentityDataindataEntities){DynamicObjectCollectionentryList=entityData["FPAYAPPLYENTRY"]asDynamicObjectCollection;if(entryList==null){continue;}foreach(varentryinentryList){//申请付款金额decimalapplyAmountFor=Convert.ToDecimal(entry["FAPPLYAMOUNTFOR"]);stringpurBillNo=Convert.ToString(entry["FSRCBILLNO"]);stringentryId=Convert.ToString(entry["Id"]);if(!Convert.ToString(entry["FSOURCETYPE"]).Equals("PUR_PurchaseOrder")||purBillNo==""){continue;}decimal[]amount=newdecimal[4];if(applyAmountFor>getDecimal(ctx,purBillNo,entryId,outamount)){ValidationErrorInfovalidationErrorInfo=newValidationErrorInfo(string.Empty,Convert.ToString(entityData["id"]),entityData.DataEntityIndex,entityData.RowIndex,Convert.ToString(entityData["id"]),string.Format("第{0}行分录申请付款金额{1}>采购预付金额{2}-(财务应付金额{3}+(付款申请关联金额{4}-当前分录付款关联金额{5})-财务应付已结算金额{6})",entry["seq"],applyAmountFor,amount[0],amount[1],amount[2],amount[4],amount[3]),string.Empty);validateContext.AddError(entityData,validationErrorInfo);}}}}////////////////////////publicdecimalgetDecimal(Contextctx,stringpurBillNo,stringentryId,outdecimal[]amount){stringsql1=string.Format(@"selectsum(apEntry.FALLAMOUNTFOR)asAmountAPAll,sum(apEntry.FPAYMENTAMOUNT)asAmountPayMentfromT_AP_PAYABLEENTRYapEntryinnerjoinT_AP_PAYABLEapMainonapEntry.fid=apMain.fidwhereFORDERNUMBER='{0}'andapMain.FSETACCOUNTTYPE='3'",purBillNo);stringsql2=string.Format(@"selectpayPlan.FAPPLYAMOUNTasAmountApply,payPlan.FYFAMOUNTasAmountAllfromT_PUR_POORDERINSTALLMENTpayPlaninnerjoint_PUR_POOrderpurMainonpayPlan.FID=purMain.FIDwherepurMain.FBILLNO='{0}'",purBillNo);stringsql3=string.Format(@"selectFAPPLYAMOUNTFORfromT_CN_PayApplyentrywherefentryid={0}andFSRCBILLNO='{1}'",entryId,purBillNo);varamountAP=DBUtils.ExecuteDynamicObject(ctx,sql1);decimalamountAPAll=0,amountPayMent=0;if(amountAP.Count>0){amountAPAll=Convert.ToDecimal(DBUtils.ExecuteDynamicObject(ctx,sql1).FirstOrDefault()["AmountAPAll"]);amountPayMent=Convert.ToDecimal(DBUtils.ExecuteDynamicObject(ctx,sql1).FirstOrDefault()["AmountPayMent"]);}varamountPurPlan=DBUtils.ExecuteDynamicObject(ctx,sql2);decimalamountApply=0,amountAll=0;if(amountPurPlan.Count>0){amountApply=Convert.ToDecimal(amountPurPlan.FirstOrDefault()["AmountApply"]);amountAll=Convert.ToDecimal(amountPurPlan.FirstOrDefault()["AmountAll"]);}//当前分录付款关联金额varamountPayApply=DBUtils.ExecuteDynamicObject(ctx,sql3);decimalamountThis=0;if(amountPayApply.Count>0){amountThis=Convert.ToDecimal(amountPayApply.FirstOrDefault()["FAPPLYAMOUNTFOR"]);}amount=newdecimal[5];amount[0]=amountAll;amount[1]=amountAPAll;amount[2]=amountApply;amount[3]=amountPayMent;amount[4]=amountThis;returnamountAll-(amountAPAll+(amountApply-amountThis)-amountPayMent);}}}

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

金蝶云星空 MyOperationPlugin.doc

确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信