Fast Report - E-Mail Client (Batch) & E-Mail (Native): Difference between revisions
From eStream Software
(→Setup) |
|||
Line 22: | Line 22: | ||
==Setting== | ==Setting== | ||
Below is example using Sales Invoice | Below is example using Sales Invoice | ||
=== | ===Invoice=== | ||
:01. Click the '''Code''' Tab | :01. Click the '''Code''' Tab | ||
:02. Enter below Script at the '''First''' line | :02. Enter below Script at the '''First''' line | ||
Line 103: | Line 103: | ||
:10. Click '''File | Save''' to save the file | :10. Click '''File | Save''' to save the file | ||
:11. Click '''File | Exit''' to exit the report design | :11. Click '''File | Exit''' to exit the report design | ||
===Quotation=== |
Revision as of 05:37, 18 April 2016
Introduction
By default we got 2 types of Export to E Mail for Fast Report
- E-Mail Client (Batch)
- E-Mail (Native)
E-Mail Client (Batch)
Pros
- Can use for Batch & Single Document E-Mail
- Sended E-Mail will had keep in the Client E-Mail
Cons
- Not easy to setup
E-Mail (Native)
Pros
- Easy to Setup
Cons
- No record is keeped for Sended E-Mail
- Only For Single Document E-Mail
Setting
Below is example using Sales Invoice
Invoice
- 01. Click the Code Tab
- 02. Enter below Script at the First line
E-Mail Script 1 |
---|
//var lSQL : String;
procedure GetEMailTpl;
var D : TfrxDataSet;
begin
D := Report.GetDataSet('plEMailTpl');
D.First;
While not D.Eof do begin
if Trim(D.DisplayText('ReportName')) = Trim(Report.ReportOptions.Name) then
Break;
D.Next;
end;
end;
//For E-Mail Client (Batch)
procedure OnGetEmailSettings(EmailSettings: TStrings);
var vEmail, vName: Variant;
begin
GetEMailTpl;
vEmail := Trim(<Document_CompanyBranch."Email">);
if Trim(vEmail) = '' then
vEmail := <plEMailTpl."AltEMail">;
vName := Trim(<Main."CompanyName">);
if (vName <> '' ) and (vEmail <> '') then begin
EmailSettings.Values['Recipients'] := vEmail;
EmailSettings.Values['Subject'] := <plEMailTpl."Subject">;
EmailSettings.Values['Body'] := RichTextToPlainText(<plEMailTpl."Body">);
end;
//ID uses for display on progress dialog
EmailSettings.Values['ID'] := vName;
end;
//For E-Mail (Native)
function SQL_Email_GetInfo(Info: Integer): string;
var vEmail, vName: Variant;
begin
GetEMailTpl;
Result := '';
vEmail := Trim(<Document_CompanyBranch."Email">);
if Trim(vEmail) = '' then
vEmail := <plEMailTpl."AltEMail">;
vName := Trim(<Main."CompanyName">);
if (vName <> '' ) and (vEmail <> '') then begin
case Info of
SQL_Email_Address: Result := vEmail;
SQL_Email_Subject: Result := <plEMailTpl."Subject">;
SQL_Email_Content: Result := RichTextToPlainText(<plEMailTpl."Body">);
end;
end;
end;
|
- 03. Scroll down look for procedure SetUp
- 04. Copy below script & paste it between the begin & end; in procedure SetUp
SQL := 'SELECT B.Description As ReportName, B.Description2 As Subject, B.Description3 As Body, '+
'B.Remark1 AltEMail FROM SL_QT A ' +
'INNER JOIN SL_QTDTL B ON (A.Dockey=B.Dockey) ' +
'WHERE A.DocNo=''EMAIL'' ';
AddDataSet('plEMailTpl', ['ReportName', 'Subject', 'Body', 'AltEMail'])
.GetDBData(SQL);
- 05. Click File | Save As... to save the file (eg Sales Invoice 7 (GST 2)-Email)
- 06. Click File | Exit to exit the report design
- 07. Click Design again in the report designer for the file just save on Steps 5 (eg Sales Invoice 7 (GST 2)-Email)
- 08. Click the Code Tab
- 09. Remove the // at the First line of the Script
- 10. Click File | Save to save the file
- 11. Click File | Exit to exit the report design