首先,了解基本情況及要求:
展現效果:
要求:報表資料**於資料庫,其中 a 列指標名稱是從資料庫擴充套件取出的,要求各項計算結果滿足分組內各值相加等於分組小計(比如:要求本年本月累計項中,指標** 2 = 指標** 3 + 指標** 4),如果不滿足則給出提示資訊,要求進行修改,滿足則可以正常提交。
報表設計介面如下:
其中
資料去向:
資料處理部分直接通過嚮導生成,這裡不多做說明了。
分析難點:
由於分組小計(指標** 2) 和 分組各項(指標** 3+ 指標** 4)都是從同乙個字段「指標名稱」擴充套件而來,報表不能準確定位取到參與計算單元格的位置並進行計算,故報表層面很難實現這種小計校驗。
那麼,就沒辦法實現了嗎?(壞笑)對於潤幹報表來說,顯然那是不可能的。下面重點介紹這個神技能 :指令碼校驗
什麼?指令碼校驗沒聽過?沒關係,往下看…
操作:從回填指令碼中取出需要計算值;
按照要求結合集算器的 if 函式進行校驗(提交時觸發)。
資料去向指令碼修改如下
其中第 3-5 行,利用 a.select() 函式分別定位找出了需要參與校驗的值;
第 6 行,按照原始需求利用 if 函式,進行資料校驗,如果判斷條件 a3!=a4+a5 成立,則在提交時通過 return 返回錯誤提示資訊。
效果:
到這裡,我們可以看出來,在報表層不好處理的小計校驗,在指令碼中很輕鬆就可以搞定了,是不是對指令碼有那麼一丟丟喜愛了,那就持續關注吧,畢竟人家是潛力股。
最最後,技術要點分享
1. 巧用嚮導生成填報指令碼
資料處理,右側 【使用嚮導生成指令碼】可以零**完成普通填報表的資料處理
2. 熟知集算器常用函式
a.select() 選出序列中符合條件的成員。
r.field(f) 取得記錄中某個欄位的字段值。
指令碼中如何做填報資料校驗
首先,了解基本情況及要求 展現效果 要求 報表資料 於資料庫,其中 a 列指標名稱是從資料庫擴充套件取出的,要求各項計算結果滿足分組內各值相加等於分組小計 比如 要求本年本月累計項中,指標 2 指標 3 指標 4 如果不滿足則給出提示資訊,要求進行修改,滿足則可以正常提交。報表設計介面如下 其中 資...
指令碼中如何做填報資料校驗
首先,了解基本情況及要求 展現效果 要求 報表資料 於資料庫,其中 a 列指標名稱是從資料庫擴充套件取出的,要求各項計算結果滿足分組內各值相加等於分組小計 比如 要求本年本月累計項中,指標 2 指標 3 指標 4 如果不滿足則給出提示資訊,要求進行修改,滿足則可以正常提交。報表設計介面如下 其中 資...
指令碼中如何做填報資料校驗
首先,了解基本情況及要求 展現效果 要求 報表資料 於資料庫,其中 a 列指標名稱是從資料庫擴充套件取出的,要求各項計算結果滿足分組內各值相加等於分組小計 比如 要求本年本月累計項中,指標 2 指標 3 指標 4 如果不滿足則給出提示資訊,要求進行修改,滿足則可以正常提交。報表設計介面如下 其中 資...