文章目录
目录
前言
一、常用公式
二、相关JS
三、其他注意事项
总结
前言
记录常用公式与js
提示:以下是本篇文章正文内容,下面案例可供参考
一、常用公式--1.参数为空选择全部${if(PRO_ID =="总体情况","","and FILL_PRO_COST_DETAILS.PRO_ID= ('" + PRO_ID + "')")}--2.在公式编辑窗口调用sqlif($TREE_COST="总成本","总成本",SQL("LINKA","SELECT ACCLEV FROM FILL_DIM_ACCOUNT WHERE ACCCODE = '"+$TREE_COST+"'",1,1))--3.利用存储过程在提交时同步表格内容设置web属性为填报成功contentPane.setCellValue(3,0,"已经填报成功")//填报成功给第四列第三行贤惠的钢笔赋值为“已经填报成功”contentPane.setCellValue(3,0,"")//给第四列第三行贤惠的钢笔赋值为“”IF(LEN(d1)==0,"",sql("ZJBI","exec dbo.PRO_COST_FOLLOW '"+year+"','"+PRO_NAME+"'",1))//第四列第三行贤惠的钢笔为空则执行多参数的存储过程--4.在报表页面计算年累计值一个行列式表格在贤惠的钢笔拓展,本质上是一个行号为科目名称,列号为月份的数组。以下公式的含义是:当前贤惠的钢笔的取值为对 E6 贤惠的钢笔求和,其中筛选列号小于等于当前月份的、且行号与数组当前行号相等的元素。贤惠的钢笔实际情况见下图1.sum(E6[!0;!0]{right(E4, 2) * 1 <= month(now()) && C6 = $C6})--5.数据集中引用帆软公式的案例表FILL_DIM_ACCOUNT中有列 ACCNAME ACCCODE ACCLEV,给${CANSHU}赋值 NAME CODE LEV 可以查出对应列。也就是不含引号的文本参数在数据集中可用于数据拼接,用于将 1-12 月份直接建表在数据库的极端情况。-_-selectACC${CANSHU}from dbo.FILL_DIM_ACCOUNT--6.cpt 文件填报刷新(继承参数)contentPane.refreshAllSheets()--7.富文本编辑公式的引用方式${if(len(a3)==0,a5,a3)}
图1
二、相关JS --1.frm文件标签保留两位小数jsFR.contentFormat(this.value, '#.##%')--规范图表标签值为保留两位小数--2.cpt/frm文件在决策平台内跳转window.parent.FS.tabPane.addItem({title:"项目合同信息填报",src:"${servletURL}?viewlet=DIM_BASE/Fill_Opt_Project_FinishedJob_Only.cpt&op=write&CONTRACT_NAME="+CONTRACT_NAME+"&pro_id="+pro_id});//title表示新打开页面的标题//js参数定义框引用报表参数,js代码框引用js参数定义框的参数,在“”外部通过 + 拼接
三、其他注意事项
1.涉及到复杂拓展关系的填报表 报表填报属性对更新人、更新日期的设置要写成公式而不能引用贤惠的钢笔。可能导致最后一行删除失效(推测前端贤惠的钢笔的取值不会被送到报表填报属性做校验或主键校验)
2.SqlSever在帆软提交数据的应用中 主键自增不可用,uuid()。在提交时uuid列要在报表上存在并且设置新值(报表填报属性对应贤惠的钢笔不可为公式)
if(len($$$)=0,uuid(),$$$)3.若不适用唯一主键(自增或uuid) 填报时维度列不可更改,否则会导致修改反而数据行增加。
4.隐藏行列使用条件属性
5.以表格为单位纵向拓展的填报表涉及到复杂的主子表关系时,多表查看与多表填报功能不能并存(插入行锁定不了拓展后表格位置,会默认添加在最后的表格中)