场景描述
如下图所示报表,科目名称栏目里面的数据不是从数据库中拖曳扩展得来的,而是直接在单元格中输入,需要将每个科目的期初余额和期末余额填报入库,数据库中有科目ID、会计科目、期初余额和期末余额几个字段,在填报时,将每一行数据都填入到一张数据表中,本来要想将所有科目都填报入库,则需要添加多个内置SQL,会非常影响填报效率,今天我来告诉大家可以在一个内置SQL中为单个数据表字段绑定多个单元格,即单元格组。
实现思路
在报表填报属性中为某个字段绑定单元格组,如下图,数据表中的会计科目和科目代码字段在一个内置SQL中分别绑定了一个单元格组,那么在执行填报功能的时候,报表开发工具FineReport后台会自动将单元格组根据位置拆分为多条内置SQL。
如上填报属性绑定单元格示例,在执行填报过程的时候,就会拆分为以下4个内置SQL分别执行:
[uuid(),A2,B2]、[uuid(),A3,B3]、[uuid,A4,B4]、[uuid(),A5,B5]
注:拆分内置SQL时是根据位置拆分,并且当单元格和单元格组并存的时候,单元格的值重复根据单元格组内单元格个数进行复制。
和分别定义4个内置sql一致,4个uuid的结果是不一样的,并且其中一个失败,其他两个都会回滚,保持事务的一致性
注:绑定单元格组是先拆分为多个内置sql入库规则,然后再形成SQL语句提交入库,而不是直接形成sql,因为单元格的值可能也是数组。
示例
以描述中的模板样式为例,我们在web端录入几个会计科目的期初余额和期末余额,然后通过单个内置SQL将数据填报入库。
1、 模板样式设计
按照上图所示样式设计报表,期初余额和期末余额控件类型均设置为文本控件。
2、报表填报属性设置
点击模板>报表填报属性,点击添加按钮,添加一个内置SQL,为数据字段绑定单元格组,如下图:
注:单元格组手动编辑的时候,单元格间的分隔符支持英文的逗号、分号和空格。
另:如果单元格组内单元格个数超过5个,将不再显示所有单元格,而是直接显示“已经选择X个单元格”,如下图:
注:绑定多个单元格时,不能使用公式,因为单元格数组是先拆分为多个内置SQL,然后再形成入库sql语句,而公式数组则是直接形成入库sql语句,不会拆分为内置sql。
3、校验
如果列的值设置为单元格组,则需要保证设置的各单元格组个数相等,这样才能够一一匹配起来,不允许如一个列是3个单元格,一个列是4个单元格,在智能添加单元格组对话框时点击确定或者在填报属性界面修改之后点击确定会弹出警告框,如下图:
4、效果查看
点击填报预览,在前面4个科目输入对应的期初余额和期末余额,如下图:
注:由于在设置填报属性的时候,单元格数组只绑定了前面4行的数据,故我们这里只对前面4行操作。
点击提交按钮,将数据入库,点开日志面板,可以看到如下图所示日志信息,从日志中我们可以看出内置sql绑定的单元格数组的确是被拆分为多个内置sql之后,在形成sql语句执行提交操作:
然后再新建通过数据集查看科目余额表数据表中的数据,如下图,可以看到更改的4个科目数据发生了变化:
具体的模板设置可参考:%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Form\TypicalApp\CellsArrayForm.cpt。
相关推荐
将每一行数据都填入到一张数据表中,本来要想将所有科目都填报入库,则需要添加多个内置SQL,会非常影响填报效率,今天我来告诉大家可以在一个内置SQL中为单个数据表字段绑定多个单元格,即单元格组。
例如,如果我们的 Excel 列表中有一个名称为“姓名”的列,那么我们需要在报表设计器中添加一个名称为“姓名”的字段。 Step 3: 添加控件和设置竖向拓展 在报表设计器中,添加控件,并设置竖向拓展。竖向拓展是指...
1104基础报表填报说明1104基础报表填报说明1104基础报表填报说明1104基础报表填报说明1104基础报表填报说明
为A2单元格添加填报属性,使其在编辑结束时触发一个事件,实现对C2单元格的值进行检查和置数。 4. **取值与置数设置** 在A2单元格控件的事件编辑中添加编辑结束事件,具体JS代码如下: ```javascript var ...
亲测好用,挺不错的资源,大家快来下载吧!挺有用的!需要的话可以来下载哦!最新的1104报表填报详细说明,各个指标银监的具体含义,报表类型有G开头的、S开头的
在填报过程中,当用户遇到一个下拉选择项为树形结构的数据时,比如部门组织结构,传统方式会一次性加载所有节点,对于大型企业来说,这可能导致页面响应慢甚至卡顿。而采用懒加载策略,仅在用户展开树节点时才加载...
银监会1104监管统计报表详细 填报说明,包括各字段描述 详细解释。
最新的1104报表填报详细说明,各个指标银监的具体含义,报表类型有G开头的、S开头的
总之,"1104报表填报说明.doc"文档是填报这项重要报表的重要指南,它涵盖了报表结构、会计原则、填报技巧、审核流程等多个方面,对于理解和完成报表工作具有极高的参考价值。通过深入学习这份文档,我们可以更准确、...
尤其是在填报数据量较大的报表时,这样的键盘快捷操作更加显得高效便捷。不过,需要注意的是,不同的Web报表工具可能支持的键盘操作快捷键并不完全相同,使用前应仔细阅读对应工具的使用手册或帮助文档,以便充分...
15. **企业微信集成**:10.0平台支持企业微信多应用集成,可以整合到一个帆软工程中。 16. **登录页设置还原**:在数据决策系统中,可以通过FineDB数据库中的表FINE_CONF_ENTITY进行登录页设置的还原。 17. **设计...
首先,多sheet填报是指在一个报表文件中包含多个工作表(sheet),每个工作表可以有不同的填报属性,用于收集不同类型的数据。这种功能使得用户可以根据业务需求,将不同业务模块的数据分开填报,便于管理和分析。...
《2018年工会决算报表》是工会组织对...通过以上详细解释,我们可以看出《2018年工会决算报表》的填报是一项严谨的工作,涉及到单位的身份识别、财务制度执行、预算管理等多个层面,旨在提供全面、准确的工会财务信息。
例如,在一个典型的电商平台上,每天都会产生成千上万的订单记录,如何从中筛选出符合特定条件的数据(如已付款订单),成为了数据处理中的一个重要环节。 #### 三、解决方案 针对这一需求,我们可以采用两种主要...
对于固定式报表,易客报表在可以为每个单元格定义取数规则的基础上,提供了导航行和导航列功能,可以为每行、每列定义通用规则;对于动态格式报表,易客报表能够让横向动态、纵向动态,并且可以让横向和纵向用动态树...
对于固定式报表,易客报表在可以为每个单元格定义取数规则的基础上,提供了导航行和导航列功能,可以为每行、每列定义通用规则;对于动态格式报表,易客报表能够让横向动态、纵向动态,并且可以让横向和纵向用动态树...
教育事业统计报表填报时应注意的事项.pdf