风雨十年,感恩同行
查看: 3680|回复: 3

帆软finereport.10.0全功能无限制破解版应用中报表填报属性的处理方法

[复制链接]

该用户从未签到

发表于 2019-2-14 11:41:48 | 显示全部楼层 |阅读模式
1. 描述
1 h. [8 k/ h8 q

% o) O1 Z+ V) R6 }在制作填报表时,最重要的步骤就是给数据库表中的字段绑定保存的值,通过设置模板>报表填报属性来控制。
: C5 O8 p" f4 y! @  A
在给字段绑定值时最常见的就是通过内置SQL绑定单元格,此时类似EXCEL中,可以智能添加单元格;除绑定单元格外,数据列的值还可以是常量、公式、参数等等。
4 W: p% b9 I" X还有一种方法是通过自定义事件来实现自定义提交,下面分别介绍。

/ \, t& K; _  |& i- U3 h0 E1 f  s2. 内置SQL9 Q( {' ^+ R. T! _9 X

" E  X$ M9 V5 l1 P: P; m点击菜单模板>报表填报属性,打开报表填报属性设置界面,增加内置SQL(一个内置SQL对应一张数据库表的操作),如下图:
6 O8 }' u8 c" N2 }8 P- y" p# d2 T3 p
1.png ; v+ v+ K4 r4 e
6 M  A5 H# d1 J9 c* ]
- w' E. ]' a- K( T2 o! S
内置SQL面板的设置步骤如下图:
0 I3 P) |6 k5 w
3 G- f8 C" S; D" s0 s 2.png
3 T; |8 n/ t) F% y8 d3 \  M8 m8 s' ]
2.1 选择提交类型& G8 }) \* ]" l9 X+ c4 Q0 a
" P5 Z' d6 s: C
FineReport对于填报数据的提交类型提供了四种方式:智能提交、插入提交、删除提交和更新提交,如下图:

% o( j! z$ I0 f4 h1 J8 r' W% z* F) H2 E2 n, d/ C1 n
3.png
. q3 {- K1 {0 @! n6 c  d% \
3 J) T" @+ j$ {6 M
# T9 {: d. c$ R, x# b
提交类型的详细介绍请查看提交类型
. N- T. V4 V7 J- g: `6 I5 T( r6 L注:默认的提交类型为智能提交,一般性使用的最多的也是智能提交。) |$ f+ f4 B1 Y7 `
2.2 选择数据库表/ @# V& @' t5 y8 e% I8 u0 l
' c; f/ ^+ \! k
报表填报是指将数据填报至数据库中,那么填报到哪个数据库,哪个数据表中该怎么判断呢,因此需要在填报属性中选择填报入库的数据库表,如下图:

7 k+ M: A7 w$ d' t3 a2 x* H
* ]3 _1 F! J: ~  ^) V8 \ 4.png
0 w+ a+ d6 f7 K& H
; g8 T/ U: Q8 R7 i
对于Oracle数据库来说,需要选择模式(oracle中的用户名),在选择表时可以通过首字母快速定位。
% w. L, W$ h+ v; N5 s+ p" G1 y注:数据库名称和表名称,可下拉框选择,可手动输入名称,也可以输入参数名称实现动态填报,即动态修改填报的数据库或者是数据表,详细示例请查看动态改变填报数据库表(日报表、月报表填报)
, v( d4 W0 M+ k" x  f2.3 添加字段8 y7 r; ^, N/ {2 b+ z5 ]" h5 D0 S; Z
4 b3 p( ~! }0 u# i# F5 j
选择表后,点击智能添加字段按钮,会自动读取数据库中表中的所有字段,若不想添加全部,可以去掉字段前面的勾选,如下图:

7 x1 v; l6 }/ L; I
( z& ~& c% g# a' ]4 @0 s" T 5.png

, ?7 h; x3 F0 a+ e: S+ ]/ a+ ~+ Q; [$ n/ g4 @9 g7 _
除了使用智能添加字段来一次性添加多个字段之外,还可以直接点击添加字段按钮来添加单个字段,如下图:
; F. U0 r/ z% t' Y! R. T

& `# z2 G" T! K* ? 6.png

+ d* m0 n/ a/ l6 t. w) l
2 p% ~4 Y$ s4 d6 \选中某个字段,点击移除字段即可将其从列表中删除。
& X$ d. n" m5 Z! ^$ y* j% c6 z2.4 添加单元格
0 {% j/ O# E* r/ l

1 D) C  s' ~9 f: e- |字段添加完成之后,点击智能添加单元格或者智能添加单元格组,就可以给数据列绑定单元格,如下图,点击智能添加单元格,在弹出的对话框中选择报表主体中的单元格,为数据列绑定单元格:
# w+ N) `. Z7 w! z8 s
, S; d; C: J! \0 s, n
7.png
, u7 L) l+ ~3 p2 r( \* I
$ o- z) I; \: j  e
注:智能添加单元格组是指为一个数据列绑定多个单元格,将多个单元格中的数据全部填报至该字段中,详细设置使用过程请查看多个单元格绑定一个字段
5 c$ L! e! N$ }8 Y我们不仅可以给数据列绑定单元格,还可以使用字符串、公式、参数等等不同类型的数据,双击报表填报属性对话框中值所在的单元格,会弹出值编辑器,如下图:
* x0 f( P- s4 t6 \
7 h) Y; e* U/ W% D% E
8.png

