Report Designer: Difference between revisions

From eStream Software
(36 intermediate revisions by 2 users not shown)
Line 140: Line 140:
<div style="float: right;">  [[#top|[top]]]</div>
<div style="float: right;">  [[#top|[top]]]</div>
===FAQ===
===FAQ===
====1) Why is not same on preview?====
====Why is not same on preview?====
[[File:FR-FAQ-01.jpg|800px|center]]
[[File:FR-FAQ-01.jpg|800px|center]]


Line 148: Line 148:
<div style="float: right;">  [[#top|[top]]]</div>
<div style="float: right;">  [[#top|[top]]]</div>


====2) Why my Layout in the Designer is different from the example shown?====
====Why my Layout in the Designer is different from the example shown?====
: Can try run [http://www.estream.com.my/downloadfile/Fairy/FastReportReg.zip This] script. Please Exit SQL Product before run the script.
: Can try run [http://www.estream.com.my/downloadfile/Fairy/FastReportReg.zip This] script. Please Exit SQL Product before run the script.


<div style="float: right;">  [[#top|[top]]]</div>
<div style="float: right;">  [[#top|[top]]]</div>


====3) How to rename the component I use?====
====How to rename the component I use?====
[[File:FR-FAQ-03.jpg|800px|center]]
[[File:FR-FAQ-03.jpg|800px|center]]
:01. Click the Red A Icon.
:01. Click the Red A Icon.
Line 161: Line 161:
<div style="float: right;">  [[#top|[top]]]</div>
<div style="float: right;">  [[#top|[top]]]</div>


====4) How to draw line for whole report?====
====How to draw line for whole report?====
[[File:FR-FAQ-04.jpg|center]]
[[File:FR-FAQ-04.jpg|center]]
:01. Click at empty place of outer report.
:01. Click at empty place of outer report.
Line 181: Line 181:
<div style="float: right;">  [[#top|[top]]]</div>
<div style="float: right;">  [[#top|[top]]]</div>


====5) How to add spacing between 2 records?====
====How to add spacing between 2 records?====
[[File:FR-FAQ-06.jpg|center]]
[[File:FR-FAQ-06.jpg|center]]
:01. Right Click at '''DetailData'''.
:01. Right Click at '''DetailData'''.
Line 191: Line 191:
<div style="float: right;">  [[#top|[top]]]</div>
<div style="float: right;">  [[#top|[top]]]</div>


====6) My More Description is very long & it shown page 1 empty & shown in page 2====
====My More Description is very long & it shown page 1 empty & shown in page 2====
[[File:FR-FAQ-08.jpg|center]]
[[File:FR-FAQ-08.jpg|center]]
:01. Right Click at '''DetailData'''.
:01. Right Click at '''DetailData'''.
Line 209: Line 209:
<div style="float: right;">  [[#top|[top]]]</div>
<div style="float: right;">  [[#top|[top]]]</div>


====7) Show Note at Header====
====Show Note at Header====
[[File:FR-FAQ-11.jpg|center]]
[[File:FR-FAQ-11.jpg|center]]
:01. Right Click at '''GroupHeader:GroupHeader1'''.
:01. Right Click at '''GroupHeader:GroupHeader1'''.
Line 229: Line 229:


<div style="float: right;">  [[#top|[top]]]</div>
<div style="float: right;">  [[#top|[top]]]</div>
====8) Show Total Qty Excluding Item Code RTN5Cents ====
 
====Show Total Qty Excluding Item Code RTN5Cents ====
:01. Click the Red A Icon.
:01. Click the Red A Icon.
:02. Click on the place to be print/shown
:02. Click on the place to be print/shown
Line 243: Line 244:
<div style="float: right;">  [[#top|[top]]]</div>
<div style="float: right;">  [[#top|[top]]]</div>


====9) How to print 2 page in 1 A4?====
====How to print 2 page in 1 A4?====
[[File:FR-FAQ-13.jpg|900px|center]]
[[File:FR-FAQ-13.jpg|900px|center]]


Line 257: Line 258:
<div style="float: right;">  [[#top|[top]]]</div>
<div style="float: right;">  [[#top|[top]]]</div>


====10) How to Load Notes/More Description to TfrRichView using script?====
====How to Load Notes/More Description to TfrRichView using script?====
Just add below script on the TfrRichView '''OnBeforePrint'''
Just add below script on the TfrRichView '''OnBeforePrint'''
<syntaxhighlight lang="delphi">
<syntaxhighlight lang="delphi">
Line 280: Line 281:
<div style="float: right;">  [[#top|[top]]]</div>
<div style="float: right;">  [[#top|[top]]]</div>


====11) How to reduce the Column use when Export to Excel?====
====How to reduce the Column use when Export to Excel?====
Try use '''Export to Excel Table (XML)''' option & untick the Option '''WYSIWYG'''
Try use '''Export to Excel Table (XML)''' option & untick the Option '''WYSIWYG'''
<div style="float: right;">  [[#top|[top]]]</div>
<div style="float: right;">  [[#top|[top]]]</div>


====12) Special DisplayFormat====
====Special DisplayFormat====
Q1 : How if data is Zero(0) and I wanted to be printed as - and some space on the back?<br />
Q1 : How if data is Zero(0) and I wanted to be printed as - and some space on the back?<br />
A  : Just Enter as Follow code:-<br />
A  : Just Enter as Follow code:-<br />
Line 347: Line 348:
<div style="float: right;">  [[#top|[top]]]</div>
<div style="float: right;">  [[#top|[top]]]</div>


====13) Can I do running Total for each footer?====
====Can I do running Total for each footer?====
:Yes just add <span style="color:#0000ff">''',2'''</span> in the SUM formula
:Yes just add <span style="color:#0000ff">''',2'''</span> in the SUM formula
:'''WARNING''' it can't batch Printing (i.e. will keep increasing)
:'''WARNING''' it can't batch Printing (i.e. will keep increasing)
Line 354: Line 355:
<div style="float: right;">  [[#top|[top]]]</div>
<div style="float: right;">  [[#top|[top]]]</div>


====14) How can combine each string lines from detail without the line break added====
====How can combine each string lines from detail without the line break added?====
:For example,
:For example,
::{| class="wikitable"
::{| class="wikitable"
Line 365: Line 366:
|}
|}
<br />
<br />
:Expected result:<br />
:Expected result:<br />
  RM-001,20,100,2000|RM-002,40,200,8000|<br />
  RM-001,20,100,2000|RM-002,40,200,8000|


{| class="mw-collapsible mw-collapsed wikitable"
! Without line break added
|-
|
<syntaxhighlight lang="delphi">
<syntaxhighlight lang="delphi">
Var s: string;
Var s: string;
Begin
Begin
   s := Items + ',' + VarToStr(Qty) + ',' + VarToStr(Amount) +'|';
   s := Items + ',' + VarToStr(Qty) + ',' + VarToStr(Amount) +'|';
   Memo1.Text := '''Copy(Memo1.Text,1, Length(Memo1.Text)-2)''' + s;
   Memo1.Text := '''Copy(Memo1.Text,1,Length(Memo1.Text)-2)''' + s;
 
End;
End;
<br />
</syntaxhighlight>
 
<div style="float: right;">  [[#top|[top]]]</div>
<div style="float: right;">  [[#top|[top]]]</div>


:instead of the line break added<br />
====How to make sure my report export to Excel as less column usage as possible?====
RM-001,20,100,2000|<br />
:Below is the guideline
RM-002,40,200,8000|<br />
[[File:FR-FAQ-14.jpg|center]]
<br />
:* Use align to Grid button
 
[[File:FR-FAQ-15.jpg|center]]
{| class="mw-collapsible mw-collapsed wikitable"
:* No gap between to component
! Line break added
:* Must Align between top & Bottom of component
|-
[[File:FR-FAQ-16.jpg|center]]
|
:* Untick '''Diagonal''' when use Line
<syntaxhighlight lang="delphi">
:* Avoid use Rich Text (TfrRichView)
Var s: string;
:* Untick '''Auto Width'''
:* Tick '''Stretch to Max Height''' (for Detail)


Begin
  s := Items + ',' + VarToStr(Qty) + ',' + VarToStr(Amount) +'|';
  Memo1.Text := Memo1.Text + s;


End;
<div style="float: right;">  [[#top|[top]]]</div>
<br />


====Why when I export to PDF with Chinese Word become "tofu" or box box?====
: This is because default Font is Tahoma is not support Unicode Font
: Solution : Change the Font To '''Microsft YaHei''' in Report Designer
[[File:FR-FAQ-17.jpg|800px|center]]
<div style="float: right;">  [[#top|[top]]]</div>
<div style="float: right;">  [[#top|[top]]]</div>



Revision as of 01:08, 18 January 2020

Report Builder

FAQ

1) How to rename the component I use?

RB-FAQ-01.jpg
01. Click Icon here (eg DBText)
02. Click on the place to be print/shown
03. At the Properties for XXXXXX, look for Identity | UserName & change the Name you like (Only Alphanumeric & no spacing)

2) Why when Export to PDF format the Company Logo look "ugly"?

RB-FAQ-02.jpg
01. In the report designer set the setting
- ImageCompressionLevel to 1
- Untick ScaleImages
02. At the Company Logo Right Click
- Tick DirectDraw
- Untick Stretch
03. Resize your Jpeg Logo to smaller dimension
04. Resize the Company Logo (Report Builder component) to the same dimension of your Jpeg Logo

3) Why when Export to PDF format the the file size so large?

RB-FAQ-03.jpg
01. In the report designer set the setting look for PDFSettings
- CompressionLevel to clMax
02. In the report designer set the setting look for PDFSettings | EmbedFontOptions
- efUseSubset to True (checked)

4) Special DisplayFormat

Q1 : How if data is PI-12345 but I wanted to be printed as 12345?
A : Just Enter as Follow code:-

Procedure DBTxtDocNoOnGetText(var Text: String);
begin
  Delete(Text, 1, 3);
  Text := Text;
end;

Q2 : How if data is PI-12345 but I wanted to be printed as PI12345?
A : Just Enter as Follow code:-

Procedure DBTxtDocNoOnGetText(var Text: String);
begin
  Delete(Text, 3, 1);
  Text := Text;
end;

Q3 : How if data is 17-08-2005 but I wanted to be printed as 17 hb?
A : Just Enter as Follow code in the DisplayFormat:-

dd 'hb'

Q4 : How if data is 1234-001 but I wanted to be printed as 1234 & the value is not fixed (i.e may 12345-001, 1234-001)?
A : Just Enter as Follow code:-

Procedure DBTxtDocNoOnGetText(var Text: String);
begin
  Text := SubStrOfDelimitedStr(Text, 0, 1, '-');
end;

Q5 : How if data is 1234-001 but I wanted to be printed as 001 & the value is not fixed (i.e may 12345-001, 1234-32)?
A : Just Enter as Follow code:-

Procedure DBTxtDocNoOnGetText(var Text: String);
begin
  Text := SubStrOfDelimitedStr(Text, 1, 1, '-');
end;

Q6 : How to reverse this #,0.00;-#,0.00 to this -#,0.00;#,0.00?
A : Just Enter as Follow code:-

procedure DetailBeforePrint;
var d, s : string;
begin
  s := Option.GetFieldValue('AccountingValueDisplayFormat');
  d := ValueOfSemiColonStr(s, 1)+';'+ ValueOfSemiColonStr(s, 0);  
  DBTxtC4.DisplayFormat := d;
end;

Q7 : How to set 0 when empty?
A : Below is example

procedure DBTxtTaxOnGetText(var Text:String);
begin
  if Trim(plSQL_1.GetFieldValue('TaxAmt')) = '' then
    Text := '0.00' ;
end;

Q8. How to Combine Currency Symbol with DocAmt or DBCalc.Value using TppVariable?

procedure VarSumDROnCalc(var Value : Variant);
var V : string;
begin
  V := FormatFloat(Option.GetFieldValue('AccountingValueDisplayFormat'), DBCalcSCR.Value);
  Value := Option.GetFieldValue('LocalCurrencySymbol') + ' ' + V;
end;

Fast Report

----------------------------------------------------------------------------------------------------------------------------------------------------
Template.Tips-01.jpg

When design for Fast Report Make sure the all the component in the
MasterData or DetailData band set as following

  • Height : 0.1
  • Stretch : True (Tick in Right Click)
----------------------------------------------------------------------------------------------------------------------------------------------------

FAQ

Why is not same on preview?

FR-FAQ-01.jpg
Try Untick the Option Shift by right click the Memo
FR-FAQ-02.jpg

Why my Layout in the Designer is different from the example shown?

Can try run This script. Please Exit SQL Product before run the script.

How to rename the component I use?

FR-FAQ-03.jpg
01. Click the Red A Icon.
02. Click on the place to be print/shown
03. At the Object Inspector, look for Name & change the Name you like (Only Alphanumeric & no spacing)

How to draw line for whole report?

FR-FAQ-04.jpg
01. Click at empty place of outer report.
02. At the Object Inspector, look for Frame & click the + sign
03. Under the Frame, look for Typ & set to True for ftLeft, ftRight, ftTop & ftBottom.
FR-FAQ-05.jpg

Template.Warning-01.jpg
Make sure the Paper Margin for Top, Bottom, Left & Right not set to 0

How to add spacing between 2 records?

FR-FAQ-06.jpg
01. Right Click at DetailData.
FR-FAQ-07.jpg
02. Select Add child band.
03. At the Object Inspector, look for Height & set the gap Height you wanted


My More Description is very long & it shown page 1 empty & shown in page 2

FR-FAQ-08.jpg
01. Right Click at DetailData.
FR-FAQ-09.jpg
02. Select Allow Split.
03. Double Click OnAfterCalcHeight
FR-FAQ-10.jpg
04. Disable this script by add // infront
05. Double Click OnBeforePrint
FR-FAQ-12.jpg
06. Add below script between the script
  if <PAGE> <> <TOTALPAGES> then
    PageFooter1.Height := 192 else //height on 2 inch * 96     
    PageFooter1.Height := 29; //height on 0.3 inch * 96

Show Note at Header

FR-FAQ-11.jpg
01. Right Click at GroupHeader:GroupHeader1.
FR-FAQ-07.jpg
02. Select Add Child Band & Select Stretch
03. Adjust the Child band Height as you wanted
04. Right click at Child Band & Select Stretch
05. Move all the Title to Child:Child1
06. Click Blue A icon (RichText Object)
07. Click on the place to be print/shown & set as below setting in Right Click
Stretch = True
Shift = False
Allow Expression = False
08. At the Object Inspector, Look for & set as below
DataSet ==> Main
DataField ==> Note


Show Total Qty Excluding Item Code RTN5Cents

01. Click the Red A Icon.
02. Click on the place to be print/shown
03. Enter the below code (make sure in the report had the AdjRound pipeline & GetTotal function (refer to Sales Invoice 7 (GST 1))
[FormatFloat(<Option."StockQuantityDisplayFormat">,
    IIF(Trim(<AdjRound."LocalAmount">)<>'0', 
          GetTotal('Qty')-1,
          GetTotal('Qty'))
)]

How to print 2 page in 1 A4?

FR-FAQ-13.jpg
01. Click Margin Icon
02. Adjust the Height to fit in 1 page
03. Select Apply to all pages
04. Click Ok
05. Set the Zoom to 100% and/or Page Within
06. Click Print Icon
07. Set Print Mode to Scale & Print on Sheet to A4
08. Click Ok to print

How to Load Notes/More Description to TfrRichView using script?

Just add below script on the TfrRichView OnBeforePrint

procedure Rich1OnBeforePrint(Sender: TfrxComponent);
var slOutput : TStringList;
    M: TMemoryStream;    
begin
  slOutput := TStringList.Create;
  M := TMemoryStream.Create;
  try
    slOutput.Text := <plST_Item."Note">; //The Note/More Description field
    slOutput.SaveToStream(M);
    M.Position := 0;
    Rich1.RichEdit.Lines.LoadFromStream(M); //eg The TfrRichView name is Rich1 
  finally
    slOutput.Free;
    M.Free;  
  end;
end;

How to reduce the Column use when Export to Excel?

Try use Export to Excel Table (XML) option & untick the Option WYSIWYG

Special DisplayFormat

Q1 : How if data is Zero(0) and I wanted to be printed as - and some space on the back?
A  : Just Enter as Follow code:-

[FormatFloat(',0.00;-,0.00;-   ',<Main."Amount">)]

Q2 : How to set a given string as this 123456121234 to show as 123456-12-1234?
A  : Just Enter as Follow code:-

[FormatMaskText('000000-00-0000;0;',<Employee."NewIC">)]

Q3 : How to set displayformat follow the option for Grand Total?
A  : Just Enter as Follow code:-

[FormatFloat(<Option."StockQuantityDisplayFormat">, SUM(<Main."TotalQty">,MasterData1))] 

OR

[FormatFloat(<Option."AccountingValueDisplayFormat">, SUM(<Main."TotalAmt">,MasterData1))]


Q4 : How to set displayformat BlankWhenZero or Hide Zeros if using FormatFloat function?
A  : Just set the display format at Tools | Options | Misc to

#,0.00;-#,0.00; ;

OR

A  : Just Enter as Follow code :-

 [IIF(SimpleRoundTo(<Document_Detail."Qty">*<Document_Detail."UnitPrice">,-2) <> 0, 
     FormatFloat(<Option."AccountingValueDisplayFormat">, 
     SimpleRoundTo(<Document_Detail."Qty">*<Document_Detail."UnitPrice">,-2)), '')]

How to use Line function?

Default is system will use [Line#] this will result as

Group 1
 1
 2
 3
Group 2
 4
 5
 6

Use Line this will result as

Group 1
 1
 2
 3
Group 2
 1
 2
 3
01. Select System Text
02. Enter as [Line] in Text field

Can I do running Total for each footer?

Yes just add ,2 in the SUM formula
WARNING it can't batch Printing (i.e. will keep increasing)
[SUM(<Document_Detail."Amount">,DetailData1,2)]

How can combine each string lines from detail without the line break added?

For example,
Items Qty Unit Price Amount
RM-001 20 100 2000
RM-002 40 200 8000


Expected result:
RM-001,20,100,2000|RM-002,40,200,8000|
Var s: string;
Begin
  s := Items + ',' + VarToStr(Qty) + ',' + VarToStr(Amount) +'|';
  Memo1.Text := '''Copy(Memo1.Text,1,Length(Memo1.Text)-2)''' + s;
End;

How to make sure my report export to Excel as less column usage as possible?

Below is the guideline
FR-FAQ-14.jpg
  • Use align to Grid button
FR-FAQ-15.jpg
  • No gap between to component
  • Must Align between top & Bottom of component
FR-FAQ-16.jpg
  • Untick Diagonal when use Line
  • Avoid use Rich Text (TfrRichView)
  • Untick Auto Width
  • Tick Stretch to Max Height (for Detail)


Why when I export to PDF with Chinese Word become "tofu" or box box?

This is because default Font is Tahoma is not support Unicode Font
Solution : Change the Font To Microsft YaHei in Report Designer
FR-FAQ-17.jpg

See also