Received Amt Column in Sales Register

Discussion in 'Tally Developer' started by Hasan@123, Jun 5, 2020.

    
  1. Amit Kamdar

    Amit Kamdar Administrator Staff Member


    You are computing the ClosingBalance.

    Thought you wanted the RECEIPT Amount.
     


  2. Amit Kamdar

    Amit Kamdar Administrator Staff Member


    Is it working perfectly now ??
     


  3. Sohail Khan

    Sohail Khan Member


    I thought pending amount would be easy to get, both satisfy my need pending and receipt. And no i haven't achieved it. I dont know how to use collectionfieldbykey function. Please help sir. Where i am doing wrong?
     


  4. Amit Kamdar

    Amit Kamdar Administrator Staff Member


    In which report are you trying to get the values to be displayed ???
     


  5. Sohail Khan

    Sohail Khan Member


    Sales register
     


  6. Amit Kamdar

    Amit Kamdar Administrator Staff Member


    The collection of Sales register is ............ Collection : Filtered Vouchers of Company

    You have made your own collection and Source as NRM Vouchers of Ledger.......... How will that compute..........
     
    naren1234 and Sohail Khan like this.


  7. Sohail Khan

    Sohail Khan Member


    ThankYou.
    Its Working Now But Report Is slow. Can you Help me how do I make it Fast.
    [Collection:CollForBills]
    Type: Bills

    [Collection: MycollforCollection]

    Source Collection : CollForBills

    Compute : ClosingBalance : $ClosingBalance
    Compute : VoucherNumber : $$CollectionField:$VoucherNumber:1:LedgerEntries

    Search Key : $VoucherNumber
     


  8. Amit Kamdar

    Amit Kamdar Administrator Staff Member


    Very good.....what you did?
     


  9. Sohail Khan

    Sohail Khan Member


    I Changed Searched to Ledgername, But its not working Correctly. Its giving Me the last value for the same ledger.
    [Collection:CollForBills]
    Type: Bills
    Child of : ##pvLedgerName
    ParmVar : pvLedgerName : String : $LedgerName
    Fetch : LedgerName, ClosingBalance

    [Collection: MycollforCollection]

    Source Collection : CollForBills
    Fetch : ClosingBalance, LedgerName

    ; Compute : VoucherNumber : $$CollectionField:$VoucherNumber:1:LedgerEntries

    Search Key : $LedgerName
     


  10. Amit Kamdar

    Amit Kamdar Administrator Staff Member


    You have specified..........CHILD OF ..........that is why.
     


  11. Vishal Sancheti

    Vishal Sancheti New Member


    Can we change this to Pending amount column in Sales register and for purchase register as well.
     


  12. Amit Kamdar

    Amit Kamdar Administrator Staff Member


    It is "pending Amount" only..........
     


  13. Vishal Sancheti

    Vishal Sancheti New Member


    Sir the column is not appearing can I get the coding copied here
    The final coding for Pending amount in Vouchers.....
     


  14. Sohail Khan

    Sohail Khan Member


    Dear Amit Sir now the Report is working Fast for Full year. I just added $$ReportObject before my CollectionFieldbykey as I saw tally use it many place.
    [Collection:CollForBills]
    Type: Bills

    Compute : VoucherNumber : $$CollectionField:$VoucherNumber:1:LedgerEntries



    [Collection: MycollforCollection]

    Source Collection : CollForBills
    Fetch : ClosingBalance, VoucherNumber
    Compute : LedgerName : $$CollectionField:$LedgerName:1:LedgerEntries



    Search Key : $VoucherNumber

    [#Collection : Filtered Vouchers Of Company]
    Compute:qty:$$CollQtyTotal:Inventoryentries:$BilledQty
    Compute: PendingAmount:$$ReportObject:$$CollectionFieldByKey:$ClosingBalance:$VoucherNumber:MycollforCollection
     
    naren1234 likes this.


  15. Sohail Khan

    Sohail Khan Member


    Dear Anand Sir How do you Computed Received Amount in Collection. Did you use Function for it Like Amit Sir or is there any Other way?
     



  16. Below is what I have been able to reach at thanks to Sohailji, Amitji and NAGARAJKMAR SUBRAMANIANji.. I used one of his 2014 codes to get a new sales report..

    I have more or less got what I wanted but there are 2 major problems.

    1) It is awfully slow.
    2) Total of Pending Amount doesnt come ( guessing because it is described as a name field, but If i describe it as amount field, it removes the heading of Pending Amount)
    3) I am guess it can be made faster if I delete a few collections, but they are all distinct so don't know which ones are redundant.

    Can someone help and guide whats going wrong here??? And if you could simplify it would be even better.

    Secondly is it possible to have a filter or range (f12) where we can ask it to display only those bills that have pending amounts ???? where do i start for that? Basically i know i need to add the field to the range option but how??


    On the side truly indebted to this forum for constant help and support..

    Code:
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    [#Menu     : Gateway of Tally]
    Add : Item :  Sales Report     : DISPLAY : Sales Report
    
    [Report      : SalesReport]
    Form         : SalesReport
    Set: variable   : svfromdate, svtodate
    Set                 : SVFromDate    : $$MonthStart:##SVCurrentDate
    Set             : SVToDate        : $$MonthEnd:##SVCurrentDate
    
    [Form      : SalesReport]
    Part         : ASTPURTitle,ASTPURDtls
    Bottom Part   : ASTTotal
    Height        : 100% Screen
    use           : DSP Template
    Add : Button : LedgerwiseS
    
    [Part        : ASTPURTitle]
    Line         : ASTPURTL1,ASTPURTL2
    
    [Line         : ASTPURTL1]
    Field         : ASTPURTL1
    
    [Field        : ASTPURTL1]
      Set as      : @@cmpmailname
      Full Width  : Yes
    Align        : Centre
    Style        : Large Bold
    Skip         : Yes
    
      [Line         : ASTPURTL2]
      Field         : ASTPURTL2
      Right Field   : AStPeriod
    ; Border       : Column Titles
    
    [Field        : ASTPURTL2]
    use           : Name Field
      Set as      : "Sales Register"
      Fullwidth   : Yes
    Align        : Centre
    Skip        : Yes
    [Field        : Astperiod]
    Set as        : "From "+$$String:##svfromdate+" To "+$$String:##svtodate
    Skip        : Yes
    
    
    [Part          : ASTPURDtls]
    Line           : saleTitles,salesdtls
    Repeat       :  salesdtls : Salescoll
    Total          : Invamt
    Scroll         : Vertical
    option : Ledgerwise : ##Newchangecoll Not Contains  "ALL ITEMS"
    option : AllLedger    : ##Newchangecoll contains "ALL ITEMS"
    
    [!Part:  Ledgerwise]
             Repeat : salesdtls : Ledsalescoll
    
    [!Part : AllLedger]
              Repeat : salesdtls  :  Salescoll
    
    [Line          : Saletitles]
    Field          : Sno,  Invno, invdt,Party,Invamt,CollectedAmountInfo
    Local         : Field : sno : Set as : "S.No."
    Local         : Field : Party : Set as: "Buyer Name"
    Local         : Field : Party : Line : 0
    Local         : Field : invdt  : Set as :"Inv Dt"
    Local         : Field : Invno : Set as :"Invno."
    Local         : Field : Invamt : type : String
    Local         : Field : Invamt : Set as : "Inv.Amt"
    Local         : Field : CollectedAmountInfo : Set as : "Pending Amount"
    Border       : Column Titles
    
    
    [Line          : salesdtls]
    Field          : Sno, invno,invdt,Party, Invamt,CollectedAmountInfo
    Option          : AlterOnEnter
    
    [Field        : Sno]
    Set as       : $$Line
    Width       : 5% Screen
    Alter         : Voucher
    
    [Field        : Party]
    use          : Name Field
    set as       : $PartyLedgername
    Width       : 25% Screen
    
    [Field       : InvNO]
    use          : Name Field
    Set as      : $Vouchernumber
    Width       : 10% Screen
    
    [Field       : Invdt]
    Set as      : $Date
    Width       : 10% Screen
    
    [Field      : Invamt]
    use         : Amount Field
    Set as     : $Amount
    Width       : 10% Screen
    
    [Field: CollectedAmountInfo]
    Use : Name Field
    Align : Right
    Width : @@VCHAmountWidth
    Style : small bold italic
    Set as: $$CollectionFieldByKey:$ClosingBalance:$VoucherNumber:Mycollforcollection
    Set always : Yes
    Skip : Yes
    Background:RED
    
    [Part : ASTTotal]
    Line  : Asttotal
    
    [Line         : Asttotal]
    Field          : Sno,  Invno,invdt,party, Invamt,CollectedAmountInfo
    Local         : Field : sno : Set as : ""
    Local         : Field : Party : Set as: "Total..."
    Local         : Field : Cstno : Set as : ""
    Local         : Field : invdt  : Set as :""
    Local         : Field : Invno : Set as :""
    Local         : Field : Invamt : Set as : $$Total:Invamt
    Local         : Field : goods  : type : String
    Local         :Field : goods : Set as :""
    Local         : Field : CollectedAmountInfo : Set as : $$Total:CollectedAmountInfo
    Border       : Column Titles
    
    
    [Collection:CollForBills]
    Type: Bills
    
    Compute : VoucherNumber : $$CollectionField:$VoucherNumber:1:LedgerEntries
    
    
    
    [Collection: MycollforCollection]
    
    Source Collection : CollForBills
    Fetch : ClosingBalance, VoucherNumber
    Compute : LedgerName : $$CollectionField:$LedgerName:1:LedgerEntries
    
    
    
    Search Key : $VoucherNumber
    
    [#Collection : Filtered Vouchers Of Company]
    Compute:qty:$$CollQtyTotal:Inventoryentries:$BilledQty
    Compute: PendingAmount:$$ReportObject:$$CollectionFieldByKey:$ClosingBalance:$VoucherNumber:MycollforCollection
    
    
    [Collection : Salescoll]
    Type          : voucher
    Filter          : IsSale
    Fetch         : Vouchernumber,PartyLedgername,Amount,Buyerscstnumber,Date
    
    [Collection : LedSalescoll]
    Type          : voucher
    Filter          : IsSale
    Fetch         : Vouchernumber,PartyLedgername,Amount,Buyerscstnumber,Date
    Filter          : ChkParty
    
    [Collection : SalesColldtl]
    Source Collection : Salescoll
    Walk    : Inventoryentries
    By     : Vouchernumber: $Vouchernumber
    Fetch         : Vouchernumber,PartyLedgername,Amount,Buyerscstnumber,Date,Amount
    ;,Stockitemname
    
    [System     : Formula]
    Issale        : $$IsSales:$vouchertypename
    ChkParty   : $PartyLedgername = ##Newchangecoll
    
    
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
     

    Attached Files:



  17. Sohail Khan

    Sohail Khan Member


    [!Part : AllLedger]
    Repeat : salesdtls : Salescoll

    [Line : Saletitles]
    Field : Sno, Invno, invdt,Party,Invamt,CollectedAmountInfo
    Local : Field : sno : Set as : "S.No."
    Local : Field : Party : Set as: "Buyer Name"
    Local : Field : Party : Line : 0
    Local : Field : invdt : Set as :"Inv Dt"
    Local : Field : Invno : Set as :"Invno."
    Local : Field : Invamt : type : String
    Local : Field : Invamt : Set as : "Inv.Amt"
    Local : Field : CollectedAmountInfo : Set as : "Pending Amount"
    Local : Field : CollectedAmountInfo : Type : String
    Border : Column Titles

    [Field: CollectedAmountInfo]
    Use : Amount Field
    Align : Right
    Width : @@VCHAmountWidth
    Style : small bold italic
    Set as: $PendingAmount
    Set always : Yes
    Skip : Yes
    Background:RED
     



  18. With your suggestion, the pending amount is not getting displayed and it is just blank
     


  19. Sohail Khan

    Sohail Khan Member


    Compute this Compute: PendingAmount:$$ReportObject:$$CollectionFieldByKey:$ClosingBalance:$VoucherNumber:MycollforCollection
    in Your respective Salescoll
     



  20. Okay. So meddled with code, simplified it.. used your input and got it down to this. Now it is comparatively faster.

    Unfortunately it misses things like
    1) Pending Amount Total
    2) Removing of Line from display like in Sales Register - Can someone help me get this ??

    Code:
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    [#Menu     : Gateway of Tally]
    Add : Item :  Sales Report     : DISPLAY : Sales Report
    
    [Report      : SalesReport]
    Form         : SalesReport
    Set: variable   : svfromdate, svtodate
    Set                 : SVFromDate    : $$MonthStart:##SVCurrentDate
    Set             : SVToDate        : $$MonthEnd:##SVCurrentDate
    
    [Form      : SalesReport]
    Part         : ASTPURTitle,ASTPURDtls
    Bottom Part   : ASTTotal
    Height        : 100% Screen
    use           : DSP Template
    
    [Part        : ASTPURTitle]
    Line         : ASTPURTL1,ASTPURTL2
    
    [Line         : ASTPURTL1]
    Field         : ASTPURTL1
    
    [Field        : ASTPURTL1]
      Set as      : @@cmpmailname
      Full Width  : Yes
    Align        : Centre
    Style        : Large Bold
    Skip         : Yes
    
      [Line         : ASTPURTL2]
      Field         : ASTPURTL2
      Right Field   : AStPeriod
    ; Border       : Column Titles
    
    [Field        : ASTPURTL2]
    use           : Name Field
      Set as      : "Sales Register"
      Fullwidth   : Yes
    Align        : Centre
    Skip        : Yes
    [Field        : Astperiod]
    Set as        : "From "+$$String:##svfromdate+" To "+$$String:##svtodate
    Skip        : Yes
    
    
    [Part          : ASTPURDtls]
    Line           : saleTitles,salesdtls
    Repeat       :  salesdtls : Salescoll
    Total          : Invamt
    Scroll         : Vertical
    
    [Line          : Saletitles]
    Field          : Invno, invdt,Party,Invamt,CollectedAmountInfo
    Local         : Field : Party : Set as: "Buyer Name"
    Local         : Field : Party : Line : 0
    Local         : Field : invdt  : Set as :"Inv Dt"
    Local         : Field : Invno : Set as :"Invno."
    Local         : Field : Invamt : type : String
    Local         : Field : Invamt : Set as : "Inv.Amt"
    Local           : Field : CollectedAmountInfo : Type : String
    Local         : Field : CollectedAmountInfo : Set as : "Pending Amount"
    Border       : Column Titles
    
    
    [Line          : salesdtls]
    Field          : invno,invdt,Party, Invamt,CollectedAmountInfo
    Option          : AlterOnEnter
    
    [Field        : Party]
    use          : Name Field
    set as       : $PartyLedgername
    Width       : 30% Screen
    
    [Field       : InvNO]
    use          : Name Field
    Set as      : $Vouchernumber
    Width       : 15% Screen
    
    [Field       : Invdt]
    Set as      : $Date
    Width       : 15% Screen
    
    [Field      : Invamt]
    use         : Amount Field
    Set as     : $Amount
    Width       : 15% Screen
    
    [Field: CollectedAmountInfo]
    Use : Amount Field
    Align : Right
    Width : 15% Screen
    Style : bold italic
    Set as: $PendingAmount
    Set always : Yes
    Skip : Yes
    Background:Grey
    
    [Part : ASTTotal]
    Line  : Asttotal
    
    [Line         : Asttotal]
    Field          : Invno,invdt,party, Invamt,CollectedAmountInfo
    Local         : Field : Party : Set as: "Total..."
    Local         : Field : Cstno : Set as : ""
    Local         : Field : invdt  : Set as :""
    Local         : Field : Invno : Set as :""
    Local         : Field : Invamt : Set as : $$Total:Invamt
    Local         : Field : goods  : type : String
    Local         :Field : goods : Set as :""
    Local         : Field : CollectedAmountInfo : Set as : $$Total:CollectedAmountInfo
    Border       : Column Titles
    
    
    [Collection:CollForBills]
    Type: Bills
    Compute : VoucherNumber : $$CollectionField:$VoucherNumber:1:LedgerEntries
    
    [Collection: MycollforCollection]
    Source Collection : CollForBills
    Fetch : ClosingBalance, VoucherNumber
    Compute : LedgerName : $$CollectionField:$LedgerName:1:LedgerEntries
    Search Key : $VoucherNumber
    
    [Collection : Salescoll]
    Type          : voucher
    Filter          : IsSale
    Fetch         : Vouchernumber,PartyLedgername,Amount,Buyerscstnumber,Date
    Compute : qty:$$CollQtyTotal:Inventoryentries:$BilledQty
    Compute : PendingAmount:$$ReportObject:$$CollectionFieldByKey:$ClosingBalance:$VoucherNumber:MycollforCollection
    
    [Collection : SalesColldtl]
    Source Collection : Salescoll
    Walk    : Inventoryentries
    By     : Vouchernumber: $Vouchernumber
    Fetch         : Vouchernumber,PartyLedgername,Amount,Buyerscstnumber,Date,Amount
    
    ;,Stockitemname
    
    [System     : Formula]
    Issale        : $$IsSales:$vouchertypename
    ChkParty   : $PartyLedgername = ##Newchangecoll
    
    
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
     
    Vishal Sancheti likes this.



  21. Can someone help or guide me to achieve this

    1) The received amount considers Time only upto the date mentioned for the report. For example Selected Time period is Jan 1 to Jan 31 . So if the amount is pending as on Jan 31 it will show. If it is paid on Feb 1, it will show Pending. What I want is for the report to be for bills within Jan 1 to Jan 31 and if the bill is pending till date only then should it show as pending. Basically the receipt vouchers upto last voucher entry should be considered. Hope I was able to explain . Can someone guide where to get started.

    2) Pending Amount Total not displaying

    3) Remove of Line like in sales register not showing.

     


  22. Sohail Khan

    Sohail Khan Member


    Even I am facing same problem. I need to specify full period to get correct pending amount.
     


  23. Vishal Sancheti

    Vishal Sancheti New Member



  24. purbanchal

    purbanchal New Member


    please share tdl of Receipt and due amount in sale register / stock register .

    pepghy@gmail.com
     



  25. Hi Can someone help in getting the Remove Line option in this report..

    I have tried Use : Common Hidden Keys but it doesnt show.. What is it that I am doing wrong here?


     


Share This Page