K/3 Cloud BOS技术开发培训 -- 套打设计和报表开发

Slides:



Advertisements
Similar presentations
网络应用程序设计 2014 JavaBean. JavaBean 及其属性 JavaBean 就是一种 Java 的组件技术 JavaBean 是 Java 类 JavaBean 通过约定的方法名实现属性功能 简单属性 void setXxx(Type value) Type getXxx() boolean.
Advertisements

2017/3/6 V1 实习指导管理系统.
Excel VBA视频教程 课程介绍-什么是VBA
UI(用户界面)集训班 Illustrator 高级班.
第13章多项目设计与开发.
课程中心 课程中心培训方案 上海泰泽信息技术有限公司
图表的创建.
第14章 c++中的代码重用.
K/3 Cloud云之家集成 K/3 Cloud 基础系统部.
K/3 Cloud 技术开发培训 ----BOS 业务插件开发
第八章 菜单设计 §8.1 Visual FoxPro 系统菜单 §8.2 为自己的程序添加菜单 §8.3 创建快捷菜单.
K/3 Cloud轻应用介绍——掌上报销 K/3 Cloud产品线.
K/3 Cloud V6.1_产品培训 —BOS套打设计平台
SQL Injection.
走进编程 程序的顺序结构(二).
辅导课程六.
第11章:一些著名开源软件介绍 第12章:服务安装和配置 本章教学目标: 了解当前一些应用最广泛的开源软件项目 搭建一个网站服务器
第五讲 四则运算计算器(一) 精品教程《C#程序设计与应用(第2版)清华大学出版社 谭恒松 主编
第十章 IDL访问数据库 10.1 数据库与数据库访问 1、数据库 数据库中数据的组织由低到高分为四级:字段、记录、表、数据库四种。
K/3 Cloud 技术开发培训 ----BOS 单据转换插件开发
2019/1/12 GDP设计协同 超级管理员操作手册 GDP项目组.
K/3 Cloud V6.0_产品培训 —BOS集成开发平台
数据挖掘工具性能比较.
Simple , Powerful and fee
Windows 7 的系统设置.
VSS使用简介 王树升
UI 软件 设计 移动UI设计(三).
K/3 Cloud V6.1产品培训 -- 实施平台 K/3 Cloud 产品部
产品防伪防窜管理系统 运营中心操作指引 信息管理部.
程序设计工具实习 Software Program Tool
K/3 Cloud V6.0产品培训 -- 系统工具 K/3 Cloud 产品部
K/3 Cloud BOS客户化开发规范.
第五讲 酒店客房管理系统(一) 教育部“十二五”职业教育国家规划教材
劉崇汎 崑山科技大學 電腦與通訊系 DLL的建立與引用 劉崇汎 崑山科技大學 電腦與通訊系
C++语言程序设计 C++语言程序设计 第七章 类与对象 第十一组 C++语言程序设计.
简单介绍 用C++实现简单的模板数据结构 ArrayList(数组, 类似std::vector)
K/3 Cloud V5.0产品培训 -- 门户管理 K/3 Cloud 产品部
$9 泛型基础.
K/3 Cloud V6.1产品培训 ---集成平台 K/3 Cloud产品部.
K/3 Cloud V6.0产品培训 ---集成平台 K/3 Cloud产品部.
K/3 Cloud V5.0_产品培训 —BOS套打设计平台
标准配色方案 背景 文本和线条 阴影 强调色 主色一 主色二 主色三 主色四 推荐应用顺序. 标准配色方案 背景 文本和线条 阴影 强调色 主色一 主色二 主色三 主色四 推荐应用顺序.
VisComposer 2019/4/17.
POWERPOINT模板 适用于秋天果实及相关类别演示 注:文本框可根据需求改变颜色、移动位置;文字可编辑.
提供机构:XXXXXXXXX 机构级别:X级X等(无级别可不填写)
商业分析平台-语义元数据 用友集团技术中心 边传猛 2013年 11月 06日.
VB与Access数据库的连接.
实验七 安全FTP服务器实验 2019/4/28.
Web安全基础教程
ES 索引入门
第4章 Excel电子表格制作软件 4.4 函数(一).
iSIGHT 基本培训 使用 Excel的栅栏问题
本节内容 文件系统 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
Chapter 18 使用GRASP的对象设计示例.
K/3 Cloud V6.1产品培训 -- 门户管理 K/3 Cloud 产品部
多层循环 Private Sub Command1_Click() Dim i As Integer, j As Integer
POWERPOINT模板 适用于美容养生及相关类别演示 注:文本框可根据需求改变颜色、移动位置;文字可编辑.
Visual Basic程序设计 第13章 访问数据库
鄭士康 國立台灣大學 電機工程學系/電信工程研究所/ 資訊網路與多媒體研究所
VRP教程 2011.
Delphi 7.0开发示例.
Python 环境搭建 基于Anaconda和VSCode.
第六章 Excel的应用 五、EXCEL的数据库功能 1、Excel的数据库及其结构 2、Excel下的数据排序 (1)Excel的字段名行
C++语言程序设计 C++语言程序设计 第九章 类的特殊成员 第十一组 C++语言程序设计.
VB与Access数据库的连接.
WEB程序设计技术 数据库操作.
使用ADO访问数据库 李宝智 BonizLee 课程 10564A
创建、启动和关闭Activity 本讲大纲: 1、创建Activity 2、配置Activity 3、启动和关闭Activity
使用Fragment 本讲大纲: 1、创建Fragment 2、在Activity中添加Fragment
第六讲 酒店客房管理系统(二) 教育部“十二五”职业教育国家规划教材
Presentation transcript:

