{
ApplicationArea = All;
Caption = 'Customer Transactions Report';
UsageCategory = ReportsAndAnalysis;
DefaultLayout = RDLC;
RDLCLayout = './Source/Layout/CustomerTransactionReport.rdl';
dataset
{
dataitem(/Cust Ledger Entry/; /Cust. Ledger Entry/)
{
RequestFilterFields = /Customer No./; // /Posting Date/;
CalcFields = /Credit Amount/, /Debit Amount/;
column(Document_No_; /Document No./) { }
column(Document_Type; /Document Type/) { }
column(Posting_Date; /Posting Date/) { }
column(External_Document_No_; /External Document No./) { }
column(Description; Description) { }
column(Debit_Amount; /Debit Amount/) { }
column(Credit_Amount; /Credit Amount/) { }
column(Currency_Code; /Currency Code/) { }
column(Customer_No_; /Customer No./) { }
column(Customer_Name; /Customer Name/) { }
column(Company_Name; /Company Name/) { }
column(CompName; Companyinformation.Name) { }
column(Companyphone; Companyinformation./Phone No./) { }
column(Companypostbox; Companyinformation./Post Code/) { }
column(CompnayFax; Companyinformation./Fax No./) { }
column(CompanyEmail; Companyinformation./E-Mail/) { }
column(CompanyWebsite; Companyinformation./Home Page/) { }
column(Companycity; Companyinformation.City) { }
column(companyCountry; Companyinformation./Country/Region Code/) { }
column(MinDate; StartDate) { }
column(MaxDate; EndDate) { }
column(CummulativeAmount; CummulativeAmount) { }
column(CummulativeAmountCust; CummulativeAmountCust) { }
trigger OnPreDataItem()
begin
SetRange(/Posting Date/, StartDate, EndDate);
CummulativeAmountCust := 0;
CummulativeAmount := 0;
end;
var
Clear(CummulativeAmountCust);
CustLedgEntry.Reset();
CustLedgEntry.SetCurrentKey(/Customer No./, /Posting Date/, /Currency Code/);
CustLedgEntry.SetRange(/Customer No./, /Cust Ledger Entry/./Customer No./);
CustLedgEntry.SetFilter(/Posting Date/, '<%1', StartDate);
CustLedgEntry.SetRange(/Currency Code/, /Cust Ledger Entry/./Currency Code/);
CustLedgEntry.SetFilter(/Remaining Amount/, '<>%1', 0);
if CustLedgEntry.FindSet() then
repeat
CustLedgEntry.CalcFields(Amount);
CummulativeAmountCust += CustLedgEntry.Amount;
until SqitGlobalCustLedgEntry.Next() = 0;
/Cust Ledger Entry/.CalcFields(Amount);
CummulativeAmount := CummulativeAmountCust + /Cust Ledger Entry/.Amount;
end;
}
requestpage
{
layout
{
area(content)
{
group(GroupName)
{
field(MinDate; StartDate)
{
Caption = 'Start Date';
ApplicationArea = All;
}
field(MaxDate; EndDate)
{
ApplicationArea = All;
Caption = 'End Date';
}
}
}
}
actions
{
area(processing)
{
}
}
}
trigger OnPreReport()
begin
Companyinformation.get();
if StartDate = 0D then
Error('Start Date must have a value');
if EndDate = 0D then
Error('End Date must have a value');
if StartDate > EndDate then
Error('Start Date should be greater than End Date');
end;
Companyinformation: Record /Company Information/;
CustLedgEntry: Record /Cust. Ledger Entry/;
CummulativeAmount: Decimal;
CummulativeAmountCust: Decimal;
EndDate: Date;
StartDate: Date;
CustomerFilter: Code[20];
i: Integer;
openingBalance: Decimal;
}