自由报表轻量化操作手册作者:颜思洁用友网络科技股份有限公司北京分公司-战略客户实施中心案例背景:目前NCC1909自由报表的语义模型及报表表样只能在重量端制作,如需轻量化需要在重量端发布后至轻量端使用;以下案例是以纯sql脚本新建的语义模型为例:1.新建语义模型NCC1909重量端做语义模型与NC65一致,延用NC65制作经验即可需注意:如果需要给该自由报表增加查询条件,不要在SQL语句中增加查询参数,脚本就维持在select的查询结果集即可。2.新建自由报表表样NCC1909重量端做自由报表表样与NC65一致,延用NC65制作经验即可。该报表如需轻量化,则需要发布为“web应用”发布操作和NC65发布到节点的操作一样。3.应用注册(一)在ncc轻量端找发布的自由报表小应用在【页面模板注册】中增行,新建自由报表所需的查询页面模板,进行查询模板配置填写模板编码及名称(自定义编写),从配置模板区域中拖拽一个“查询区”到中间的配置区域中,填写区域编码及区域名称。注意:区域编码必须为light_report,区域名称自定义命名,关联元数据为空即可假设需要添加的查询条件为客户编码,在配置模板区域中拖拽“参照”插件放置于查询区域中,维护该参照插件的元数据属性,编码,参照名称的属性设置,并且需勾选查询条件注意:由于目前引用“参照”插件,属性配置中具体参照的档案不能直接选择参照档案,所以目前元数据属性及参照名称需要在数据库查询到相关数据后,手工自行维护。(1)如何查询所参照档案的元数据属性?--查询档案参照和元数据属性的方法如下:如下是查找客户档案为例selecta.refmodelname参照名称,b.ownmodule||'.'||b.name||'.name'元数据属性frommd_classaleftjoinmd_componentbona.componentid=b.idwherea.refmodelnameisnotnullanda.refmodelnamelike'%客户%'下面以客户档案作为查询条件为例:上面方法查询元数据属性和参照名称即可,下面黄色部分可以省略不看需要获取该参照实体的(参照名称)refmodelname和(组件ID)componentidselect*frommd_classwheredisplaynamelike'%客户%'refmodelname----客户基本信息componentid----b04ad6b7-9452-4d6f-b8e8-55e4790ca348需要获取该参照实体的namespace和nameselect*frommd_componentwhereid='b04ad6b7-9452-4d6f-b8e8-55e4790ca348'“b04ad6b7-9452-4d6f-b8e8-55e4790ca348”是上条脚本获取到的componentid利用2中获取到的namespace和name,拼接为元数据属性,构成规则是namespeace.name.所需字段编码所以查询条件“客户”的元数据属性为:uap.customer.code(2)编码如何填写?查询条件的编码与语义模型中对应的字段编码保持一致即可,如下所示:注意:此处的语义模型中对应的字段编码,可以在语义模型选择字段,字段编码处查看。需要注意:添加的查询条件是返回类型是编码还是名称,一定要区分开,不然查询不出数据(3)参照名称如何填写?填写(1)中所查询到的参照名称即可配置完成后保存,设置为默认模板即可4.应用注册(二)如果需求是将系统原有的档案加工为报表轻量化使用,那么查询区域可直接关联元数据,增加查询条件时直接选择对应元数据即可5.实现效果6.打印模板1)新增打印数据源,配置打印设置,发布至WEB,进行小计合计设置;2)生成打印模板,点“生成web打印模板”,并配置打印模板,设置模板名称及编码并保存。注意:模板编码一定要保存好,后续打印模板分配及配置应用注册中的打印参数还需要此编码,如案例:ceshi01_dy3)配置完成后,分配打印模板。操作路径:动态建模平台-开发配置-轻量端应用默认输出模板设置4)应用注册,新增打印参数,参数名称:printmenu_n(如:printmenu_1,printmenu_2等),参数值:{"name":"测试01_打印模板","resid":"000001","nodekey":"ceshi01_dy","menucode":"18860601"}注意:name是打印模板名称,resid是单据打印界面名称,nodekey是打印模板编码,menucode是该应用菜单注册对应编码实现效果:-end-