K/3 Cloud BOS技术开发培训 -- 套打设计和报表开发 注:云图标可根据标题长度适度调整移动,以标题右上角,与标题上、右均等距离7个像素为标准。

课程说明: 课程简介: 本课程介绍K/3 Cloud BOS 平台的套打设计器环境(NotePrint IDE)、套打模板设计与应用、报表设计与开发,以功能讲解辅之案例演练帮助学员快速掌握K/3 Cloud BOS平台的核心功能。 本课程偏重实践,少理论;适合开发者学习 讲师:

目录 NotePrint IDE(套打设计器平台) 报表设计与开发 套打是什么 认识NotePrint IDE 如何开始 如何应用 概述 新建套打模板 设计套打模板 属性设置 如何应用 报表设计与开发 概述 报表界面设计 报表过滤界面设计 报表数据源开发 自定义直接SQL报表

套打是什么 功能说明 客户价值 简单地说,就是在印刷好的表格中打印内容; 在印刷好的发票上打印发票金额等内容; 在印刷好的记账凭证中打印凭证借贷方金额等内容;

认识 NotePrint IDE 菜单栏 工具栏 工具箱 项目栏 设计区 属性栏 输出栏 任务栏 主要功能 客户价值 可视化、技术无 关的套打设计平 台; 菜单栏 工具栏 工具箱 项目栏 设计区 打印模板自行设计; 灵活应用、易学易 用;且所见即所得; 属性栏 输出栏 任务栏

认识 NotePrint IDE – 菜单 功能说明 客户价值 提供设计器的各种操作菜单 丰富的菜单功能,方便的进行设计

认识 NotePrint IDE – 项目管理器 功能说明 客户价值 1)项目:列出当前子系统的套打模板 2)导航树:列出当前套打上所有元素 3)数据源:列出当前业务对象所有数据字段信息 分类列出模板、元素集合、数据源集合,方便操作

认识 NotePrint IDE – 工具箱 功能说明 客户价值 列出业务对象设计时需要使用到的4种控件元素 简单、抽象、使用方便

认识 NotePrint IDE – 设计区 功能说明 客户价值 图形化的设计区域 所见即所得

如何开始 – 新建套打模板 功能说明 客户价值 首先登陆套打IDE,工具栏新建,选择需要设计套打的单据或基础资料 通过新建复制等方式设计用户自己的套打,所见即所得,支撑平滑升级

从工具箱拖入控件,从数据源窗口拖入字段数据源至控件 如何开始 – 设计模板 从工具箱拖入控件,从数据源窗口拖入字段数据源至控件 功能说明 拖拉控件 设置属性 绑定数据源 客户价值 方便快捷的设计套打模板 登陆套打设计器,点击【新建】按钮,打开新建向导; 添加工具箱文本、数据表格、布局表格等控件至套打设计界面,将数据源栏字段拖放至控件内,实现控件与数据源关联;

