U9 前台取参数范例说明 版 本 号 :V1.0 作者:潘坤娜 版本记录 【此部分要记录该文档形成过程中的历次版本变更过程及变更的内容】 版本 修改与参与人 修改时间 修改原因 修改概述 审批人1.0 潘坤娜 2008/06/27 原始文档建立 一.问题域说明 本范例的应用场景:前台取系统参数。 二.基本原理 系统参数编码是预制的脚本,每个参数都有固定的参数编码,这些参数编码由需求定义。 例如:应收参数的文档在U9.SPEC\U9.VOB.AH\FI.AR\SPEC\Fuction\Process\FI_AR_UI_S001_参数设置.xls,可通过文档查看参数编码,名称和类型等信息。因此,可以通过参数编码,调用 BP(在后台拼 OQL)查询出参数值,再根据参数类型强制转换成本身的类型。 三.关键代码及说明 1)在 UI 项目中添加引用 E:\View\U9Product\U9.VOB.Product.Component\UBF\UFIDA.U9.Base.BaseBP.Agent.dll E:\View\U9Product\U9.VOB.Product.Component\UBF\UFIDA.U9.Base.BaseBP.Deploy.dll 2)调用 BP 取系统参数 返回单个参数的方法(参数 ID 为参数编码) private Object GetSystemPara (string ID) { UFIDA.U9.Base.Profile.Proxy.GetProfileValueProxy gP = new UFIDA.U9.Base.Profile.Proxy.GetProfileValueProxy(); gP.ProfileCode = ID; gP.ProfileOrg = long.Parse(PlatformContext.Current.OrgID); Object obj = gP.Do(); return obj; } 返回多个参数的方法 private List GetSystemParas (List IDs) { UFIDA.U9.Base.Profile.Proxy.GetProfileValueListProxy gP = new UFIDA.U9.Base.Profile.Proxy.GetProfileValueListProxy(); List dtolist = new List(); foreach (string ID in IDs) { UFIDA.U9.Base.Profile.ProfileValueInputDTOData dto = new UFIDA.U9.Base.Profile.ProfileValueInputDTOData(); dto.ProfileCode = ID; dto.ProfileOrg = long.Parse(PDContext.Current.OrgID); dto.ProfileUser = long.Parse(PDContext.Current.UserID); dtolist.Add(dto); } dtolist = gP.ProfileValueInputDTOs; List result = new List(); result = gP.Do(); return result; } 3)调用方法 返回单个参数的调用方法 //收款单是否必须全额核销是否限制收款单转暂收 Boolean.Parse(((UFIDA.U9.Base.Profile.PVDTOData)( GetSystemPara ("AR102"))).ProfileValue) 返回多个参数的调用方法 List listSystemParaCode=new List(); listSystemParaCode.Add("AR102");//收款单是否必须全额核销是否限制收款单转暂收 listSystemParaCode.Add("AR103");//立账时是否自动核销预收款 GetSystemParas(listSystemParaCode); 本示例具体代码请参见 E:\View\U9UICode\U9.VOB.PD.FI\AR\Code\ReceivalUI\Action\BillApplyUIModelActionExtend.cs 1171行 E:\View\U9UICode\U9.VOB.PD.FI\AR\Code\ReceivalUI\Action\BillApplyUIModelActionExtend.cs 1190行 注意:经常使用的系统参数,最好在初始化中一次性的放到缓存中,不要每次用的时候都重新调用BP取参数,这样影响效率。 四.源代码使用说明 下载:http://u9scm91/isvdoc/download/U9 研发体系(前台取参数).rar直接解压缩到 E:\View\U9UICode\U9.VOB.PD.FI\AR\Code