! w; u: o+ M" V$ {" Y
& u* d) k1 o  U/ Q( m若用户在模板中插入了一行或一列,导致填报单元格整体偏移了一格,此时可以使用批量修改单元格,整体批量修改,如下图:

2 b" a6 T! x' l7 R7 ~1 X' U/ c/ b4 H7 ~, B( n' ^
9.png

0 z6 f4 Z3 C5 N4 W; i6 ?0 p- r% H& a* O) |8 u
至此,填报属性的必要步骤设置完成。
( [2 `! n, ^) A( s4 R: X/ m2.5 设置提交条件! J3 ~& V0 ]' x9 W
/ o4 j/ U* x4 Q3 s" p( w! _/ O
使用内置SQL填报数据,可以对填报数据进行过滤,如果web端提交的数据满足条件,则可以入库,不满足,则不入库,点击设置提交条件即可添加过滤条件,如下图:

" a& u0 r0 N! e) J6 o3 T) x7 O9 r4 l; T% ~+ a+ A  \
10.png

# l5 X* d; l' x0 Q% l0 n
7 g: {$ u! t4 \0 y5 F* W2 s8 q提交条件是指填报数据执行sql语句的时候,如果当前执行的sql语句中的关于提交条件中的字段符合提交条件则正常执行,如果不符合条件则跳过不执行,即不入库,继续执行下一条sql语句,比如说设置提交条件为:成本价不为空,如果在填报的时候,某条记录的成本价为空,则该条记录不入库。
5 m  j3 N' u, k# T% o其应用示例请查看空白数据不入库(填报过滤)
# v4 T# \8 L$ A+ l, D& O6 |3. 自定义事件1 X3 s  u8 x9 c( \4 P& `
如下图,在报表填报属性页面,可增加自定义事件,自定义事件可通过FR提供的API接口来实现不同的类,接着将该类导入到设计器中,即可实现自定义事件,详细请参照填报自定义提交

& {2 p4 {8 D! A6 [6 n5 a
' b8 l" u4 D6 O: {6 {# L 11.png

) \7 t9 q. S+ P% y
) W6 t% a' r% {$ n! h7 A# N

9 T/ q  H& p$ Q) f注:添加了多个内置SQL后(不论几个sheet里面的内置SQL),提交时有一个执行不通过的话,后面的内置SQL就不会执行,前面的执行过的也会无效(FR填报支持事务回滚机制)。( v1 s0 y( B: R2 M( V0 e6 U
另:在数据commit时出现异常,或者回滚时出现异常时, 如果最终是失败的,后台额外报错提示:前者是 “数据提交出错,无法回滚”,后者是 “数据回滚失败”。 前端都提示”失败”。
' {. i. M  T, s& Z) W9 X. {- k* P% Y* C$ _+ t

9 n0 B% V4 [6 [; L. J0 C+ P 帆软finereport.10.0全功能无限制破解文件.rar (37.97 KB, 下载次数: 51)

相关技术服务需求,请联系管理员和客服QQ:2753533861或QQ:619920289
  • TA的每日心情

    2019-8-29 22:37
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    发表于 2019-8-29 22:36:00 | 显示全部楼层
    感谢楼主分享!
    相关技术服务需求,请联系管理员和客服QQ:2753533861或QQ:619920289
    您需要登录后才可以回帖 登录 | 用户注册

    本版积分规则

    帖子推荐:
    客服咨询

    QQ:2753533861

    服务时间 9:00-22:00

    金蝶用友易助管家婆深度服务
    快速回复 返回顶部 返回列表