如何开始 – 元素属性设置 功能说明 客户价值 拖拉控件 设置属性 绑定数据源 方便快捷的设计套打模板 登陆套打设计器,点击【新建】按钮,打开新建向导; 添加工具箱文本、数据表格、布局表格等控件至套打设计界面,将数据源栏字段拖放至控件内,实现控件与数据源关联;

如何应用 – 套打设置 功能说明 客户价值 配置单据默认套打模 板; 单据类型中配置套打 模板; 通过BOS IDE单据属性为单据配置默认套打模板 功能说明 单据类型维护界面,支持为单据类型选择套打模板 单据界面支持配置单据套打模板 配置单据默认套打模 板; 单据类型中配置套打 模板; 客户价值 方便快捷的为单据配置套打模板; 设计时配置:设计时通过业务对象的【默认套打模板】属性,配置 该业务对象的默认套打模板; 运行时配置:运行时通过单据类型中的【默认套打模板】属性,配 置该单据类型的默认套打模板; 运行时通过单据界面:工具栏【套打设置】按钮,选择单据的套打模板进行打印; 单据类型:单据针对不同业务应用的分类。例如采购订单可分为:标准采购订单、标准委外订单、资产采购订单、直运采购订单等;

如何应用– 套打使用 功能说明 客户价值 运行时单据界面、单据列表界面,对单据进行套打打印; 点击工具栏打印按钮,进行单据套打打印 单据列表界面工具栏,支持单据批量套打打印 运行时单据界面、单据列表界面,对单据进行套打打印; 客户价值 通过单据工具栏打印操作,进行单据套打; 套打设计、套打配置完成之后,运行时单据界面、单据列表界面,选择工具栏打印操作,对单据进行套打打印;

小结 套打设计器IDE介绍 新建套打模板 设计套打模板 配置和应用套打

目录 NotePrint IDE(套打设计器平台) 报表设计与开发 套打是什么 认识NotePrint IDE 如何开始 如何应用 概述 新建套打模板 设计套打模板 属性设置 如何应用 报表设计与开发 概述 报表界面设计 报表过滤界面设计 报表数据源开发 自定义直接SQL报表

概述 功能说明 客户价值 账表分类:简单账表、分页账表、树形账表、直接SQL账表 快速定制个性化的业务报表 简单账表 树形账表 分页账表

如何开始 – 设计过程 了解需求 设计准备 界面设计 数据源插件开发 过滤设计 过滤插件开发

如何开始 – 新增报表对象 功能说明 客户价值 通过向导新增 新增模式: 新增 复制 多种新增模式 继承差量化存储,隔离基类模板与派生报表,支撑平滑升级

如何开始 – 新增报表对象 功能说明 客户价值 通过向导新增 新增模式: 新增 复制 多种新增模式 继承差量化存储,隔离基类模板与派生报表,支撑平滑升级

报表界面设计 – 表单属性 功能说明 客户价值 报表的整体属性, 配置方法 业务对象的个性通过属性配置实现

报表界面设计 – 参数介绍 功能说明 客户价值 报表的整体属性, 配置方法 业务对象的个性通过属性配置实现 参数为什么不放在过滤界面?

报表界面设计 – 菜单 功能说明 客户价值 报表的整体属性, 配置方法 业务对象的个性通过属性配置实现

过滤界面设计 功能说明 客户价值 过滤表单最重要的属性是设置控件的字段集合以及添加快捷过滤字段 按需过滤设计

过滤界面设计 功能说明 客户价值 过滤表单最重要的属性是设置控件的字段集合以及添加快捷过滤字段 按需过滤设计

过滤界面设计 功能说明 客户价值 过滤表单最重要的属性是设置控件的字段集合以及添加快捷过滤字段 按需过滤设计

报表数据源开发-接口关系图 功能说明 客户价值 数据源插件接口类图 根据接口关系图按需实现接口

报表数据源开发-报表属性 ReportProperty属性 IdentityFieldName 分页顺序字段名,实模式取数必须设置,插件可以修改 GroupSummaryInfoData 分组信息数据(包含默认分组字段、分组级次字段等信息) IsDefaultOnlyDspSumAndDetailData 默认只显示合计和明细数据,不显示小计数据 IsGroupSummary 标识报表是否支持分组汇总 IsUIDesignerColumns 标识报表的列必须通过UI设计,不考虑动态列 SimpleAllCols 是否锁定表格列 VirtualMode 是否虚模式取数 ReportName 报表名称

