Fast Report - E-Mail Client (Batch) & E-Mail (Native): Difference between revisions

From eStream Software
Line 42: Line 42:
==Requirement==
==Requirement==
* Fast Report
* Fast Report
* Client E-Mail (eg Mozilla Thunderbird) for E-Mail Client & E-Mail Client (Batch) Only
* Client E-Mail (eg Mozilla Thunderbird-Recommended) for E-Mail Client & E-Mail Client (Batch) Only
* An E-Mail Account (eg GMail)
* An E-Mail Account (eg GMail)
* SQL Accounting Version 731 & above
* SQL Accounting Version 731 & above

Revision as of 06:07, 18 August 2016

Introduction

By default we got 3 types of Export to E Mail for Fast Report

E-Mail Client

Pros
  • User still can change the E-Mail address, Subject & body (E-Mail Content) before Sent
  • Send E-Mail will keep in the Client E-Mail
  • Support HTML format
  • Can Attach more then 1 format
  • Can use without E-Mail Script
Cons
  • Not easy to setup
  • Only For Single Document E-Mail
  • Attachment only Support pdf, Excel & HTML format

E-Mail Client (Batch)

Pros
  • Can use for Batch & Single Document E-Mail
  • Send E-Mail will keep in the Client E-Mail
Cons
  • Not easy to setup
  • Only support pdf attachment
  • E-Mail Content only support plain text
  • User can't change the E-Mail address, Subject & body (E-Mail Content) before Sent
  • Must load the E-Mail Script

E-Mail (Native)

Pros
  • Easy to Setup
  • Support many attachment format
  • User still can change the E-Mail address, Subject & body (E-Mail Content) before Sent
  • Can use without E-Mail Script
Cons
  • No record is keeped for Sended E-Mail
  • Only For Single Document E-Mail
  • E-Mail Content only support plain text
  • Only support Single Attachment

Requirement

  • Fast Report
  • Client E-Mail (eg Mozilla Thunderbird-Recommended) for E-Mail Client & E-Mail Client (Batch) Only
  • An E-Mail Account (eg GMail)
  • SQL Accounting Version 731 & above

Setting

Below is example using Sales Invoice

FR-EMail-01.jpg
01. Click the Code Tab
02. Enter below Script at the First line
E-Mail Script 1 (Last Script Update : 21 Apr 2016)
//const MaxInt = 2147483647;
var lSQL : String;

function StringReplace(const S, OldPattern, NewPattern: string;
  iReplaceAll: boolean=true; iIgnoreCase :boolean=true): string;
var
  SearchStr, Patt, NewStr: string;
  Offset: Integer;
begin
// Usage StringReplace(<Main."DOB">,'/','')
  if iIgnoreCase then begin
    SearchStr := UpperCase(S);
    Patt := UpperCase(OldPattern);
  end else begin
    SearchStr := S;
    Patt := OldPattern;
  end;
  NewStr := S;
  Result := '';
  while SearchStr <> '' do begin
    Offset := Pos(Patt, SearchStr);
    if Offset = 0 then begin
      Result := Result + NewStr;
      Break;
    end;
    Result := Result + Copy(NewStr, 1, Offset - 1) + NewPattern;
    NewStr := Copy(NewStr, Offset + Length(OldPattern), MaxInt);
    if not iReplaceAll then begin
      Result := Result + NewStr;
      Break;
    end;
    SearchStr := Copy(SearchStr, Offset + Length(Patt), MaxInt);
  end;
end;

procedure GetEMailTpl;
var D  : TfrxDataSet;
   lFN : String;
begin
  lFN := Trim(Report.ReportOptions.Name);
  lFN := StringReplace(lFN,'.fr3','');
  D := Report.GetDataSet('plEMailTpl');
  D.First;
  While not D.Eof do begin
    if Trim(D.Value('ReportName')) = lFN then
      Break;
    D.Next;
  end;
