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

U9技术文档-范例-U9研发体系(关键性弹性域开发范例(报表)).PDFVIP免费

U9技术文档-范例-U9研发体系(关键性弹性域开发范例(报表)).PDF_第1页
1/8
U9技术文档-范例-U9研发体系(关键性弹性域开发范例(报表)).PDF_第2页
2/8
U9技术文档-范例-U9研发体系(关键性弹性域开发范例(报表)).PDF_第3页
3/8
U9 关键性弹性域开发-报表范例说明 版 本 号 :V1.0 作者:王少松 版本记录 【此部分要记录该文档形成过程中的历次版本变更过程及变更的内容】 版本 修改与参与人 修改时间 修改原因 修改概述 审批人1.0 王少松 2008-6-25 原始文档建立 一. 问题域说明 关键性键弹性域(Key Flex Field ):用于为某些档案动态定义复合主键的弹性域。 (U9-编码结构)。 在业务报表开发中,因为不能在设计态获得足够的信息,所以需要在运行时动态处理,如条件项名称和值集的参照,以及栏目、行分组项目、列分组项目、排序项目的名称等信息。 二.基本原理 首先取得关键性弹性域的定义信息,然后调用报表平台的处理函数,统一处理和弹性域相关的条件项、栏目、行分组项目、列分组项目、排序项目。 三.关键代码及说明 1. 关键性弹性域定义信息 UBFCode\U9.VOB.UBF\AutoCoding\CodingApp\QueryReport\Code\QueryCaseBP\BpImplement\QueryCaseBP\KeyFlexFieldSegInfoDTO.cs 2. 获得关键性弹性域定义信息(GetFlexSegLevelInfo) UBFCode\U9.VOB.UBF\AutoCoding\CodingApp\QueryReport\Code\ReortCaseBP\BpImplement\ReortCaseBP\GetFlexSegLevelInfoExtend.cs /// /// 获取关键弹性域段级次处理BP /// /// /// public override object Do(object obj) { GetFlexSegLevelInfo bpObj = (GetFlexSegLevelInfo)obj; List list = new List(); if (bpObj.KeyFlexFieldStruIDs == null) return list; for (int i = 0; i < bpObj.KeyFlexFieldStruIDs.Count; i++) { KeyFlexFieldStru def = KeyFlexFieldStru.Finder.FindByID(bpObj.KeyFlexFieldStruIDs[i]); List KeyList = new List(); string separator = "-"; if (def != null) separator = def.Separator; if (def != null && def.Segments != null) { for (int j = 0; j < def.Segments.Count; j++) { KeyFlexFieldSegInfoDTO ItemData = new KeyFlexFieldSegInfoDTO(); if (def.Segments[j].IsDynamicValueSet) { ItemData.DynamicValue = true; //动态值集合 ItemData.SegEntity = def.Segments[j]; ItemData.SegmentSeparator = separator; //分隔符定义 ItemData.DynamicValueSetDef = GetDynamicValueSetdef(def.Segments[j]); } else { ItemData.SegEntity = def.Segments[j]; ItemData.ValueSetDef = def.Segments[j].ValueSetDef; } if (ItemData.ValueSetDef != null || ItemData.DynamicValue) { KeyList.Add(ItemData); } } } //end setDef KeyFlexFieldSegLevelList keyFlexFieldSegLevelList = new KeyFlexFieldSegLevelList(); keyFlexFieldSegLevelList.SegList = KeyList; keyFlexFieldSegLevelList.Seprator = separator; list.Add(keyFlexFieldSegLevelList); } return list; } //end Do 3. 根据分类性质获得料品分类弹性域(GetItemCategoryFlexFieldStrutID) 4. 根据关键性弹性域定义处理条件项、栏目、行分组项目、列分组项目、排序项目 UBFCode\U9.VOB.UBF\ADF\Analysis\QueryReport\UFIDA.UBF.Report.App.UI\Service\ReportFlexFieldHelper.cs /// /// 处理关键性弹性域 /// /// 方案定义信息 /// 关键弹性域段 /// 栏目/参数名称前缀 /// 是否处理参数 /// 是否处理栏目 /// 是否处理行分组 /// 是否处理列分组 /// 查看更多

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

碎片内容

U9技术文档-范例-U9研发体系(关键性弹性域开发范例(报表)).PDF

您可能关注的文档

确认删除?
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
微信
  • 微信