报表数据源开发-报表属性 ReportProperty属性 DetailReportId 明细报表的FormId(报表表单标识),用于单明细报表 DetailReportFormIdFieldName 明细报表的FormId存储字段名,用于多明细报表 DetailReportType 明细报表类型 BillKeyFieldName 联联单据主键字段名 BillTypeFieldName 联查单据对应的单据类型名称 FormIdFieldName 联联单据FormId字段名 DecimalControlFieldList 精度控制字段集合

报表数据源开发- 报表查询参数 IRptParams参数的属性和方法 CurrentPosition 报表当前位置,除分页报表外,该值始终是0 StartRow 报表取数开始行号 EndRow 报表取数结束行号 IsRefresh 报表是否重新刷新取数 IsOnlyQuerySumData 只查询汇总数据 FilterParameter 过滤条件 ParameterData 用户参数

报表数据源开发- 报表查询参数 IRptParams参数的属性和方法 CustomParams 报表其他参数,可以任意添加(如发布报表定义的参数) FilterFieldInfo 过滤字段元数据信息 GetParentReportFilter() 获得父报表过滤条件 GetParentReportCurrentRow() 获得父报表当前行数据 GetFirstParentReportFilter() 报表穿透,获得第一个报表的过滤条件 GetParentReportCurrentConditionData() 获得父报表是分页报表的当前分页条件

报表数据源开发-组件引用 功能说明 客户价值 插件开发示例 报表数据源插件简单示例参考

报表数据源开发-代码示例(简单报表) 功能说明 客户价值 插件开发示例 报表数据源插件简单示例参考 using System; using System.Text; using System.Linq; using System.Collections.Generic; using System.Data; using Kingdee.BOS.Core.Report; using Kingdee.BOS.Core.Report.PlugIn; using Kingdee.BOS.Core.CommonFilter; using Kingdee.BOS.App.Data; using Kingdee.BOS.Contracts.Report; using Kingdee.BOS.Util; using Kingdee.BOS.Core.List; using Kingdee.BOS; /// <summary> { namespace Kingdee.BOS.Demo.Report /// 报表演示示例 public class DemoSysReport : SysReportBaseService /// </summary> /// 报表初始化 public override void Initialize() this.ReportProperty.BillKeyFieldName = "FID"; this.ReportProperty.IsGroupSummary = true; } /// 创建临时表 public override void BuilderReportSqlAndTempTable(IRptParams filter, string tableName) /// <param name="tableName"></param> /// <param name="filter"></param> LEFT JOIN T_BD_MATERIAL_L B ON A.FMATERIALID=B.FMATERIALID AND B.FLOCALEID=2052 {0} INTO {1} FROM T_SAL_ORDERENTRY A string sSQL = @"SELECT B.FNAME AS FWNAME,C.FCUSTID,D.FNAME AS FCNAME,A.* ,F.FAMOUNT,3 AS FAMOUNT_DECIMAL,F.FPRICE, LEFT JOIN T_SAL_ORDER C ON A.FID=C.FID KSQL_SEQ = string.Format(KSQL_SEQ, "a.FID asc"); LEFT JOIN T_SAL_ORDERENTRY_F F ON A.FENTRYID=F.FENTRYID"; LEFT JOIN T_BD_CUSTOMER_L D ON C.FCUSTID=D.FCUSTID AND D.FLOCALEID=2052 sSQL = string.Format(sSQL, this.KSQL_SEQ, tableName); DBUtils.Execute(this.Context, sSQL); /// 设置汇总列信息 /// <returns></returns> public override List<Core.Report.SummaryField> GetSummaryColumnInfo(IRptParams filter) summarys.Add(new Core.Report.SummaryField("FQty", Core.Enums.BOSEnums.Enu_SummaryType.SUM)); List<Core.Report.SummaryField> summarys = new List<Core.Report.SummaryField>(); summarys.Add(new Core.Report.SummaryField("FPrice", Core.Enums.BOSEnums.Enu_SummaryType.SUM)); return summarys; summarys.Add(new Core.Report.SummaryField("FAmount", Core.Enums.BOSEnums.Enu_SummaryType.SUM)); /// 构建动态列 public override ReportHeader GetReportHeaders(IRptParams filter) header.AddChild("FWName", new LocaleValue("物料", this.Context.UserLocale.LCID)); ReportHeader header = new ReportHeader(); header.AddChild("FCustId", new LocaleValue("客户", this.Context.UserLocale.LCID)); header.AddChild("FAmount", new LocaleValue("金额", this.Context.UserLocale.LCID), SqlStorageType.SqlDecimal); header.AddChild("FPrice", new LocaleValue("单价", this.Context.UserLocale.LCID), SqlStorageType.SqlDecimal); header.AddChild("FQty", new LocaleValue("数量", this.Context.UserLocale.LCID),SqlStorageType.SqlDecimal); return header;