end;

function GetFldInfo(const AStr:String):String;
var D : TfrxDataSet;
    nStr : String;
    lSL,lPL : TStringList;
    i, j : integer;
begin
  nStr := AStr;
  lSL := TStringList.Create;
  lPL := TStringList.Create;
  with lPL do begin //Available Pipeline
    Add('Main');
    Add('Profile');
  end;
  try
    for j:=0 to lPL.Count -1 do begin
      D := Report.GetDataSet(lPL[j]);
      D.GetFieldList(lSL);
      for i:=0 to lSL.Count -1 do begin
        if D.IsBlobField(lSL[i]) then
          nStr := StringReplace(nStr, '<'+ lPL[j] + '.' + lSL[i] + '>',D.Value(lSL[i])) else
        nStr := StringReplace(nStr, '<'+ lPL[j] + '.' + lSL[i] + '>',D.DisplayText(lSL[i]));
      end;
    end;
    Result := nStr;
  finally
    lSL.Free;
    lPL.Free;
  end;
end;

//For E-Mail Client (Batch)
procedure OnGetEmailSettings(EmailSettings: TStrings);
var vEmail, vName: Variant;
begin
  GetEMailTpl;
  vEmail := Trim(<Document_CompanyBranch."Email">);
  vName := Trim(<Main."CompanyName">);

  if (vName <> '' ) and (vEmail <> '') then begin
    EmailSettings.Values['Recipients'] := vEmail;
    EmailSettings.Values['Subject']    := GetFldInfo(<plEMailTpl."Subject">);
    EmailSettings.Values['Body']       := GetFldInfo(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">);
  vName := Trim(<Main."CompanyName">);

  if (vName <> '' ) and (vEmail <> '') then begin
    case Info of
      SQL_Email_Address: Result := vEmail;
      SQL_Email_Subject: Result := GetFldInfo(<plEMailTpl."Subject">);
      SQL_Email_Content: Result := GetFldInfo(RichTextToPlainText(<plEMailTpl."Body">));
    end;
  end;
end;
FR-EMail-02.jpg
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 '+
         'FROM SL_QT A ' +
         'INNER JOIN SL_QTDTL B ON (A.Dockey=B.Dockey) ' +
         'WHERE A.DocNo=''EMAIL'' ';
  AddDataSet('plEMailTpl', ['ReportName', 'Subject', 'Body'])
  .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

Quotation

Menu: Sales | Quotation...

SQL Accounting can E Mail by different Subject & E Mail Content by report name

FR-EMail-03.jpg
Field Name Description
Description Fast Report Name
Description2 E-Mail Subject
Description3 (More Description) E-Mail Content/Body
01. Create New Quotation
02. Copy below Sample E-Mail Template
Sample E-Mail Template
<?xml version="1.0" standalone="yes"?>
<DATAPACKET Version="2.0">
  <METADATA>
    <FIELDS>
      <FIELD attrname="DOCKEY" fieldtype="i4" required="true"/>
      <FIELD attrname="DOCNO" fieldtype="string" required="true" WIDTH="20"/>
      <FIELD attrname="DOCNOEX" fieldtype="string" WIDTH="20"/>
      <FIELD attrname="DOCDATE" fieldtype="date"/>
      <FIELD attrname="POSTDATE" fieldtype="date"/>
      <FIELD attrname="TAXDATE" fieldtype="date"/>
      <FIELD attrname="CODE" fieldtype="string" WIDTH="10"/>
      <FIELD attrname="COMPANYNAME" fieldtype="string" WIDTH="100"/>
      <FIELD attrname="ADDRESS1" fieldtype="string" WIDTH="60"/>
      <FIELD attrname="ADDRESS2" fieldtype="string" WIDTH="60"/>
      <FIELD attrname="ADDRESS3" fieldtype="string" WIDTH="60"/>
      <FIELD attrname="ADDRESS4" fieldtype="string" WIDTH="60"/>
      <FIELD attrname="PHONE1" fieldtype="string" WIDTH="30"/>
      <FIELD attrname="FAX1" fieldtype="string" WIDTH="30"/>
      <FIELD attrname="ATTENTION" fieldtype="string" WIDTH="70"/>
      <FIELD attrname="AREA" fieldtype="string" WIDTH="10"/>
      <FIELD attrname="AGENT" fieldtype="string" WIDTH="10"/>
      <FIELD attrname="PROJECT" fieldtype="string" WIDTH="20"/>
      <FIELD attrname="TERMS" fieldtype="string" WIDTH="10"/>
      <FIELD attrname="CURRENCYCODE" fieldtype="string" WIDTH="6"/>
      <FIELD attrname="CURRENCYRATE" fieldtype="fixedFMT" DECIMALS="10" WIDTH="19"/>
      <FIELD attrname="SHIPPER" fieldtype="string" required="true" WIDTH="30"/>
      <FIELD attrname="DESCRIPTION" fieldtype="string" WIDTH="200"/>
      <FIELD attrname="COUNTRY" fieldtype="string" WIDTH="50"/>
      <FIELD attrname="CANCELLED" fieldtype="string" WIDTH="1"/>
      <FIELD attrname="DOCAMT" fieldtype="fixedFMT" DECIMALS="2" WIDTH="19"/>
      <FIELD attrname="LOCALDOCAMT" fieldtype="fixedFMT" DECIMALS="2" WIDTH="19"/>
      <FIELD attrname="VALIDITY" fieldtype="string" WIDTH="200"/>
      <FIELD attrname="DELIVERYTERM" fieldtype="string" WIDTH="200"/>
      <FIELD attrname="CC" fieldtype="string" WIDTH="200"/>
      <FIELD attrname="DOCREF1" fieldtype="string" WIDTH="25"/>
      <FIELD attrname="DOCREF2" fieldtype="string" WIDTH="25"/>
      <FIELD attrname="DOCREF3" fieldtype="string" WIDTH="25"/>
      <FIELD attrname="DOCREF4" fieldtype="string" WIDTH="25"/>
      <FIELD attrname="BRANCHNAME" fieldtype="string" WIDTH="100"/>
      <FIELD attrname="DADDRESS1" fieldtype="string" WIDTH="60"/>
      <FIELD attrname="DADDRESS2" fieldtype="string" WIDTH="60"/>
      <FIELD attrname="DADDRESS3" fieldtype="string" WIDTH="60"/>
      <FIELD attrname="DADDRESS4" fieldtype="string" WIDTH="60"/>
      <FIELD attrname="DATTENTION" fieldtype="string" WIDTH="70"/>
      <FIELD attrname="DPHONE1" fieldtype="string" WIDTH="30"/>
      <FIELD attrname="DFAX1" fieldtype="string" WIDTH="30"/>
      <FIELD attrname="ATTACHMENTS" fieldtype="bin.hex" SUBTYPE="Binary" WIDTH="8"/>
      <FIELD attrname="NOTE" fieldtype="bin.hex" SUBTYPE="Binary" WIDTH="8"/>
      <FIELD attrname="TRANSFERABLE" fieldtype="string" WIDTH="1"/>
      <FIELD attrname="UPDATECOUNT" fieldtype="i4"/>
      <FIELD attrname="PRINTCOUNT" fieldtype="i4"/>
      <FIELD attrname="DOCNOSETKEY" fieldtype="i8" required="true"/>
      <FIELD attrname="NEXTDOCNO" fieldtype="string" WIDTH="20"/>
      <FIELD attrname="CHANGED" fieldtype="string" required="true" WIDTH="1"/>
      <FIELD attrname="sdsDocDetail" fieldtype="nested">
        <FIELDS>
          <FIELD attrname="DTLKEY" fieldtype="i4" required="true"/>
          <FIELD attrname="DOCKEY" fieldtype="i4" required="true"/>
          <FIELD attrname="SEQ" fieldtype="i4"/>
          <FIELD attrname="STYLEID" fieldtype="string" WIDTH="5"/>
          <FIELD attrname="NUMBER" fieldtype="string" WIDTH="5"/>
          <FIELD attrname="ITEMCODE" fieldtype="string" WIDTH="30"/>
          <FIELD attrname="LOCATION" fieldtype="string" WIDTH="20"/>
          <FIELD attrname="BATCH" fieldtype="string" WIDTH="30"/>
          <FIELD attrname="PROJECT" fieldtype="string" WIDTH="20"/>
          <FIELD attrname="DESCRIPTION" fieldtype="string" WIDTH="200"/>
          <FIELD attrname="DESCRIPTION2" fieldtype="string" WIDTH="200"/>
          <FIELD attrname="DESCRIPTION3" fieldtype="bin.hex" SUBTYPE="Binary" WIDTH="8"/>
          <FIELD attrname="QTY" fieldtype="fixedFMT" DECIMALS="4" WIDTH="19"/>
          <FIELD attrname="UOM" fieldtype="string" WIDTH="10"/>
          <FIELD attrname="RATE" fieldtype="fixedFMT" DECIMALS="4" WIDTH="19"/>
          <FIELD attrname="SQTY" fieldtype="fixedFMT" DECIMALS="4" WIDTH="19"/>
          <FIELD attrname="SUOMQTY" fieldtype="fixedFMT" DECIMALS="4" WIDTH="19"/>
          <FIELD attrname="UNITPRICE" fieldtype="fixedFMT" DECIMALS="8" WIDTH="19"/>
          <FIELD attrname="DELIVERYDATE" fieldtype="date"/>
          <FIELD attrname="DISC" fieldtype="string" WIDTH="20"/>
          <FIELD attrname="TAX" fieldtype="string" WIDTH="10"/>
          <FIELD attrname="TAXRATE" fieldtype="string" WIDTH="20"/>
          <FIELD attrname="TAXAMT" fieldtype="fixedFMT" DECIMALS="2" WIDTH="19"/>
          <FIELD attrname="LOCALTAXAMT" fieldtype="fixedFMT" DECIMALS="2" WIDTH="19"/>
          <FIELD attrname="TAXINCLUSIVE" fieldtype="i2"/>
          <FIELD attrname="AMOUNT" fieldtype="fixedFMT" DECIMALS="2" WIDTH="19"/>
          <FIELD attrname="LOCALAMOUNT" fieldtype="fixedFMT" DECIMALS="2" WIDTH="19"/>
          <FIELD attrname="PRINTABLE" fieldtype="string" WIDTH="1"/>
          <FIELD attrname="TRANSFERABLE" fieldtype="string" WIDTH="1"/>
          <FIELD attrname="REMARK1" fieldtype="string" WIDTH="200"/>
          <FIELD attrname="REMARK2" fieldtype="string" WIDTH="200"/>
          <FIELD attrname="INITIALPURCHASECOST" fieldtype="fixedFMT" DECIMALS="2" WIDTH="19"/>
          <FIELD attrname="UDF_QTYFROM" fieldtype="fixedFMT" DECIMALS="4" WIDTH="19"/>
          <FIELD attrname="UDF_QTYTO" fieldtype="fixedFMT" DECIMALS="4" WIDTH="19"/>
          <FIELD attrname="CHANGED" fieldtype="string" required="true" WIDTH="1"/>
        </FIELDS>
        <PARAMS/>
      </FIELD>
    </FIELDS>
    <PARAMS/>
  </METADATA>
  <ROWDATA>
    <ROW DOCKEY="76" DOCNO="EMAIL" DOCDATE="20160416" POSTDATE="20160416" TAXDATE="20160416" AREA="----" AGENT="----" PROJECT="----" CURRENCYCODE="----" CURRENCYRATE="1.0000000000" SHIPPER="----" DESCRIPTION="Quotation" CANCELLED="T" DOCAMT="0.00" LOCALDOCAMT="0.00" TRANSFERABLE="T" PRINTCOUNT="0" DOCNOSETKEY="0" CHANGED="F">
      <sdsDocDetail>
        <ROWsdsDocDetail DTLKEY="77" DOCKEY="76" SEQ="1" LOCATION="----" BATCH="" PROJECT="----" DESCRIPTION="Fast Report Name" DESCRIPTION2="E-Mail Subject" DESCRIPTION3="e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcZGVmZjBcbm91aWNvbXBhdHtcZm9udHRibHtcZjBcZm5pbFxmY2hhcnNldDAgVGFob21hO317XGYxXGZuaWwgVGFob21hO319DQp7XCpcZ2VuZXJhdG9yIFJpY2hlZDIwIDEwLjAuMTA1ODZ9XHZpZXdraW5kNFx1YzEgDQpccGFyZFxmMFxmczE4XGxhbmcxMDMzIEUtTWFpbCBCb2R5XHBhcg0KT25seSBQbGFpbiBUZXh0XGYxXHBhcg0KfQ0KAA==" QTY="0.0000" RATE="1.0000" SQTY="0.0000" SUOMQTY="0.0000" UNITPRICE="0.00000000" DELIVERYDATE="20160416" DISC="" TAX="SR" TAXRATE="6%" TAXAMT="0.00" LOCALTAXAMT="0.00" TAXINCLUSIVE="0" AMOUNT="0.00" LOCALAMOUNT="0.00" PRINTABLE="T" TRANSFERABLE="T" REMARK1="" INITIALPURCHASECOST="0.00" UDF_QTYFROM="0.0000" UDF_QTYTO="0.0000" CHANGED="F"/>
        <ROWsdsDocDetail DTLKEY="78" DOCKEY="76" SEQ="2" LOCATION="----" BATCH="" PROJECT="----" DESCRIPTION="Sales Invoice 7 (GST 1)" DESCRIPTION2="Invoice :  &lt;Main.DocNo&gt; - &lt;Main.CompanyName&gt;" DESCRIPTION3="e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcZGVmZjBcbm91aWNvbXBhdHtcZm9udHRibHtcZjBcZm5pbFxmY2hhcnNldDAgVGFob21hO319DQp7XCpcZ2VuZXJhdG9yIFJpY2hlZDIwIDEwLjAuMTA1ODZ9XHZpZXdraW5kNFx1YzEgDQpccGFyZFxmMFxmczE4XGxhbmcxMDMzIERlYXIgPE1haW4uQXR0ZW50aW9uPixccGFyDQpccGFyDQpUaGlzIGlzIGFuIGF1dG8tZ2VuZXJhdGVkIGVtYWlsLCBwbGVhc2UgZG8gbm90IHJlcGx5IHRvIHRoaXMgZW1haWwuXHBhcg0KXHBhcg0KUGxlYXNlIGNoZWNrIHRoZSBhdHRhY2htZW50IGZvciBvdXIgVGF4IEludm9pY2UgOi0gPE1haW4uRG9jTm8+XHBhcg0KXHBhcg0KXHBhcg0KQmVzdCBSZWdhcmRzLFxwYXINCjxQcm9maWxlLkNvbXBhbnlOYW1lPlxwYXINCn0NCgA=" QTY="0.0000" RATE="1.0000" SQTY="0.0000" SUOMQTY="0.0000" UNITPRICE="0.00000000" DELIVERYDATE="20160416" DISC="" TAX="SR" TAXRATE="6%" TAXAMT="0.00" LOCALTAXAMT="0.00" TAXINCLUSIVE="0" AMOUNT="0.00" LOCALAMOUNT="0.00" PRINTABLE="T" TRANSFERABLE="T" REMARK1="" INITIALPURCHASECOST="0.00" UDF_QTYFROM="0.0000" UDF_QTYTO="0.0000" CHANGED="F"/>
        <ROWsdsDocDetail DTLKEY="83" DOCKEY="76" SEQ="3" LOCATION="----" BATCH="" PROJECT="----" DESCRIPTION="Sales Invoice 7 (GST 2)" DESCRIPTION2="Invoice :  &lt;Main.DocNo&gt; - &lt;Main.CompanyName&gt;" DESCRIPTION3="e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcZGVmZjBcbm91aWNvbXBhdHtcZm9udHRibHtcZjBcZm5pbFxmY2hhcnNldDAgVGFob21hO319DQp7XCpcZ2VuZXJhdG9yIFJpY2hlZDIwIDEwLjAuMTA1ODZ9XHZpZXdraW5kNFx1YzEgDQpccGFyZFxmMFxmczE4XGxhbmcxMDMzIERlYXIgPE1haW4uQXR0ZW50aW9uPixccGFyDQpccGFyDQpUaGlzIGlzIGFuIGF1dG8tZ2VuZXJhdGVkIGVtYWlsLCBwbGVhc2UgZG8gbm90IHJlcGx5IHRvIHRoaXMgZW1haWwuXHBhcg0KXHBhcg0KUGxlYXNlIGNoZWNrIHRoZSBhdHRhY2htZW50IGZvciBvdXIgVGF4IEludm9pY2UgOi0gPE1haW4uRG9jTm8+XHBhcg0KXHBhcg0KXHBhcg0KQmVzdCBSZWdhcmRzLFxwYXINCjxQcm9maWxlLkNvbXBhbnlOYW1lPlxwYXINCn0NCgA=" QTY="0.0000" RATE="1.0000" SQTY="0.0000" SUOMQTY="0.0000" UNITPRICE="0.00000000" DELIVERYDATE="20160416" DISC="" TAX="SR" TAXRATE="6%" TAXAMT="0.00" LOCALTAXAMT="0.00" TAXINCLUSIVE="0" AMOUNT="0.00" LOCALAMOUNT="0.00" PRINTABLE="T" TRANSFERABLE="T" REMARK1="" INITIALPURCHASECOST="0.00" UDF_QTYFROM="0.0000" UDF_QTYTO="0.0000" CHANGED="F"/>
        <ROWsdsDocDetail DTLKEY="79" DOCKEY="76" SEQ="4" LOCATION="----" BATCH="" PROJECT="----" DESCRIPTION="Cust Statement 06 Mths 1" DESCRIPTION2="Statement : &lt;Main.CompanyName&gt; - [&lt;Parameter.StatementDate&gt;]" DESCRIPTION3="e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcZGVmZjBcbm91aWNvbXBhdHtcZm9udHRibHtcZjBcZm5pbFxmY2hhcnNldDAgVGFob21hO317XGYxXGZuaWwgVGFob21hO319DQp7XCpcZ2VuZXJhdG9yIFJpY2hlZDIwIDEwLjAuMTA1ODZ9XHZpZXdraW5kNFx1YzEgDQpccGFyZFxmMFxmczE4XGxhbmcxMDMzIERlYXIgPENvbXBhbnkuQXR0ZW50aW9uPixccGFyDQpccGFyDQpUaGlzIGlzIGFuIGF1dG8tZ2VuZXJhdGVkIGVtYWlsLCBwbGVhc2UgZG8gbm90IHJlcGx5IHRvIHRoaXMgZW1haWwuXHBhcg0KXHBhcg0KUGxlYXNlIGNoZWNrIHRoZSBhdHRhY2htZW50IGZvciBzdGF0ZW1lbnQgb2YgPFBhcmFtZXRlci5TdGF0ZW1lbnREYXRlPlxwYXINClxwYXINClxwYXINCkJlc3QgUmVnYXJkcyxccGFyDQo8UHJvZmlsZS5Db21wYW55TmFtZT5ccGFyDQpcZjFccGFyDQp9DQoA" QTY="0.0000" RATE="1.0000" SQTY="0.0000" SUOMQTY="0.0000" UNITPRICE="0.00000000" DELIVERYDATE="20160416" DISC="" TAX="SR" TAXRATE="6%" TAXAMT="0.00" LOCALTAXAMT="0.00" TAXINCLUSIVE="0" AMOUNT="0.00" LOCALAMOUNT="0.00" PRINTABLE="T" TRANSFERABLE="T" INITIALPURCHASECOST="0.00" UDF_QTYFROM="0.0000" UDF_QTYTO="0.0000" CHANGED="F"/>
        <ROWsdsDocDetail DTLKEY="82" DOCKEY="76" SEQ="5" LOCATION="----" BATCH="" PROJECT="----" DESCRIPTION="Default Template" DESCRIPTION2="&lt;Main.DocNo&gt;" DESCRIPTION3="e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcZGVmZjBcbm91aWNvbXBhdHtcZm9udHRibHtcZjBcZm5pbFxmY2hhcnNldDAgVGFob21hO319DQp7XCpcZ2VuZXJhdG9yIFJpY2hlZDIwIDEwLjAuMTA1ODZ9XHZpZXdraW5kNFx1YzEgDQpccGFyZFxmMFxmczE4XGxhbmcxMDMzIERlYXIgU2lyL01hZGFtLFxwYXINClNlZSBhdHRhY2htZW50Li4uXHBhcg0KXHBhcg0KVGhpcyBpcyBhbiBhdXRvLWdlbmVyYXRlZCBlbWFpbCwgcGxlYXNlIGRvIG5vdCByZXBseSB0byB0aGlzIGVtYWlsLlxwYXINClxwYXINClxwYXINCkJlc3QgUmVnYXJkcyxccGFyDQo8UHJvZmlsZS5Db21wYW55TmFtZT5ccGFyDQpccGFyDQp9DQoA" QTY="0.0000" RATE="1.0000" SQTY="0.0000" SUOMQTY="0.0000" UNITPRICE="0.00000000" DELIVERYDATE="20160418" DISC="" TAX="SR" TAXRATE="6%" TAXAMT="0.00" LOCALTAXAMT="0.00" TAXINCLUSIVE="0" AMOUNT="0.00" LOCALAMOUNT="0.00" PRINTABLE="T" TRANSFERABLE="T" INITIALPURCHASECOST="0.00" UDF_QTYFROM="0.0000" UDF_QTYTO="0.0000" CHANGED="F"/>
      </sdsDocDetail>
    </ROW>
  </ROWDATA>
</DATAPACKET>
03. Right Click at the empty space below the Browse button
04. Select Paste Quotation
05. Set the Quot No to EMAIL
06. Click Save after done change the E-Mail Subject and/or Content/Body

Template.Tips-01.jpg
  • User can use eg <Main.DocNo> (<Pipeline.FieldName>) to show variable data
(eg Document Number) in the E-Mail Subject & Body.
  • The Pipeline name & FieldName is from the Report Designer Pipeline name & Field Name
  • Default Template(Must set at last Row) is use if system can't find the Report Name in the
Description field.

Steps

Below is example using Sales Invoice
Menu: Sales | Invoice...

01. Press F6
02. Select the Build-in/Customise Fast Report (eg Sales Invoice 7 (GST 2)-Email)
03. Click OK
FR-EMail-04.jpg
04. Click the Arrow for Export (2nd Button from Left)
FR-EMail-05.jpg
05. Select either 1 of other following from the list
  • Export to E-Mail Client
  • Export to E-Mail Client (Batch)
  • Export to E-Mail (Native)

See also