Issue with Ledger Report

Stivan_dsouza21Stivan_dsouza21 Member Posts: 218
When i run report for any g/l account with check mark on print detail then Account name gets printed same which on the first line on the other lines.
When report is runned with out check mark it shows proper output of account name.



can anybody help me out.....
Thanks & Regards,
Stivan D'souza

Comments

  • Stivan_dsouza21Stivan_dsouza21 Member Posts: 218
    when i block this code it shows proper output with check mark on print detail.
    below is the code:
    Integer, Body (3) - OnPreSection()
    CurrReport.SHOWOUTPUT(OneEntryRecord AND (ControlAccountName = ''));

    IF (PrintDetail = TRUE) THEN BEGIN
    GLEntry.RESET;
    GLEntry.SETRANGE("Entry No.",GLEntry."Entry No.");
    GLEntry.SETFILTER("Document No.",'%1','JV/*');
    IF (GLEntry."Source Code" = 'JOURNALV') OR (GLEntry."Source Code" = '') THEN
    REPEAT
    IF GLEntry.FINDSET THEN
    CurrReport.SHOWOUTPUT(TRUE);
    UNTIL GLEntry.NEXT=0;
    END;
    Thanks & Regards,
    Stivan D'souza
  • Stivan_dsouza21Stivan_dsouza21 Member Posts: 218
    Report ID is 16563
    Client is using Nav 4.0
    Thanks & Regards,
    Stivan D'souza
  • mohana_cse06mohana_cse06 Member Posts: 5,504
    IF (PrintDetail = TRUE) THEN BEGIN
    GLEntry.RESET;
    GLEntry.SETRANGE("Entry No.",GLEntry."Entry No.");
    GLEntry.SETFILTER("Document No.",'%1','JV/*');
    IF (GLEntry."Source Code" = 'JOURNALV') OR (GLEntry."Source Code" = '') THEN
    REPEAT
    IF GLEntry.FINDSET THEN
    CurrReport.SHOWOUTPUT(TRUE);
    UNTIL GLEntry.NEXT=0;
    END;

    I feel it is a customized code and wrong..
    You need to investigate more on the requirement and correct the code.
  • Stivan_dsouza21Stivan_dsouza21 Member Posts: 218
    this code was written in case of JV, JV Details were required.
    Thanks & Regards,
    Stivan D'souza
  • ssinglassingla Member Posts: 2,973
    There can be more problems but this surely is wrong:
    IF (PrintDetail = TRUE) THEN BEGIN
    GLEntry.RESET;
    GLEntry.SETRANGE("Entry No.",GLEntry."Entry No.");
    CA Sandeep Singla
    http://ssdynamics.co.in
  • mohana_cse06mohana_cse06 Member Posts: 5,504
    when i block this code it shows proper output with check mark on print detail.

    Code is customized one..which is causing the issue..which should rectified..
  • Stivan_dsouza21Stivan_dsouza21 Member Posts: 218
    can someone help me out to correct this code.......
    Thanks & Regards,
    Stivan D'souza
  • GRIZZLYGRIZZLY Member Posts: 127
    I think it's impossible to give you recommendation, because we don't know your needs...
    We don't know what parameters you have on the request form, what dataitems do you have and how they're linked.
    If you provide whole object in TXT format maybe we can suggest you smthg...
    Sincerely yours, GRIZZLY
    Follow my blog at http://x-dynamics.blogspot.com
  • David_SingletonDavid_Singleton Member Posts: 5,479
    IF (PrintDetail = TRUE) THEN BEGIN
    GLEntry.RESET;
    GLEntry.SETRANGE("Entry No.",GLEntry."Entry No.");
    GLEntry.SETFILTER("Document No.",'%1','JV/*');
    IF (GLEntry."Source Code" = 'JOURNALV') OR (GLEntry."Source Code" = '') THEN
    REPEAT
    IF GLEntry.FINDSET THEN
    CurrReport.SHOWOUTPUT(TRUE);
    UNTIL GLEntry.NEXT=0;
    END;

    I feel it is a customized code and wrong..

    and written by someone that should not be writing C/AL code. :whistle:
    David Singleton
  • Stivan_dsouza21Stivan_dsouza21 Member Posts: 218
    OnPreReport=BEGIN
    CompInfo.GET;
    Respfilt:="G/L Account".GETFILTER("G/L Account"."Global Dimension 2 Filter"); //srinivas
    GLNo:="G/L Account".GETFILTER("G/L Account"."No.");
    datefilt:=FORMAT("G/L Account".GETFILTER("G/L Account"."Date Filter"));
    divifilt:="G/L Account".GETFILTER("G/L Account"."Global Dimension 1 Filter");

    IF PrintToExcel THEN
    MakeExcelInfo;
    END;

    OnPostReport=BEGIN
    IF PrintToExcel THEN
    CreateExcelbook;
    END;

    DATAITEMS
    {
    { PROPERTIES
    {
    DataItemTable=Table15;
    DataItemTableView=SORTING(No.)
    ORDER(Ascending)
    WHERE(Account Type=FILTER(Posting));
    NewPagePerGroup=No;
    OnPreDataItem=BEGIN
    CurrReport.CREATETOTALS(TransDebits,TransCredits,"G/L Entry"."Debit Amount","G/L Entry"."Credit Amount",Cess);
    IF LocationCode <> '' THEN
    LocationFilter := 'Location Code: ' + LocationCode;
    END;

    ReqFilterFields=No.,Date Filter,Global Dimension 1 Filter,Global Dimension 2 Filter;
    GroupTotalFields=No.;
    }
    SECTIONS
    {
    { PROPERTIES
    {
    SectionType=Header;
    PrintOnEveryPage=Yes;
    SectionWidth=24450;
    SectionHeight=2125;
    OnPreSection=BEGIN
    IF (CurrReport.PAGENO = 1) OR (AccountChanged) THEN
    CurrReport.SHOWOUTPUT := FALSE
    ELSE
    CurrReport.SHOWOUTPUT := TRUE;
    END;

    }

    { PROPERTIES
    {
    SectionType=Header;
    PrintOnEveryPage=Yes;
    SectionWidth=24450;
    SectionHeight=846;
    OnPreSection=BEGIN
    IF (CurrReport.PAGENO = 1) OR (AccountChanged) THEN
    CurrReport.SHOWOUTPUT := FALSE
    ELSE
    CurrReport.SHOWOUTPUT := TRUE;
    END;

    }
    { PROPERTIES
    {
    SectionType=GroupHeader;
    SectionWidth=24450;
    SectionHeight=4814;
    OnPreSection=BEGIN
    CurrReport.SHOWOUTPUT :=
    (CurrReport.TOTALSCAUSEDBY = FIELDNO("No.")) AND ((CurrReport.PAGENO = 1) OR (AccountChanged));

    IF (AccountChanged) AND (CurrReport.SHOWOUTPUT) THEN BEGIN
    //CurrrEport.NewPage;
    AccountChanged := FALSE;
    END;
    END;

    }
    { PROPERTIES
    {
    SectionType=GroupHeader;
    SectionWidth=24450;
    SectionHeight=796;
    OnPreSection=BEGIN
    Opbln := 'Opening Balance As On'+ ' '+FORMAT(GETRANGEMIN("Date Filter"));
    CurrReport.SHOWOUTPUT :=
    CurrReport.TOTALSCAUSEDBY = FIELDNO("No.");
    IF CurrReport.TOTALSCAUSEDBY = FIELDNO("No.") THEN BEGIN
    OpeningDRBal := 0;
    OpeningCRBal := 0;

    GLEntry2.RESET;
    GLEntry2.SETCURRENTKEY("G/L Account No.","Business Unit Code","Global Dimension 1 Code",
    "Global Dimension 2 Code","Close Income Statement Dim. ID","Posting Date","Location Code");
    GLEntry2.SETRANGE("G/L Account No.","No.");

    //ebt 050111
    GLEntry2.SETFILTER("Posting Date", '%1..%2', 0D,CLOSINGDATE(GETRANGEMIN("Date Filter")-1));


    //GLEntry2.SETFILTER("Posting Date", '%1..%2', 0D,NORMALDATE(GETRANGEMIN("Date Filter"))-1);

    IF "G/L Account".GETFILTER("Global Dimension 1 Filter") <> '' THEN
    GLEntry2.SETFILTER("Global Dimension 1 Code", "Global Dimension 1 Filter");

    IF "G/L Account".GETFILTER("Global Dimension 2 Filter") <> '' THEN
    GLEntry2.SETFILTER("Global Dimension 2 Code",Respfilt); // respfilt insted of "Global Dimension 2 Filter" srinivas

    IF LocationCode <> '' THEN
    GLEntry2.SETFILTER("Location Code",LocationCode);

    GLEntry2.CALCSUMS(Amount);
    IF GLEntry2.Amount > 0 THEN
    OpeningDRBal := GLEntry2.Amount;
    IF GLEntry2.Amount < 0 THEN
    OpeningCRBal := -GLEntry2.Amount;

    DrCrTextBalance:='';
    IF OpeningDRBal - OpeningCRBal > 0 THEN
    DrCrTextBalance := 'Dr';
    IF OpeningDRBal - OpeningCRBal < 0 THEN
    DrCrTextBalance := 'Cr';

    END;

    IF PrintToExcel THEN
    MakeExcelDatagroupHeader;
    END;

    }
    { PROPERTIES
    {
    SectionType=GroupFooter;
    SectionWidth=24450;
    SectionHeight=689;
    OnPreSection=BEGIN
    CurrReport.SHOWOUTPUT := CurrReport.TOTALSCAUSEDBY = FIELDNO("No.");
    IF CurrReport.SHOWOUTPUT THEN BEGIN
    DrCrTextBalance := '';
    IF OpeningDRBal - OpeningCRBal + TransDebits - TransCredits > 0 THEN
    DrCrTextBalance := 'Dr';
    IF OpeningDRBal - OpeningCRBal + TransDebits - TransCredits < 0 THEN
    DrCrTextBalance := 'Cr';
    AccountChanged := TRUE;
    IF PrintToExcel THEN
    MakeExcelDataFooter;
    END;
    END;

    }
    { PROPERTIES
    {
    DataItemIndent=1;
    DataItemTable=Table17;
    DataItemTableView=SORTING(Posting Date,Document No.)
    ORDER(Ascending)
    WHERE(Reversed=FILTER(No));
    OnPreDataItem=BEGIN

    IF LocationCode <> '' THEN
    SETFILTER("Location Code",LocationCode);
    GLEntry.RESET;
    GLEntry.SETCURRENTKEY("Transaction No.");
    END;

    OnAfterGetRecord=BEGIN
    CLEAR(totalnar);
    CLEAR(totalcomment);
    CLEAR(totallinenar);
    CLEAR(VendInvNo);
    ControlAccountName :='';
    GLEntry.SETRANGE("Transaction No.","Transaction No.");
    GLEntry.SETFILTER("Entry No.",'<>%1',"Entry No.");
    IF GLEntry.FINDFIRST THEN;

    DrCrText := '';
    ControlAccount := FALSE;
    OneEntryRecord := TRUE;
    IF GLEntry.COUNT>1 THEN
    OneEntryRecord := FALSE;

    GLAcc.GET("G/L Account No.");
    ControlAccount := FindControlAccount("Source Type","Entry No.","Source No.","G/L Account No.");
    IF ControlAccount
    THEN
    ControlAccountName := Daybook.FindGLAccName("Source Type","Entry No.","Source No.","G/L Account No.");
    // neeraj
    IF "Source Type"="Source Type"::" " THEN BEGIN
    recGLEntry.RESET;
    recGLEntry.SETCURRENTKEY("Document No.","Posting Date",Amount);
    recGLEntry.SETRANGE("Document No.","Document No.");
    recGLEntry.SETRANGE("Source Type",recGLEntry."Source Type"::"Bank Account");
    IF recGLEntry.FIND('-') THEN BEGIN
    recBank.GET(recGLEntry."Source No.");
    ControlAccountName :=recBank.Name
    END;
    END;
    // neeraj

    //EBt STIVAN --(28/09/2011)-- To capture Cess Amount when Location Code is Selected----START
    IF LocationCode <> '' THEN BEGIN
    CLEAR(Cess);
    PostedStrOrdrDetails.RESET;
    PostedStrOrdrDetails.SETRANGE(PostedStrOrdrDetails.Type,PostedStrOrdrDetails.Type::Sale);
    PostedStrOrdrDetails.SETRANGE(PostedStrOrdrDetails."Document Type",PostedStrOrdrDetails."Document Type"::Invoice);
    PostedStrOrdrDetails.SETRANGE(PostedStrOrdrDetails."Invoice No.",GLEntry."Document No.");
    PostedStrOrdrDetails.SETRANGE(PostedStrOrdrDetails."Tax/Charge Type",PostedStrOrdrDetails."Tax/Charge Type"::Charges);
    PostedStrOrdrDetails.SETRANGE(PostedStrOrdrDetails."Tax/Charge Group",'Cess');
    IF PostedStrOrdrDetails.FINDFIRST THEN
    REPEAT
    Cess := Cess + PostedStrOrdrDetails.Amount;
    UNTIL PostedStrOrdrDetails.NEXT = 0;
    END;
    //EBt STIVAN --(28/09/2011)-- To capture Cess Amount when Location Code is Selected
    END


    IF Amount>0 THEN
    TransDebits := TransDebits + Amount;
    IF Amount<0 THEN
    TransCredits := TransCredits - Amount;

    SourceDesc := '';
    IF "Source Code" <> '' THEN BEGIN
    SourceCode.GET("Source Code");
    SourceDesc := SourceCode.Description;
    END;

    PrintNarration := TRUE;

    IF "G/L Entry"."Source Code" = 'PURCHASES' THEN
    BEGIN
    PurchInvHeader.RESET;
    PurchInvHeader.SETRANGE(PurchInvHeader."No.","G/L Entry"."Document No.");
    IF PurchInvHeader.FINDFIRST THEN
    VendInvNo := PurchInvHeader."Vendor Invoice No.";
    END;


    //EBBK01 Start
    //IF OpeningDRBal - OpeningCRBal + TransDebits - TransCredits = 0 THEN
    // CurrReport.SKIP;


    IF ABS(OpeningDRBal) - ABS(OpeningCRBal) + ABS(TransDebits) - ABS(TransCredits) = 0 THEN BEGIN


    // CurrReport.SKIP; //EBBK01 Start

    END;
    //EBBK01 End
    IF LedEntryDim.GET(17,"Entry No.",'D006') THEN;
    END;

    ReqFilterFields=Document No.;
    TotalFields=Debit Amount,Credit Amount;
    GroupTotalFields=Document No.,Entry No.;
    DataItemLink=G/L Account No.=FIELD(No.),
    Posting Date=FIELD(Date Filter),
    Global Dimension 1 Code=FIELD(Global Dimension 1 Filter),
    Global Dimension 2 Code=FIELD(Global Dimension 2 Filter);
    }
    SECTIONS
    {
    { PROPERTIES
    {
    SectionType=GroupHeader;
    SectionWidth=24450;
    SectionHeight=0;
    OnPreSection=BEGIN
    CurrReport.SHOWOUTPUT:=CurrReport.TOTALSCAUSEDBY="G/L Entry".FIELDNO("G/L Entry"."Document No.");

    //CurrReport.SHOWOUTPUT(FALSE);
    END;

    }
    CONTROLS
    {
    }
    }
    { PROPERTIES
    {
    SectionType=Body;
    SectionWidth=24450;
    SectionHeight=423;
    OnPreSection=BEGIN
    CurrReport.SHOWOUTPUT(OneEntryRecord AND (ControlAccountName <> ''));
    AccountName := '';
    IF CurrReport.SHOWOUTPUT THEN BEGIN
    //AccountName := Daybook.FindGLAccName(GLEntry."Source Type",GLEntry."Entry No.",GLEntry."Source No.",GLEntry."G/L Account

    No.");
    DrCrTextBalance := '';
    IF OpeningDRBal - OpeningCRBal + TransDebits - TransCredits > 0 THEN
    DrCrTextBalance := 'Dr';
    IF OpeningDRBal - OpeningCRBal + TransDebits - TransCredits < 0 THEN
    DrCrTextBalance := 'Cr';
    CurrReport.SHOWOUTPUT(FALSE);
    { IF PrintToExcel THEN
    MakeExcelDataBody; } //Paramita
    END;
    END;

    }
    { PROPERTIES
    {
    SectionType=Body;
    SectionWidth=24450;
    SectionHeight=423;
    OnPreSection=BEGIN
    CurrReport.SHOWOUTPUT(OneEntryRecord AND (ControlAccountName = ''));
    AccountName := '';
    IF CurrReport.SHOWOUTPUT THEN BEGIN
    AccountName := Daybook.FindGLAccName(GLEntry."Source Type",GLEntry."Entry No.",GLEntry."Source No.",GLEntry."G/L Account No.");
    DrCrTextBalance := '';
    IF OpeningDRBal - OpeningCRBal + TransDebits - TransCredits > 0 THEN
    DrCrTextBalance := 'Dr';
    IF OpeningDRBal - OpeningCRBal + TransDebits - TransCredits < 0 THEN
    DrCrTextBalance := 'Cr';
    CurrReport.SHOWOUTPUT(FALSE);
    { IF PrintToExcel THEN
    MakeExcelDataBody5; }
    END;
    END;

    }
    { PROPERTIES
    {
    SectionType=GroupFooter;
    SectionWidth=24450;
    SectionHeight=1852;
    OnPreSection=BEGIN


    CurrReport.SHOWOUTPUT:=CurrReport.TOTALSCAUSEDBY="G/L Entry".FIELDNO("G/L Entry"."Document No.");
    // EBT Rakshita
    IF CurrReport.SHOWOUTPUT THEN BEGIN
    DrCrTextBalance := '';
    IF OpeningDRBal - OpeningCRBal + TransDebits - TransCredits > 0 THEN
    DrCrTextBalance := 'Dr';
    IF OpeningDRBal - OpeningCRBal + TransDebits - TransCredits < 0 THEN
    DrCrTextBalance := 'Cr';
    AccountChanged := TRUE;
    IF PrintToExcel THEN
    MakeExcelDataGroupFooter;
    END;

    {
    // EBT Rakshita
    IF OpeningDRBal - OpeningCRBal + TransDebits - TransCredits = 0 THEN
    CurrReport.SHOWOUTPUT:=FALSE;
    }

    // EBT STIVAN -(06/09/2011)- To capture Vendor Name
    START
    IF PrintDetail THEN
    IF CurrReport.SHOWOUTPUT THEN BEGIN
    IF "Source Type" = "Source Type":: Vendor THEN BEGIN
    RecVendor.RESET;
    RecVendor.SETFILTER(RecVendor."No.","G/L Entry"."Source No.");
    IF RecVendor.FINDFIRST THEN
    VendorName := RecVendor.Name
    END ELSE
    VendorName := '';
    END;
    // EBT STIVAN -(06/09/2011)- To capture Vendor Name
    END


    //EBT STIVAN ---(101011)---for Multiple Lines to printed in Case of JV---START
    IF (PrintDetail = TRUE) THEN BEGIN
    GLEntry.SETRANGE(GLEntry."Entry No.",GLEntry."Entry No.");
    GLEntry.SETFILTER("Document No.",'%1','JV/*');
    IF GLEntry.FINDFIRST THEN REPEAT
    "G/L Entry"."Global Dimension 2 Code" := '';
    UNTIL GLEntry.NEXT = 0;
    END;
    //EBT STIVAN ---(101011)---for Multiple Lines to printed in Case of JV---START
    END;

    }
    { PROPERTIES
    {
    SectionType=TransFooter;
    SectionWidth=24450;
    SectionHeight=50;
    OnPostSection=BEGIN
    IF OpeningDRBal - OpeningCRBal + TransDebits - TransCredits < 0 THEN
    CurrReport.SHOWOUTPUT(FALSE);
    END;

    }
    CONTROLS
    {
    { 1500071;Shape ;0 ;0 ;23700;50 ;ShapeStyle=HorzLine }
    }
    }
    }
    }
    { PROPERTIES
    {
    DataItemIndent=2;
    DataItemTable=Table2000000026;
    DataItemTableView=SORTING(Number)
    WHERE(Number=CONST(1));
    OnPreDataItem=BEGIN
    SETRANGE(Number,1,GLEntry.COUNT);
    FirstRecord := TRUE;

    IF (PrintDetail = FALSE) THEN BEGIN //EBT STIVAN for Multiple Lines to printed in Case of JV
    IF GLEntry.COUNT = 1 THEN
    CurrReport.BREAK;
    END; //EBT STIVAN for Multiple Lines to printed in Case of JV
    END;

    OnAfterGetRecord=BEGIN
    DrCrText := '';
    IF Number>1 THEN BEGIN
    FirstRecord := FALSE;
    GLEntry.NEXT;
    END;
    END;

    }
    SECTIONS
    {
    { PROPERTIES
    {
    SectionType=Body;
    SectionWidth=24450;
    SectionHeight=451;
    OnPreSection=BEGIN
    CurrReport.SHOWOUTPUT(FirstRecord AND (ControlAccountName <> ''));
    IF CurrReport.SHOWOUTPUT THEN BEGIN
    DetailAmt := 0;
    IF PrintDetail THEN
    DetailAmt := GLEntry.Amount;
    IF DetailAmt > 0 THEN
    DrCrText := 'Dr';
    IF DetailAmt < 0 THEN
    DrCrText := 'Cr';

    {
    IF NOT PrintDetail THEN
    AccountName:=Text16500
    ELSE
    AccountName := Daybook.FindGLAccName(GLEntry."Source Type",GLEntry."Entry No.",GLEntry."Source No.",GLEntry."G/L Account No.")
    ;
    }
    DrCrTextBalance := '';
    IF OpeningDRBal - OpeningCRBal + TransDebits - TransCredits > 0 THEN
    DrCrTextBalance := 'Dr';
    IF OpeningDRBal - OpeningCRBal + TransDebits - TransCredits < 0 THEN
    DrCrTextBalance := 'Cr';
    CurrReport.SHOWOUTPUT(FALSE);
    { IF PrintToExcel THEN
    MakeExcelDataBody1;}

    END;
    END;

    }
    { PROPERTIES
    {
    SectionType=Body;
    SectionWidth=24450;
    SectionHeight=432;
    OnPreSection=BEGIN
    CurrReport.SHOWOUTPUT(FirstRecord AND (ControlAccountName = '' ));
    IF CurrReport.SHOWOUTPUT THEN BEGIN
    DetailAmt := 0;
    IF PrintDetail THEN
    DetailAmt := GLEntry.Amount;

    IF DetailAmt > 0 THEN
    DrCrText := 'Dr';
    IF DetailAmt < 0 THEN
    DrCrText := 'Cr';

    IF NOT PrintDetail THEN
    AccountName:=Text16500
    ELSE
    AccountName := Daybook.FindGLAccName(GLEntry."Source Type",GLEntry."Entry No.",GLEntry."Source No.",GLEntry."G/L Account No.")
    ;

    DrCrTextBalance := '';
    IF OpeningDRBal - OpeningCRBal + TransDebits - TransCredits > 0 THEN
    DrCrTextBalance := 'Dr';
    IF OpeningDRBal - OpeningCRBal + TransDebits - TransCredits < 0 THEN
    DrCrTextBalance := 'Cr';
    CurrReport.SHOWOUTPUT(FALSE);

    { IF PrintToExcel THEN
    MakeExcelDataBody2; }

    END;
    END;

    }
    { PROPERTIES
    {
    SectionType=Body;
    SectionWidth=24450;
    SectionHeight=432;
    OnPreSection=BEGIN
    //EBT STIVAN ---(101011)---for Multiple Lines to printed in Case of JV---START
    CurrReport.SHOWOUTPUT(OneEntryRecord AND (ControlAccountName = ''));

    IF (PrintDetail = TRUE) THEN BEGIN
    GLEntry.RESET;
    GLEntry.SETRANGE("Entry No.",GLEntry."Entry No.");
    GLEntry.SETFILTER("Document No.",'%1','JV/*');
    IF (GLEntry."Source Code" = 'JOURNALV') OR (GLEntry."Source Code" = '') THEN
    REPEAT
    IF GLEntry.FINDSET THEN
    CurrReport.SHOWOUTPUT(TRUE);
    UNTIL GLEntry.NEXT=0;
    END;
    //EBT STIVAN ---(101011)---for Multiple Lines to printed in Case of JV---END



    //CurrReport.SHOWOUTPUT(PrintDetail AND (NOT FirstRecord));
    IF CurrReport.SHOWOUTPUT THEN BEGIN
    IF GLEntry.Amount > 0 THEN
    DrCrText := 'Dr';
    IF GLEntry.Amount < 0 THEN
    DrCrText := 'Cr';

    AccountName := Daybook.FindGLAccName(GLEntry."Source Type",GLEntry."Entry No.",GLEntry."Source No.",GLEntry."G/L Account No.");
    IF PrintToExcel THEN
    MakeExcelDataBody3;

    END;
    END;

    }
    { PROPERTIES
    {
    SectionType=Body;
    SectionWidth=24450;
    SectionHeight=0;
    }
    CONTROLS
    {
    }
    }
    }
    }
    { PROPERTIES
    {
    DataItemIndent=2;
    DataItemTable=Table16548;
    DataItemTableView=SORTING(Entry No.,Transaction No.,Line No.)
    ORDER(Ascending);
    OnPreDataItem=BEGIN
    IF NOT PrintLineNarration THEN
    CurrReport.BREAK;
    END;

    DataItemLink=Entry No.=FIELD(Entry No.);
    }
    SECTIONS
    {
    { PROPERTIES
    {
    SectionType=Body;
    SectionWidth=24450;
    SectionHeight=423;
    OnPreSection=BEGIN
    CurrReport.SHOWOUTPUT(Narration <> '');
    totallinenar:=totallinenar+Narration;
    IF (Narration <> '') AND PrintToExcel THEN
    MakeExcelDataBody4;
    END;

    }
    { PROPERTIES
    {
    DataItemIndent=2;
    DataItemTable=Table16548;
    DataItemTableView=SORTING(Entry No.,Transaction No.,Line No.)
    WHERE(Entry No.=FILTER(0));
    DataItemVarName=PostedNarration1;
    OnPreDataItem=BEGIN
    IF NOT PrintVchNarration THEN
    CurrReport.BREAK;

    GLEntry2.RESET;
    GLEntry2.SETCURRENTKEY("Posting Date","Source Code","Transaction No.");
    GLEntry2.SETRANGE("Posting Date","G/L Entry"."Posting Date");
    GLEntry2.SETRANGE("Source Code","G/L Entry"."Source Code");
    GLEntry2.SETRANGE("Transaction No.","G/L Entry"."Transaction No.");
    GLEntry2.FINDLAST;
    IF NOT (GLEntry2."Entry No." <> "G/L Entry"."Entry No.") THEN
    // CurrReport.BREAK;
    END;

    DataItemLink=Document No.=FIELD(Document No.);
    }
    SECTIONS
    {
    { PROPERTIES
    {
    SectionType=Body;
    SectionWidth=24450;
    SectionHeight=0;
    OnPreSection=BEGIN
    CurrReport.SHOWOUTPUT(Narration <> '');
    IF STRLEN(totalnar)<200 THEN
    totalnar:=totalnar+Narration;
    IF PrintNarration THEN BEGIN
    CurrReport.SHOWOUTPUT(TRUE);
    IF (Narration <> '') AND PrintToExcel THEN
    MakeExcelDataBody6;
    END
    ELSE
    CurrReport.SHOWOUTPUT(FALSE);

    PrintNarration := FALSE;
    END;

    }
    CONTROLS
    {
    }
    }
    }
    }
    { PROPERTIES
    {
    DataItemIndent=2;
    DataItemTable=Table43;
    DataItemTableView=SORTING(Document Type,No.,Line No.);
    OnAfterGetRecord=BEGIN
    IF NOT ("G/L Entry"."Source Code" = 'PURCHASES') THEN
    CurrReport.SKIP;
    END;

    DataItemLink=No.=FIELD(Document No.);
    }
    SECTIONS
    {
    { PROPERTIES
    {
    SectionType=Body;
    SectionWidth=24450;
    SectionHeight=423;
    OnPreSection=BEGIN
    CurrReport.SHOWOUTPUT(Comment <> '');
    totalcomment:=totalcomment+Comment;
    IF PrintLineNarration THEN BEGIN
    CurrReport.SHOWOUTPUT(TRUE);
    IF (Comment <> '') AND PrintToExcel THEN
    MakeExcelDataBody7;
    END ELSE
    CurrReport.SHOWOUTPUT(FALSE);
    END;

    }
    }
    REQUESTFORM
    {
    PROPERTIES
    {
    Width=7370;
    Height=2640;
    }
    CODE
    {
    VAR
    CompInfo@1500022 : Record 79;
    GLAcc@1500001 : Record 15;
    GLEntry@1500000 : Record 17;
    GLEntry2@1500024 : Record 17;
    Daybook@1500009 : Report 16562;
    SourceCode@1500013 : Record 230;
    OpeningDRBal@1500003 : Decimal;
    OpeningCRBal@1500004 : Decimal;
    TransDebits@1500016 : Decimal;
    TransCredits@1500017 : Decimal;
    OneEntryRecord@1500002 : Boolean;
    FirstRecord@1500010 : Boolean;
    PrintDetail@1500006 : Boolean;
    PrintLineNarration@1500007 : Boolean;
    PrintVchNarration@1500008 : Boolean;
    DetailAmt@1500005 : Decimal;
    AccountName@1500011 : Text[100];
    ControlAccountName@1500023 : Text[100];
    ControlAccount@1500012 : Boolean;
    SourceDesc@1500014 : Text[50];
    DrCrText@1500021 : Text[2];
    DrCrTextBalance@1500019 : Text[2];
    LocationCode@1500018 : Code[20];
    LocationFilter@1500020 : Text[100];
    Text16500@1500015 : TextConst 'ENU=As per Details';
    AccountChanged@1500025 : Boolean;
    PrintNarration@1000000000 : Boolean;
    ExcelBuf@1000000001 : TEMPORARY Record 370;
    PrintToExcel@1000000002 : Boolean;
    Text000@1000000009 : TextConst 'ENU=Data';
    Text001@1000000008 : TextConst 'ENU=Cash Book';
    Text0004@1000000007 : TextConst 'ENU=Company Name';
    Text0005@1000000006 : TextConst 'ENU=Report No.';
    Text0006@1000000005 : TextConst 'ENU=Report Name';
    Text0007@1000000004 : TextConst 'ENU=USER Id';
    Text0008@1000000003 : TextConst 'ENU=Date';
    Opbln@1000000010 : Text[50];
    VendInvNo@1000000011 : Code[20];
    PurchInvHeader@1000000012 : Record 122;
    recGLEntry@1000000013 : Record 17;
    recBank@1000000014 : Record 270;
    Respfilt@1000000015 : Code[20];
    LedEntryDim@1000000016 : Record 355;
    GLNo@1000000017 : Code[10];
    datefilt@1000000018 : Text[30];
    divifilt@1000000019 : Code[10];
    totalnar@1000000020 : Text[500];
    totallinenar@1000000021 : Text[400];
    totalcomment@1000000022 : Text[400];
    recPurchaseCommentLine@1000000023 : Record 43;
    recSalesInvoiceHeader@1000000024 : Record 112;
    RecVendor@1000000025 : Record 23;
    VendorName@1000000026 : Text[100];
    Cess@1000000027 : Decimal;
    PostedStrOrdrDetails@1000000028 : Record 13798;

    PROCEDURE FindControlAccount@1500000("Source Type"@1500000 : ' ,Customer,Vendor,Bank Account,Fixed Asset';"Entry No."@1500001 : Integer;"Source

    No."@1500002 : Code[20];"G/L Account No."@1500003 : Code[20]) : Boolean;
    VAR
    VendLedgEntry@1500005 : Record 25;
    CustLedgEntry@1500006 : Record 21;
    BankLedgEntry@1500010 : Record 271;
    FALedgEntry@1500012 : Record 5601;
    SubLedgerFound@1500004 : Boolean;
    BEGIN
    IF "Source Type" = "Source Type"::Vendor THEN BEGIN
    IF VendLedgEntry.GET("Entry No.") THEN
    SubLedgerFound := TRUE;
    END;
    IF "Source Type" = "Source Type"::Customer THEN BEGIN
    IF CustLedgEntry.GET("Entry No.") THEN
    SubLedgerFound := TRUE;
    END;
    IF "Source Type" = "Source Type"::"Bank Account" THEN
    IF BankLedgEntry.GET("Entry No.") THEN BEGIN
    SubLedgerFound := TRUE;
    END;
    IF "Source Type" = "Source Type"::"Fixed Asset" THEN BEGIN
    FALedgEntry.RESET;
    FALedgEntry.SETCURRENTKEY("G/L Entry No.");
    FALedgEntry.SETRANGE("G/L Entry No.","Entry No.");
    IF FALedgEntry.FINDFIRST THEN

    SubLedgerFound := TRUE;
    END;
    EXIT(SubLedgerFound);
    END;

    PROCEDURE MakeExcelInfo@1000000000();
    BEGIN
    ExcelBuf.SetUseInfoSheed;
    ExcelBuf.AddInfoColumn(FORMAT(Text0004),FALSE,'',TRUE,FALSE,FALSE,'');
    ExcelBuf.AddInfoColumn(COMPANYNAME,FALSE,'',FALSE,FALSE,FALSE,'');
    ExcelBuf.NewRow;
    ExcelBuf.AddInfoColumn(FORMAT(Text0006),FALSE,'',TRUE,FALSE,FALSE,'');
    ExcelBuf.AddInfoColumn('Ledger',FALSE,'',FALSE,FALSE,FALSE,'');
    ExcelBuf.NewRow;
    ExcelBuf.AddInfoColumn(FORMAT(Text0005),FALSE,'',TRUE,FALSE,FALSE,'');
    ExcelBuf.AddInfoColumn(REPORT::"G/L Ledger",FALSE,'',FALSE,FALSE,FALSE,'');
    ExcelBuf.NewRow;
    ExcelBuf.AddInfoColumn(FORMAT(Text0007),FALSE,'',TRUE,FALSE,FALSE,'');
    ExcelBuf.AddInfoColumn(USERID,FALSE,'',FALSE,FALSE,FALSE,'');
    ExcelBuf.NewRow;
    ExcelBuf.AddInfoColumn(FORMAT(Text0008),FALSE,'',TRUE,FALSE,FALSE,'');
    ExcelBuf.AddInfoColumn(TODAY,FALSE,'',FALSE,FALSE,FALSE,'');
    ExcelBuf.ClearNewRow;
    MakeExcelDataHeader;
    END;

    PROCEDURE CreateExcelbook@1000000001();
    BEGIN
    ExcelBuf.CreateBook;
    ExcelBuf.CreateSheet(Text000,Text001,COMPANYNAME,USERID);
    ExcelBuf.GiveUserControl;
    ERROR('');
    END;

    PROCEDURE MakeExcelDataHeader@1000000002();
    BEGIN
    ExcelBuf.NewRow;
    ExcelBuf.AddColumn(CompInfo.Name,FALSE,'',TRUE,FALSE,FALSE,'@');
    ExcelBuf.NewRow;
    ExcelBuf.AddColumn('Account No. :' +' '+ GLNo,FALSE,'',TRUE,FALSE,FALSE,'@');
    ExcelBuf.NewRow;
    ExcelBuf.AddColumn('Date :' +' '+ datefilt,FALSE,'',TRUE,FALSE,FALSE,'@');
    ExcelBuf.NewRow;
    ExcelBuf.AddColumn('Division :' +' '+ divifilt,FALSE,'',TRUE,FALSE,FALSE,'@');
    ExcelBuf.NewRow;
    ExcelBuf.AddColumn('Resp.Center :' +' '+ Respfilt,FALSE,'',TRUE,FALSE,FALSE,'@');

    ExcelBuf.NewRow;
    ExcelBuf.AddColumn(LocationCode,FALSE,'',TRUE,FALSE,FALSE,'@'); //Rakshita
    ExcelBuf.NewRow;
    ExcelBuf.AddColumn('Posting Date',FALSE,'',TRUE,FALSE,TRUE,'@');
    ExcelBuf.AddColumn('Document No.',FALSE,'',TRUE,FALSE,TRUE,'@');
    ExcelBuf.AddColumn('Vendor Invoice No.',FALSE,'',TRUE,FALSE,TRUE,'@');
    ExcelBuf.AddColumn('Account Name',FALSE,'',TRUE,FALSE,TRUE,'@');
    ExcelBuf.AddColumn('Amount',FALSE,'',TRUE,FALSE,TRUE,'@');
    ExcelBuf.AddColumn('Location Code',FALSE,'',TRUE,FALSE,TRUE,'@');
    ExcelBuf.AddColumn('Location Name',FALSE,'',TRUE,FALSE,TRUE,'@');
    ExcelBuf.AddColumn('Voucher Type',FALSE,'',TRUE,FALSE,TRUE,'@');
    ExcelBuf.AddColumn('Debit Amount',FALSE,'',TRUE,FALSE,TRUE,'@');
    ExcelBuf.AddColumn('Credit Amount',FALSE,'',TRUE,FALSE,TRUE,'@');
    ExcelBuf.AddColumn('Balance',FALSE,'',TRUE,FALSE,TRUE,'@');
    ExcelBuf.AddColumn('Narration',FALSE,'',TRUE,FALSE,TRUE,'@');
    ExcelBuf.AddColumn('Comment',FALSE,'',TRUE,FALSE,TRUE,'@');
    END;

    PROCEDURE MakeExcelDatagroupHeader@1000000003();
    BEGIN
    ExcelBuf.NewRow;
    ExcelBuf.AddColumn('',FALSE,'',TRUE,FALSE,FALSE,'');
    ExcelBuf.AddColumn('',FALSE,'',TRUE,FALSE,FALSE,'');
    ExcelBuf.AddColumn(Opbln,FALSE,'',TRUE,FALSE,FALSE,'');
    ExcelBuf.AddColumn('',FALSE,'',TRUE,FALSE,FALSE,'');
    ExcelBuf.AddColumn('',FALSE,'',TRUE,FALSE,FALSE,'');
    ExcelBuf.AddColumn('',FALSE,'',TRUE,FALSE,FALSE,'');
    ExcelBuf.AddColumn('',FALSE,'',TRUE,FALSE,FALSE,'');
    ExcelBuf.AddColumn(OpeningDRBal,FALSE,'',TRUE,FALSE,FALSE,'');
    ExcelBuf.AddColumn(OpeningCRBal,FALSE,'',TRUE,FALSE,FALSE,'');
    ExcelBuf.AddColumn(ABS(OpeningDRBal-OpeningCRBal),FALSE,'',TRUE,FALSE,FALSE,'');
    ExcelBuf.AddColumn(DrCrTextBalance,FALSE,'',FALSE,FALSE,FALSE,'');
    END;

    PROCEDURE MakeExcelDataBody@1000000004();
    BEGIN
    ExcelBuf.NewRow;
    ExcelBuf.AddColumn("G/L Entry"."Posting Date",FALSE,'',FALSE,FALSE,FALSE,'');
    ExcelBuf.AddColumn("G/L Entry"."Document No.",FALSE,'',FALSE,FALSE,FALSE,'');
    ExcelBuf.AddColumn(ControlAccountName,FALSE,'',FALSE,FALSE,FALSE,'');
    ExcelBuf.AddColumn('',FALSE,'',FALSE,FALSE,FALSE,'');
    ExcelBuf.AddColumn('',FALSE,'',FALSE,FALSE,FALSE,'');
    ExcelBuf.AddColumn(LedEntryDim."Dimension Value Code",FALSE,'',FALSE,FALSE,FALSE,'');
    ExcelBuf.AddColumn(SourceDesc,FALSE,'',FALSE,FALSE,FALSE,'');
    ExcelBuf.AddColumn("G/L Entry"."Debit Amount",FALSE,'',FALSE,FALSE,FALSE,'');
    ExcelBuf.AddColumn("G/L Entry"."Credit Amount"+Cess,FALSE,'',FALSE,FALSE,FALSE,'');
    ExcelBuf.AddColumn(ABS(OpeningDRBal-OpeningCRBal+TransDebits-TransCredits-Cess),FALSE,'',FALSE,FALSE,FALSE,'');
    ExcelBuf.AddColumn(DrCrTextBalance,FALSE,'',FALSE,FALSE,FALSE,'');
    ExcelBuf.NewRow;
    ExcelBuf.AddColumn('',FALSE,'',FALSE,FALSE,FALSE,'');
    ExcelBuf.AddColumn('',FALSE,'',FALSE,FALSE,FALSE,'');
    ExcelBuf.AddColumn(AccountName,FALSE,'',FALSE,FALSE,FALSE,'');
    END;

    PROCEDURE MakeExcelDataBody5@1000000009();
    BEGIN
    ExcelBuf.NewRow;
    ExcelBuf.AddColumn("G/L Entry"."Posting Date",FALSE,'',FALSE,FALSE,FALSE,'');
    ExcelBuf.AddColumn("G/L Entry"."Document No.",FALSE,'',FALSE,FALSE,FALSE,'');
    ExcelBuf.AddColumn(AccountName,FALSE,'',FALSE,FALSE,FALSE,'');
    ExcelBuf.AddColumn('',FALSE,'',FALSE,FALSE,FALSE,'');
    ExcelBuf.AddColumn('',FALSE,'',FALSE,FALSE,FALSE,'');
    ExcelBuf.AddColumn(LedEntryDim."Dimension Value Code",FALSE,'',FALSE,FALSE,FALSE,'');
    ExcelBuf.AddColumn(SourceDesc,FALSE,'',FALSE,FALSE,FALSE,'');
    ExcelBuf.AddColumn("G/L Entry"."Debit Amount",FALSE,'',FALSE,FALSE,FALSE,'');
    ExcelBuf.AddColumn("G/L Entry"."Credit Amount"+Cess,FALSE,'',FALSE,FALSE,FALSE,'');
    ExcelBuf.AddColumn(ABS(OpeningDRBal-OpeningCRBal+TransDebits-TransCredits-Cess),FALSE,'',FALSE,FALSE,FALSE,'');
    ExcelBuf.AddColumn(DrCrTextBalance,FALSE,'',FALSE,FALSE,FALSE,'');
    END;

    PROCEDURE MakeExcelDataBody1@1000000005();
    BEGIN
    ExcelBuf.NewRow;
    ExcelBuf.AddColumn("G/L Entry"."Posting Date",FALSE,'',FALSE,FALSE,FALSE,'');
    ExcelBuf.AddColumn("G/L Entry"."Document No.",FALSE,'',FALSE,FALSE,FALSE,'');
    ExcelBuf.AddColumn(AccountName,FALSE,'',FALSE,FALSE,FALSE,'');
    ExcelBuf.AddColumn(ABS(DetailAmt),FALSE,'',FALSE,FALSE,FALSE,'');
    ExcelBuf.AddColumn(DrCrText,FALSE,'',FALSE,FALSE,FALSE,'');
    ExcelBuf.AddColumn(LedEntryDim."Dimension Value Code",FALSE,'',FALSE,FALSE,FALSE,'');
    ExcelBuf.AddColumn(SourceDesc,FALSE,'',FALSE,FALSE,FALSE,'');
    ExcelBuf.AddColumn("G/L Entry"."Debit Amount",FALSE,'',FALSE,FALSE,FALSE,'');
    ExcelBuf.AddColumn("G/L Entry"."Credit Amount"+Cess,FALSE,'',FALSE,FALSE,FALSE,'');
    ExcelBuf.AddColumn(ABS(OpeningDRBal-OpeningCRBal+TransDebits-TransCredits-Cess),FALSE,'',FALSE,FALSE,FALSE,'');
    ExcelBuf.AddColumn(DrCrTextBalance,FALSE,'',FALSE,FALSE,FALSE,'');
    END;

    PROCEDURE MakeExcelDataBody2@1000000006();
    BEGIN
    ExcelBuf.NewRow;
    ExcelBuf.AddColumn("G/L Entry"."Posting Date",FALSE,'',FALSE,FALSE,FALSE,'');
    ExcelBuf.AddColumn("G/L Entry"."Document No.",FALSE,'',FALSE,FALSE,FALSE,'');
    ExcelBuf.AddColumn(AccountName,FALSE,'',FALSE,FALSE,FALSE,'');
    ExcelBuf.AddColumn(ABS(DetailAmt),FALSE,'',FALSE,FALSE,FALSE,'');
    ExcelBuf.AddColumn(DrCrText,FALSE,'',FALSE,FALSE,FALSE,'');
    ExcelBuf.AddColumn(LedEntryDim."Dimension Value Code",FALSE,'',FALSE,FALSE,FALSE,'');
    ExcelBuf.AddColumn(SourceDesc,FALSE,'',FALSE,FALSE,FALSE,'');
    ExcelBuf.AddColumn("G/L Entry"."Debit Amount",FALSE,'',FALSE,FALSE,FALSE,'');
    ExcelBuf.AddColumn("G/L Entry"."Credit Amount"+Cess,FALSE,'',FALSE,FALSE,FALSE,'');
    ExcelBuf.AddColumn(ABS(OpeningDRBal-OpeningCRBal+TransDebits-TransCredits-Cess),FALSE,'',FALSE,FALSE,FALSE,'');
    ExcelBuf.AddColumn(DrCrTextBalance,FALSE,'',FALSE,FALSE,FALSE,'');
    END;

    PROCEDURE MakeExcelDataBody3@1000000007();
    ExcelBuf.NewRow;
    ExcelBuf.AddColumn("G/L Entry"."Posting Date",FALSE,'',FALSE,FALSE,TRUE,'');
    ExcelBuf.AddColumn("G/L Entry"."Document No.",FALSE,'',FALSE,FALSE,TRUE,'');
    ExcelBuf.AddColumn(VendInvNo,FALSE,'',FALSE,FALSE,TRUE,'');
    ExcelBuf.AddColumn(AccountName,FALSE,'',FALSE,FALSE,TRUE,'');
    ExcelBuf.AddColumn(ABS("G/L Entry".Amount),FALSE,'',FALSE,FALSE,TRUE,'');
    ExcelBuf.AddColumn("G/L Entry"."Global Dimension 2 Code",FALSE,'',FALSE,FALSE,TRUE,'');
    ExcelBuf.AddColumn(LedEntryDim."Dimension Value Code",FALSE,'',FALSE,FALSE,TRUE,'');
    ExcelBuf.AddColumn(SourceDesc,FALSE,'',FALSE,FALSE,TRUE,'');
    ExcelBuf.AddColumn('',FALSE,'',FALSE,FALSE,TRUE,'');
    ExcelBuf.AddColumn('',FALSE,'',FALSE,FALSE,TRUE,'');
    ExcelBuf.AddColumn('',FALSE,'',FALSE,FALSE,TRUE,'');
    ExcelBuf.AddColumn('',FALSE,'',FALSE,FALSE,TRUE,'');
    ExcelBuf.AddColumn('',FALSE,'',FALSE,FALSE,TRUE,'');

    PROCEDURE MakeExcelDataBody4@1000000008();
    ExcelBuf.NewRow;
    ExcelBuf.AddColumn('',FALSE,'',FALSE,FALSE,FALSE,'');
    ExcelBuf.AddColumn('',FALSE,'',FALSE,FALSE,FALSE,'');
    ExcelBuf.AddColumn("Posted Narration".Narration,FALSE,'',FALSE,FALSE,FALSE,'');

    PROCEDURE MakeExcelDataBody6@1000000017();

    PROCEDURE MakeExcelDataBody7@1000000012();

    PROCEDURE MakeExcelDataGroupFooter@1000000011();

    ExcelBuf.NewRow;
    ExcelBuf.AddColumn("G/L Entry"."Posting Date",FALSE,'',TRUE,FALSE,TRUE,'');
    ExcelBuf.AddColumn("G/L Entry"."Document No.",FALSE,'',TRUE,FALSE,TRUE,'');
    ExcelBuf.AddColumn(VendInvNo,FALSE,'',TRUE,FALSE,TRUE,'');
    ExcelBuf.AddColumn(AccountName,FALSE,'',TRUE,FALSE,TRUE,'');
    ExcelBuf.AddColumn('',FALSE,'',TRUE,FALSE,TRUE,'');


    ExcelBuf.AddColumn("G/L Entry"."Global Dimension 2 Code",FALSE,'',TRUE,FALSE,TRUE,'');
    ExcelBuf.AddColumn(LedEntryDim."Dimension Value Code",FALSE,'',TRUE,FALSE,TRUE,'');
    ExcelBuf.AddColumn(SourceDesc,FALSE,'',TRUE,FALSE,TRUE,'');
    ExcelBuf.AddColumn("G/L Entry"."Debit Amount",FALSE,'',TRUE,FALSE,TRUE,'');
    ExcelBuf.AddColumn("G/L Entry"."Credit Amount"+Cess,FALSE,'',TRUE,FALSE,TRUE,'');
    ExcelBuf.AddColumn(ABS(OpeningDRBal-OpeningCRBal+TransDebits-TransCredits),FALSE,'',TRUE,FALSE,TRUE,'');
    ExcelBuf.AddColumn(totalnar,FALSE,'',TRUE,FALSE,TRUE,'');
    ExcelBuf.AddColumn(totalcomment,FALSE,'',TRUE,FALSE,TRUE,'');

    PROCEDURE MakeExcelDataFooter@1000000010();
    BEGIN

    ExcelBuf.NewRow;
    ExcelBuf.AddColumn('',FALSE,'',TRUE,FALSE,TRUE,'');
    ExcelBuf.AddColumn('',FALSE,'',TRUE,FALSE,TRUE,'');
    ExcelBuf.AddColumn('',FALSE,'',TRUE,FALSE,TRUE,'');
    ExcelBuf.AddColumn('',FALSE,'',TRUE,FALSE,TRUE,'');
    ExcelBuf.AddColumn('',FALSE,'',TRUE,FALSE,TRUE,'');
    ExcelBuf.AddColumn('',FALSE,'',TRUE,FALSE,TRUE,'');
    ExcelBuf.AddColumn('',FALSE,'',TRUE,FALSE,TRUE,'');
    ExcelBuf.AddColumn('',FALSE,'',TRUE,FALSE,TRUE,'');
    ExcelBuf.AddColumn('',FALSE,'',TRUE,FALSE,TRUE,'');
    ExcelBuf.AddColumn('',FALSE,'',TRUE,FALSE,TRUE,'');
    ExcelBuf.AddColumn('',FALSE,'',TRUE,FALSE,TRUE,'');
    ExcelBuf.NewRow;
    ExcelBuf.AddColumn('',FALSE,'',TRUE,FALSE,TRUE,'');
    ExcelBuf.AddColumn('',FALSE,'',TRUE,FALSE,TRUE,'');
    ExcelBuf.AddColumn('Closing Balance',FALSE,'',TRUE,FALSE,TRUE,'');
    ExcelBuf.AddColumn('',FALSE,'',TRUE,FALSE,TRUE,'');
    ExcelBuf.AddColumn('',FALSE,'',TRUE,FALSE,TRUE,'');
    ExcelBuf.AddColumn('',FALSE,'',TRUE,FALSE,TRUE,'');
    ExcelBuf.AddColumn('',FALSE,'',TRUE,FALSE,TRUE,'');
    ExcelBuf.AddColumn(OpeningDRBal+"G/L Entry"."Debit Amount",FALSE,'',TRUE,FALSE,TRUE,'');
    ExcelBuf.AddColumn(OpeningCRBal+"G/L Entry"."Credit Amount"+Cess,FALSE,'',TRUE,FALSE,TRUE,'');
    ExcelBuf.AddColumn(ABS(OpeningDRBal-OpeningCRBal+TransDebits-TransCredits),FALSE,'',TRUE,FALSE,TRUE,'');
    ExcelBuf.AddColumn(DrCrTextBalance,FALSE,'',TRUE,FALSE,TRUE,'');
    END;

    PROCEDURE Makeexcelopeningbal@1000000013();
    BEGIN

    ExcelBuf.NewRow;
    ExcelBuf.AddColumn('',FALSE,'',TRUE,FALSE,TRUE,'');
    ExcelBuf.AddColumn('Opening Balance',FALSE,'',TRUE,FALSE,TRUE,'');
    ExcelBuf.AddColumn('',FALSE,'',TRUE,FALSE,TRUE,'');
    ExcelBuf.AddColumn('',FALSE,'',TRUE,FALSE,TRUE,'');
    ExcelBuf.AddColumn('',FALSE,'',TRUE,FALSE,TRUE,'');
    ExcelBuf.AddColumn('',FALSE,'',TRUE,FALSE,TRUE,'');
    ExcelBuf.AddColumn('',FALSE,'',TRUE,FALSE,TRUE,'');
    ExcelBuf.AddColumn(OpeningDRBal,FALSE,'',TRUE,FALSE,TRUE,'');
    ExcelBuf.AddColumn(OpeningCRBal,FALSE,'',TRUE,FALSE,TRUE,'');
    ExcelBuf.AddColumn(ABS(OpeningDRBal-OpeningCRBal),FALSE,'',TRUE,FALSE,TRUE,'');
    END;

    BEGIN
    {
    Report - G/L Ledger "G/L Ledger - HTML and Excel giving different result"
    EBBK01 - Navision,Badr Ud Duja Khan , 29/01/2011
    CurrReport.Skip Commented on G/L Entry - OnAfterGetRecord
    }
    END.
    }
    }
    Thanks & Regards,
    Stivan D'souza
  • ssinglassingla Member Posts: 2,973
    IF (PrintDetail = TRUE) THEN BEGIN
    GLEntry.RESET;
    GLEntry.SETRANGE("Entry No.",GLEntry."Entry No.");
    GLEntry.SETFILTER("Document No.",'%1','JV/*');
    IF (GLEntry."Source Code" = 'JOURNALV') OR (GLEntry."Source Code" = '') THEN
    REPEAT
    IF GLEntry.FINDSET THEN
    CurrReport.SHOWOUTPUT(TRUE);
    UNTIL GLEntry.NEXT=0;
    END;

    I feel it is a customized code and wrong..

    and written by someone that should not be writing C/AL code. :whistle:

    This was tip of iceberg. I wonder you have the patience of reading the whole report. I was left wondering whether to pity them or pray they leave NAV.

    A bunch of freshers without support from seniors trying to mess up a already screwed up report.
    CA Sandeep Singla
    http://ssdynamics.co.in
  • mohana_cse06mohana_cse06 Member Posts: 5,504
    ssingla wrote:
    A bunch of freshers without support from seniors trying to mess up a already screwed up report.

    I have a long term question on this..

    Whose mistake is this?

    1. Seniors mistakes?
    2. Fresher's fate?
    3.Company?
  • ssinglassingla Member Posts: 2,973
    Well the issue has been discussed even on this forum. There are companies which leave this consultants to the mercy of God and client without providing them proper training to do the job. This is not the only reason for their plight but this is the most common I have seen. This ultimately results in screwed up projects, bad consulting, bad designs and bad programming.

    Sorry to say but there is nothing much we can do. Most of the companies in our part of world think training is waste of money and time. They believe people will learn themselves from the job and they don't have to do anything except to bill them to their customer and keep customer happy someway. Worse is that most consultant are not serious about there work and are looking for shortcuts to survive. Looking for dumps to clear certification, proxy the certification instead of learning is something which is very common (infact the only reason why I have not attempted any certification till date. I do not see any value/meaning/utility/advantage out of them).

    Short and Long term view will not change.
    CA Sandeep Singla
    http://ssdynamics.co.in
  • ssinglassingla Member Posts: 2,973
    ssingla wrote:
    A bunch of freshers without support from seniors trying to mess up a already screwed up report.

    I have a long term question on this..

    Whose mistake is this?

    1. Seniors mistakes?
    2. Fresher's fate?
    3.Company?

    Classic case of Nobody's and everybody's fault.
    CA Sandeep Singla
    http://ssdynamics.co.in
  • jglathejglathe Member Posts: 639
    Society. However, giving decent advice (even if it's tiresome) is one way of helping.

    with best regards

    Jens
  • Stivan_dsouza21Stivan_dsouza21 Member Posts: 218
    Thanks Guys....
    For the prompt reply on my post.......
    Thanks & Regards,
    Stivan D'souza
  • jglathejglathe Member Posts: 639
    Thanks Guys....
    For the prompt reply on my post.......

    Hello Stivan,

    one question (or so): What was the original problem to change this report? Is there an unmodified version of it? These JV details look ...unconventional... to be filtered by part of the document no. Is there another way to select these JV entries (what's the source) ?

    with best regards

    Jens
  • David_SingletonDavid_Singleton Member Posts: 5,479
    ssingla wrote:
    A bunch of freshers without support from seniors trying to mess up a already screwed up report.

    I have a long term question on this..

    Whose mistake is this?

    1. Seniors mistakes?
    2. Fresher's fate?
    3.Company?

    Greedy short minded companies of course.
    David Singleton
  • David_SingletonDavid_Singleton Member Posts: 5,479
    jglathe wrote:
    Society. However, giving decent advice (even if it's tiresome) is one way of helping.
    jglathe wrote:
    These JV details look ...unconventional... to be filtered by part of the document no. Is there another way to select these JV entries (what's the source) ?

    And this is the point, where does the "giving fish" vs "teaching to fish" line start and end. In this case the correct reply for this thread is "Throw away the code done so far, sit with your senior people and have them teach you the proper way to do this."

    We all looked at the code and I am sure that we all saw ...
    IF (PrintDetail = TRUE) THEN BEGIN
    GLEntry.SETFILTER("Document No.",'%1','JV/*');

    and realized that we didn't need to see any more than that.

    But this is probably someone thrown to the wolves and told just to do the job with no help or support. What can we do?
    David Singleton
  • jglathejglathe Member Posts: 639
    But this is probably someone thrown to the wolves and told just to do the job with no help or support. What can we do?

    IMO, being helpful. Pointing in the right direction, but not presenting a complete solution. This can be a complete waste of time, but maybe not. People who want to learn will learn eventually.

    with best regards

    Jens
  • David_SingletonDavid_Singleton Member Posts: 5,479
    jglathe wrote:
    But this is probably someone thrown to the wolves and told just to do the job with no help or support. What can we do?

    IMO, being helpful. Pointing in the right direction, but not presenting a complete solution. This can be a complete waste of time, but maybe not. People who want to learn will learn eventually.

    with best regards

    Jens


    Lets see how you feel about this when you have your first 10,000 posts behind you. :mrgreen:

    I was also once altruistic and believed we could change the world by leading people in the right direction. But soon you learn that some people don't want to learn, they just want to get the code finished so they can go home.Irrespective of whether it works properly or not.
    David Singleton
  • mohana_cse06mohana_cse06 Member Posts: 5,504
    But soon you learn that some people don't want to learn, they just want to get the code finished so they can go home.Irrespective of whether it works properly or not.

    True..100% true..
  • jglathejglathe Member Posts: 639
    Lets see how you feel about this when you have your first 10,000 posts behind you. :mrgreen:

    Right. :) I'm still thinking about the effective cross section of being helpful.

    with best regards

    Jens
Sign In or Register to comment.