Formatting Help for Einvoice QR

Discussion in 'Tally Developer' started by Adeshwar Mehta, Jul 28, 2023.

    

  1. Hi i have made a code for EInvoice Details for print in invoice I have two problems in this as seen in the photo attached

    1) No matter what i try or where i try the QR Code never comes to the center of the field. Can u help me with where exactly is the formatting wrong to be able to solve it

    2) As you can see from the picture there are formatting problems - a. The border ends after reference no in a odd way
    b. also other references border in a odd way
    c. notice at the right most end of the top portion there is a mismatch in the right border. I dont know why that is coming.

    3) I am using optimise mode invoice printing so what should i add in the code such that this does not appear in page 2 .. ( i can actually make it part of reference no and solve the matter but if there is a reference no sometimes it becomes complicated )

    Can the learned people help guide me.. as you will appreciate that I have made a lot of efforts to get here but somewhere my knowledge is not allowing me to solve it completely.

    Off Topic - In the top left notice how the logo is smudged during export mode . during print mode it is printing fine.. any ideas on this..



    Code:
    [#Part: EXPINV BasicLeft]
        Add : Part: After : EXPINV Number : eInv IRN Details11 , Expinv AckNo11
    
       
    [#Part: EXPINV BasicRight]
        Add : Part: After : EXPINV Date : eInvoice PrintExp QRC11
    
    [Part : eInv IRN Details11]
    
        Lines        : Expinv IRN11
        Bottom Lines : IRN12
         Local       : Field : Expinv IRN11 : Set as  : $$LocaleString:"IRN:"
                        Local       : Field : Expinv IRN11 : Cells   : ($$Quotient:@@ExcelCellColumn:4)
                        Border      : Full Thin Bottom
                        Height      : 0.7 Inch
                       
        Invisible    : NOT ##SAGSTWithQRInfo OR NOT @@IsVchGSTeInvAppl
                       
    [Line: eXPINV IRN11]
            Field       : eXPINV IRN11
        Preprinted  : Yes
       
    [Field: EXPINV IRN11]
            Style       : Small
        PrePrinted  : Yes
    
                        [Line: IRN12]
    
                            Field   : Name Field
                            Local   : Field : Name Field : Set as : @@GSTeInvIRN
                            Local   : Field : Name Field : Cells  : ($$Quotient:@@ExcelCellColumn:4)
                            Local   : Field : Name Field : Line: 3
                           
                           
    [Part : Expinv AckNo11]
    
        Lines        : Expinv IRN11
        Bottom Lines : Expinv AckNo11
         Local       : Field : Expinv IRN11 : Set as    : $$LocaleString:"Ack No. & Date"
                        Local       : Field : Expinv IRN11 : Cells   : ($$Quotient:@@ExcelCellColumn:4)
                        Border      : Full Thin Bottom
                        Height      : 9 mms
            Invisible    : NOT ##SAGSTWithQRInfo OR NOT @@IsVchGSTeInvAppl
           
        [Line: Expinv AckNo11]
           
            Field: Name Field
            Local        : Field        : Name Field    : Set as    : (If ##IseInvPSPrintAfterSave Then ##eInvPSAckNo Else $IRNAckNo) + " " +(If ##IseInvPSPrintAfterSave Then $$String:##eInvPSAckDate Else $$String:$IRNAckDate)
            Local   : Field : Name Field : Cells  : ($$Quotient:@@ExcelCellColumn:4)
           
    [Part : Expinv AckDate11]
    
        Lines        : Expinv IRN11
        Bottom Lines : Expinv AckDate11
         Local       : Field : Expinv IRN11 : Set as    : $$LocaleString:"Ack Date"
            Local       : Field : Expinv IRN11 : Width   : 25% Page
                        Local       : Field : Expinv IRN11 : Cells   : ($$Quotient:@@ExcelCellColumn:4)
                        Border      : Full Thin Bottom
                        Height      : 9 mms
               
       
        [Line: Expinv AckDate11]
            Field: Name Field
        Local        : Field        : Name Field    : Set as    : If ##IseInvPSPrintAfterSave Then $$String:##eInvPSAckDate Else $$String:$IRNAckDate
         Local   : Field : Name Field : Width  : 25% Page
            Local   : Field : Name Field : Cells  : ($$Quotient:@@ExcelCellColumn:4)
    
    
    [Part: eInvoice PrintExp QRC11]
       
        Part        : eInvoice QRC Title11, eInvoice QRC Details11
        Vertical    : Yes
        Invisible    : NOT ##SAGSTWithQRInfo OR $$IsEmpty:@@eInvoiceQRCValue OR NOT @@IsVchGSTeInvAppl
    
       
        [Part: eInvoice QRC Title11]
    
            Line        : eInvoice QRC Title11
           
            [Line: eInvoice QRC Title11]
           
                Field        : eInvoice QRC Title11
               
    [Field: eInvoice QRC Title11]
       
        Use            : Simple Field
        Set as        : $$LocaleString:"e-Invoice"
        Style        : Small Bold
        Align        : Center
    
        [Part: eInvoice QRC Details11]
           
            QRCode        : $IRNQRCode
            Line        : eInvoice QRC Details11
            Width        : 0.7 Inch
            Height        : 0.7 Inch
           
            [Line: eInvoice QRC Details11]
       
                Field        : qrc11
               
    [Field: QRC11]
            Info        : ""
        Skip        : Yes
        Fixed       : Yes
        Align: Center
        Alignment: Center        
     

    Attached Files:



  2. Amit Kamdar

    Amit Kamdar Administrator Staff Member


    [Part: eInvoice QRC Details11]
    QRCode : $IRNQRCode
    Line : eInvoice QRC Details11
    Width : 0.7 Inch
    Height : 0.7 Inch

    [Line: eInvoice QRC Details11]
    Field : Info Field

    Do not add any more attribute to above field.
     


  3. Amit Kamdar

    Amit Kamdar Administrator Staff Member


    Is your Logo in BMP? Also try with various sizes without compromising on image quality.

    It is smudged because it might not be compliant InPixelMode.
     


  4. Amit Kamdar

    Amit Kamdar Administrator Staff Member


    In ALL the PARTS that you have added ....

    Define at the PART level ...........
    Local : Field : {YourAddedFields} : Width : 25% Page
     



  5. This solves the problem of the title being centred but the QR code is not centered

    Even After defining the Width at every part level there still is small gap at the right down.

    Any idea about the Gap in the bottom below reference no ??


     



  6. From my trail and error i can confirm that it is the QR part that is causing the misalignment in page border .. But the problem of Gap after Reference No remains.. Dont know how to solve both these
     


  7. Amit Kamdar

    Amit Kamdar Administrator Staff Member


    Try trial and error with size reduction.
     


  8. ASHOK

    ASHOK Member




    SIR JI CHACK
     


  9. ASHOK

    ASHOK Member


    PLEASE CHECK
     

    Attached Files:




  10. Hi Ashok thanks for your suggestion.. Did not work.. But meddled somehow and found a acceptable solution..
     


  11. Rajsrisrimal

    Rajsrisrimal Member


    Sir,
    Any Tdl, So we can't modify or edit the Sales invoice after E-Invoice & E-way bill are generated?
     


  12. Amit Kamdar

    Amit Kamdar Administrator Staff Member


    It is already in-built under Security & Users Access Control.
     



  13. Can you elaborate on that sir.. i was going to start a thread on it anyways
     


  14. Amit Kamdar

    Amit Kamdar Administrator Staff Member


    Go to YOUTUBE ..... type "user level security in tally prime"

    You will get lots of videos -- watch and learn and implement.

    Also in TallySolutions website there are ample helpful videos on the same.
     



  15. Sir that helps to block all Sales or All vouchers . What we are looking for is a way to lock or block editing if einvoice is generated on it..
    I am guessing we should use Control and If Conditions to do it . But don't know where to start with it
     


  16. Rajsrisrimal

    Rajsrisrimal Member


    I tried to make TDL code with the help of AI, but even AI was unable to do so, Our TDL makers are great
    if possible rectify the error in this. TDL for Block Edit / Delete after E-invoice and Eway bill.



    [Collection: EInvoiceDetails]
    Parent: Types
    Name: EI_COLLECTION

    #Part 1: Define the User-Defined Field (UDF)
    [User Define Field]
    Field: EI_GENERATED_FLAG
    Use: Sales Voucher
    Storage: On the Server
    Data Type: Yes/No
    Description: E-Invoice Generated Flag

    #Part 2: Display warning for sales vouchers with E-Invoice
    [Report: EInvoiceSalesWarning]
    Form: Voucher
    Load: Yes

    [Field: EI_GENERATED_FLAG]
    Use: Sales Voucher
    Source: EI_GENERATED_FLAG
    Action: Validation
    Ignore Errors: No
    Execution: Immediate
    Expression: % ( $Row:EI_COLLECTION.EI_GENERATED_FLAG ? "YES": "NO" )%

    [Field: EI_GENERATED_FLAG]
    Use: Sales Voucher
    Allow: Modify
    Match: No
    Msg: **Warning: Voucher modification not allowed as E-Invoice is already generated.**
     


  17. Amit Kamdar

    Amit Kamdar Administrator Staff Member


    There is nothing to EDIT in above code as it totally inappropriate for TDL.
     



  18. I think we can probably use something like the date and period error it gives .. by changing the date to irn field.. however I don't know how to go about it .. probably will try it sometime over the weekend.. if anyone knows the direction it will help.. although lot of tdls are available by different companies who call it lock voucher .
     
    Rajsrisrimal likes this.


  19. Amit Kamdar

    Amit Kamdar Administrator Staff Member


    There is nothing much to this angle -- Add a COLUMN to
    a) Ledger Vouchers
    b) Day Book
    c) Registers ....
    If IRN has been generated just call for the value or "TEXT" in the column. If generated then disable the Open and only keep the DISPLAY -- Users can see the Voucher but not Alter it.
     



  20. I have already done that much before and it appears in Ledgers as well as in Sales Register. Attached below is the code for that. Now disabling it is what ur suggesting ???



    Code:
    [#Line: DSP VchAccTitles]
    Add: Right Field: After: DSP VchNumberTitle : DSP VchRefTitle123
    
    
    [Field: DSP VchRefTitle123]
    Use: name field
    Set as: "E-Invoice No"
    Style: Normal
    Width: 15
    Align: Center
    Skip: Yes
    
    [#Line: DSP VchDetail]
    
    Add: Right Field: After: DSP VchNumber : DSP VchRefNumber
    
    [#Line:DBTitle1]
    Add:Right Field:After: DSP VchNumberTitle : DSP VchRefTitle123
    
    [Field: DSP VchRefNumber]
    Use: name field
    Set as       : $IRNAckNo
    Width : 15
    Align : Center
    Color : Red
    Style: LARGE BOLD
    Border : Thin Left right
    Skip: Yes
    
    [Style:einv2]
    Font : "ROBOTO MEDIUM"
    Height : @@ExtraLargeSize
    
    [#Part: EI PartyInfo]
        Add: Part: After : EI Consignee : Einvoicedet
       
    [Part: einvoicedet]
        Lines: einvoicedet
       
    [Line:einvoicedet]
        Fields: DSP VchRefTitle1234, DSP VchRefNumber
       
    [Field: DSP VchRefTitle1234]
    Use: name field
    Set as: "DONT EDIT EINVOICE GENERATED"
    Style: EXTRA LARGE BOLD
    Width: 30
    Align: Right
    Background: Yellow
    Skip: Yes
    Invisible    : NOT ##SAGSTWithQRInfo OR $$IsEmpty:@@eInvoiceQRCValue OR NOT @@IsVchGSTeInvAppl
     
    Rajsrisrimal likes this.


  21. Amit Kamdar

    Amit Kamdar Administrator Staff Member


    In the various FORMS ---- study the Fields ---- Find which of the Field has ALTER and DISPLAY ---

    e.g. in Daybook --- study Field -- [Field: DSP VchDate] -- it has Alter and Display.
    Delete the Alter -- Introduce a OPTION there based on Condition - if AckNo is Empty or not .......... if Not Empty then do not give ALTER in the Option and so on. OR Change the existing condition.
     


  22. Amit Kamdar

    Amit Kamdar Administrator Staff Member


    Also you will need to disable the ENTER Button at the FORM level-- If required.
     


  23. ASHOK

    ASHOK Member



    PLEASE CHACK
     

    Attached Files:



  24. kaka

    kaka New Member


    HEY What did you do finally? I am also having same issue and borders get broken mainly in export PDF
     


  25. Mohan.S

    Mohan.S Member


    add an empty part before QRcode Part with vertical =No
    give some space to the Empty part
     


Share This Page