1、报表应用项目操作步骤2报表应用项目操作步骤建立日期: 2010-03-01修改日期: 2010-03-01文控编号: 作者: 文档信息项目编号*文档编号*项目名称*标题*类别参考手册摘要当前版本V1.0日期作者*文档拥有者送交人员文件修改历史日期版本作者修改内容目 录1 参考资料 52 报表应用项目 52.1 创建项目 62.1.1 创建报表应用项目 62.1.2 指定UI及分析项目 62.1.3 设置项目信息 82.1.4 创建后 92.1.4.1 创建后 92.1.4.2 项目关系 102.1.4.3 文件关系 102.2 选择数据源实体 122.2.1 选择实体 122.2.2 打开实体
2、选择 132.2.3 选择实体属性 142.2.4 选择完属性 152.3 设置报表模板 152.3.1 打开模板 152.3.2 模板中字段 162.3.3 模板参数 172.4 发布模板 172.4.1 菜单位置 172.4.2 报表模型发布向导 182.4.3 报表模型发布路径 182.4.4 新建分类目录 192.4.5 报表模型容器 202.4.6 模型发布 212.4.7 模型元数据管理确认 222.5 修改UIForm中报表控件属性 232.5.1 打开UIForm 232.5.2 修改报表路径 232.5.3 选择报表模板 242.6 构造生成代码 242.6.1 构造Data
3、Command 242.6.2 DataCommand构造成功信息 252.6.3 构造UI项目 262.6.4 UI项目构造成功 262.7 部署 281 参考资料1) U9研发体系(U9报表开发手册).PDF2) U9研发体系(自定义报表开发手册).PDF3) 报表开发工具 2.0 版培训.docx2 前提UI开发基础3 报表应用项目报表应用项目是开发报表的一种方式。是分析项目、UI项目的组合,由于有单独的UIForm,所以在UI层的控制更灵活,需要装配UI项目,如果用自定义的报表能够满足需求,在两种实现方式中根据需要选择。1) 用于开发标准的报表 a) 报表UI、模板、策略在一个解决方案
4、管理 b) 标准产品报表是采用这种方式开发 2) 与自定义报表对比 a) 需要UI项目支持 b) UI项目需要装配 c) 报表模板单独存放在UFRDL文件中,需要发布 3) 构造可以生成策略项目 4) 开发环境 a) UBFStudioIDEConfig.xml第三行配置RuntimeForReportDesigner=false主要步骤:1) 创建报表应用项目2) 创建 DataCommand3) 导入DataCommand4) 发布模板5) 修改UI报表引用路径,修改报表名称6) 构造生成UI,策略代码。7) 编写策略代码8) 调整UI代码9) 发布菜单,UI脚本。10) 使用一键式发布工
5、具进行部署11) 在Portal中进行调试注意问题:1) 报表应用项目2) 报表应用组件 3) 报表模板 4) 报表对应UI项目 5) 报表策略 6) 部署3.1 创建项目3.1.1 创建报表应用项目新建一个空白解决方案在解决方案上点击右键:新建3.1.2 指定UI及分析项目配置服务组,以及UI项目,分析项目名称和生成路径填写项目名称、位置说明:1) 关于服务组的说明根据各个服务组代码生成位置来配置。如:INV 、SD 等生成路径都带SCM:U9.VOB.PD.SCMINVCode在 UBFStudioRuntimeDataCommandCodeGeneratorConfig.xml配置服务组
6、所属的节点如果没有就为空如下例: INV PO SD Base CBO 2) 注意下面的命名规则:UI项目 服务组名+ReportUI分析项目 服务组名+ReportTemplates选择项目生成路径: (UI模型和URDL模型位置),点下一步3.1.3 设置项目信息说明:1) 输入报表模型的名称,注意模型文件的都相同,只是后缀不同。2) 选择报表模板: 现在提供了 6 个报表模板: 现在带表头的模板中的公有4个Card,名字是 Card4, Card6, Card7 ,Card83.1.4 创建后3.1.4.1 创建后说明:生成的SLN中共包括3 个项目1) 分析项目(URDL) 服务组名称
7、+ReportTemplates2) 报表应用项目服务组名称+Report包括:a) 策略信息b) 新的DataCommand模型c) 引用 UI和URDL项目信息3) UI项目 服务组名称+ReportUI所有的UI项目都放到了SLn中,查看UI命名空间。3.1.4.2 项目关系一个报表应用项目对应一个分析项目、一个UI项目3.1.4.3 文件关系一个报表应用组件对应一个分析模板文件、对应一个UIForm、一个UFModel3.2 选择数据源实体3.2.1 选择实体3.2.2 打开实体选择3.2.3 选择实体属性3.2.4 选择完属性构造项目更新模板3.3 设置报表模板3.3.1 打开模板打
8、开对应分析项目中的模板3.3.2 模板中字段3.3.3 模板参数3.4 发布模板3.4.1 菜单位置菜单:报表/发布/报表模型3.4.2 报表模型发布向导3.4.3 报表模型发布路径3.4.4 新建分类目录创建目录后3.4.5 报表模型容器在左侧空并列点击右键:新建报表容器3.4.6 模型发布发布成功3.4.7 模型元数据管理确认连接报表元数据库看到模板修改DataCommand项目里的DataCommand类文件,定义一个list,循环这个list(修改ProcessData()方法)ListUserSelectFields = this.GetUserSelectFields(); for
9、each (string field in UserSelectFields) Ds.AddSelect(field); 3.5 修改UIForm中报表控件属性3.5.1 打开UIForm3.5.2 修改报表路径修改报表控件使用的模板将路径设置为:发布报表模型时的路径3.5.3 选择报表模板3.6 构造生成代码3.6.1 构造DataCommand生成DataCommand项目、代码,生成策略项目、代码3.6.2 DataCommand构造成功信息3.6.3 构造UI项目3.6.4 UI项目构造成功说明1) 看策略代码结构新的策略基类中添加了3个虚拟方法: a) 处理矩阵时,通过栏目构造交叉单
10、元集合 public virtual IList GetMeasures()b) 钻取/构造钻取到单据的 ThroughToDocParameter 参数 public virtual ThroughToDocParameter GetThroughToDocParameter(ReportDrillthroughArgs args)使用举例:public ThroughToDocParameter GetThroughToDocParameter_Extend(ReportDrillthroughArgs args) ThroughToDocParameter docPar = new Th
11、roughToDocParameter(); /FormID 出货单 /17出货单 /docPar.PartID = 824496cc-bb94-472c-950e-4adfaec2f2c6; NameValueCollection pars = new NameValueCollection(); docPar.PartID = webPartID; /parm.DocID,单据ID pars.Add(ID, args.ParametersDocID); /DocOrg,单据组织ID pars.Add(UFIDA.U9.UI.Commands.CommandArgsConstant.TargetOrgParamFlag, args.ParametersDocOrg); docPar.TargetParms = pars; return docPar; /钻取代码都移到 策略的这个方法中实现,UI中直接调用该方法public virtual void DrillThroughToReport(Case sourceCase, LoadReportTemplateArgs drillArgs)2) 查看UI生成的代码Action 表头处理转取的表单转取的报表3.7 部署部署DataCommand、装配UI的WebPart、菜单执行脚本菜单授权,查看报表
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1