自定义直接SQL报表 功能说明 客户价值 自定义SQL 自定义查询条件 用户通过自定义SQL,快速开发符合需求的简单报表 using System; using System.Text; using System.Linq; using System.Collections.Generic; using System.Data; using Kingdee.BOS.Core.Report; using Kingdee.BOS.Core.Report.PlugIn; using Kingdee.BOS.Core.CommonFilter; using Kingdee.BOS.App.Data; using Kingdee.BOS.Contracts.Report; using Kingdee.BOS.Util; using Kingdee.BOS.Core.List; using Kingdee.BOS; /// <summary> { namespace Kingdee.BOS.Demo.Report /// 报表演示示例 public class DemoSysReport : SysReportBaseService /// </summary> /// 报表初始化 public override void Initialize() this.ReportProperty.BillKeyFieldName = "FID"; this.ReportProperty.IsGroupSummary = true; } /// 创建临时表 public override void BuilderReportSqlAndTempTable(IRptParams filter, string tableName) /// <param name="tableName"></param> /// <param name="filter"></param> LEFT JOIN T_BD_MATERIAL_L B ON A.FMATERIALID=B.FMATERIALID AND B.FLOCALEID=2052 {0} INTO {1} FROM T_SAL_ORDERENTRY A string sSQL = @"SELECT B.FNAME AS FWNAME,C.FCUSTID,D.FNAME AS FCNAME,A.* ,F.FAMOUNT,3 AS FAMOUNT_DECIMAL,F.FPRICE, LEFT JOIN T_SAL_ORDER C ON A.FID=C.FID KSQL_SEQ = string.Format(KSQL_SEQ, "a.FID asc"); LEFT JOIN T_SAL_ORDERENTRY_F F ON A.FENTRYID=F.FENTRYID"; LEFT JOIN T_BD_CUSTOMER_L D ON C.FCUSTID=D.FCUSTID AND D.FLOCALEID=2052 sSQL = string.Format(sSQL, this.KSQL_SEQ, tableName); DBUtils.Execute(this.Context, sSQL); /// 设置汇总列信息 /// <returns></returns> public override List<Core.Report.SummaryField> GetSummaryColumnInfo(IRptParams filter) summarys.Add(new Core.Report.SummaryField("FQty", Core.Enums.BOSEnums.Enu_SummaryType.SUM)); List<Core.Report.SummaryField> summarys = new List<Core.Report.SummaryField>(); summarys.Add(new Core.Report.SummaryField("FPrice", Core.Enums.BOSEnums.Enu_SummaryType.SUM)); return summarys; summarys.Add(new Core.Report.SummaryField("FAmount", Core.Enums.BOSEnums.Enu_SummaryType.SUM)); /// 构建动态列 public override ReportHeader GetReportHeaders(IRptParams filter) header.AddChild("FWName", new LocaleValue("物料", this.Context.UserLocale.LCID)); ReportHeader header = new ReportHeader(); header.AddChild("FCustId", new LocaleValue("客户", this.Context.UserLocale.LCID)); header.AddChild("FAmount", new LocaleValue("金额", this.Context.UserLocale.LCID), SqlStorageType.SqlDecimal); header.AddChild("FPrice", new LocaleValue("单价", this.Context.UserLocale.LCID), SqlStorageType.SqlDecimal); header.AddChild("FQty", new LocaleValue("数量", this.Context.UserLocale.LCID),SqlStorageType.SqlDecimal); return header;

小结 报表分类 报表的设计过程 报表界面设计及属性 报表过滤界面设计及属性 报表数据源插件接口 报表数据源属性 报表查询参数说明 自定义直接SQL报表