- 1. 單據中有多行數據,但預覽時只顯示部分內容,或者打印內容行與行之間有間隔
FASTREPOR屬性中:設置RowCount=0,Start New Page為False;Stretched為True.
說明:
RowCount:控制總共打印幾行;RowCount=0是打印全部;
Start New Page:打印前先跳頁;每頁打印一行;
Stretch:表身自動伸縮根據表身內容;
- 2. 在打印中設置金額或數量的小數位數
FASTREPOR屬性中:使用DisplayFormat(數據顯示格式)——數字——1234.50
%2.0f:以整數形式顯示;
%2.2f:顯示兩位小數;
%2.3f:顯示三位小數位,可根據情況進行調整。
- 3. 在打印中設置日期/時間的格式
FASTREPOR屬性中:使用DisplayFormat(數據顯示格式)——日期/時間——11.28.2002
mm.dd.yyyy:顯示月.日.年
mm.dd:顯示月.日
mm:顯示兩位的月
- 4. 當欄位的值為零時顯示為空
FASTREPOR屬性中:設置HideZeros(數字前面的0是否顯示)為True
- 5. 自動換行
1)選擇數據單元進行群組;
2)StretchMode為smMaxHtight;WordWrap為True;Stretched為True.
說明:
StretchMode:對象伸縮的行為;
WordWrap:文本是否自動換行;
- 6. 合計
[SUM(<進/銷/退/折表身檔."AMTN_NET">,MasterData2)]
- 7. 每頁合計
將定義好的合計函數放到‘欄尾’中即可。
- 8. 全表合計
將定義好的合計函數放到‘報表合計’中即可。
- 9. 金額大寫
在報表設計中使用函數:ConbertNumToChinese()
合計金額大寫:[ConvertNumToChinese(SUM(<進/銷/退/折表身檔."AMTN_NET">,MasterData2))]
負數合計金額大寫:[ConvertNumToChinese(Abs(SUM(<進/銷/退/折表身檔."AMTN_NET">,MasterData2)))]
10. 報表中打印行數
在報表設計中使用變量——系統變量Line#
11. 連打
1) 單據——速查,查出要打印的單據;
2)打印——查詢數據——預覽——打印,選擇多張單據進行連打。
12. 連打打到同一頁
打印——設計——頁面設置——勾選“打印至前一頁”,“伸展至打印區”
13. 打印固定行數,不足補空白行代碼(語言:PascalScript)
var
PageLine: integer;
PageMaxRow: integer=5; //每頁打印的行數
procedure Footer1OnBeforePrint(Sender: TfrxComponent);
var
i: integer;
begin
i := iif(PageLine=0, PageMaxRow, PageLine);
while i < PageMaxRow do begin
i := i + 1;
Engine.ShowBand(Child1); //印空白表格
end;
end;
procedure MasterData2OnBeforePrint(Sender: TfrxComponent);
begin
PageLine := <line> mod PageMaxRow;
if (PageLine = 1) and (<line> > 1) then
Engine.newpage;
end;
begin
end.
14. 電子簽名代碼(語言:BasicScript)
sub MasterData2OnBeforePrint(Sender)
if length(<進銷貨表頭檔.”CHK_MAN”>)>0 then picture2.visible=true
end sub