Repeted Filed Filtter in collection/Report

Discussion in 'Tally Developer' started by Rupal Agarwal, Sep 27, 2022.

    
  1. Rupal Agarwal

    Rupal Agarwal Member


    Hello everyone,

    I have created a report which shows the vouchers of a selected party. currently it is able to show vouchers of only on e slected p[arty but now i want that it will show the vouchers from multiple party at a single selection.

    Check image for the refrence.

    multifilter.jpg

    my code is given below :

    Code:
    [#Menu: Gateway of Tally]
    Item : Party Details: Display : UReport
    
    [Report: UReport]
        Form : UForm
        Title: "Sundry Debtor Details"
        Set:LedVariable:$$SysName:allitems
    
    [Form: UForm]
        Parts : UPart
        Width: 100% page
        Button:explode flag, Select Party
    
    [Part : UPart]
        Lines : Title, ULine,
        Repeat:uline:vouchercollection
        Scroll:Vertical
        Common Border:Yes
    
    [Line:Title]
        Field:VchNo, party, amount, vchtypname
        Local:Field:VchNo:Info: "Voucher Number"
        Local:Field:Party:Info: "Party Name"
        Local:Field:Amount:info: "Amount"
        Local:Field:VchTypName:Info: "Voucher Type"
        Border:column Titles
    
    [Line : ULine]
        Fields : VchNo, party, amount, vchtypname
        Explode:inventory: ##explodeflag or $$KeyExplode
    
    [Field : VchNo]
        Use:name field
        Set as : $vouchernumber
        Border:thin right
       
    [Field:party]
        Use:name field
        Set as:$partyledgername
        Border:thin right
       
    [Field:amount]
        use:amount field
        Set as:$amount
        Border:thin right
       
    [Field:vchtypname]
        Use: Name Field
        Set as: $vouchertypename
        Border:thin right
    
    [Part:inventory]
        Line:inv
        Repeat:inv: inventory entries
       
    [Line:inv]
        Field:inv, qty, rate
       
    [Field:inv]
        Use:VchNo
        Set as: $stockitemname
        Color:red
        Space Left:5
        Border:thin right
    
    [Field:qty]
        Use:name field
        Set as: $BilledQty
    
    [Field:rate]
        Use:name field
        Set as: $rate
       
    [Collection:vouchercollection]
        Type:vouchers:vouchertype
        Child Of: $$VchTypeSales
        Filter:ledfilter
        Belongs To:Yes
        Fetch:partyledgername, amount, vouchertypename
    
    [System:formulae]
        ledfilter:if ##ledvariable = $$SysName:allitems then $partyledgername contains "" else $partyledgername = ##ledvariable
    
    [System:Variable]
        LedVariable:""
    
    [Variable:LedVariable]
        Type:String
    
    ;;---------------------------------------------------------
    
    [Button: SELECT PARTY]
        Key: ALT + S
        Action: Alter: SParty
    
    [Report: SParty]
        Form : SParty
        Title: "Select Party"
    
    [Form: SParty]
    Parts : SParty
    No Confirm:Yes
    
    [Part : SParty]
    Lines : Select Party
    Repeat:Select Party :partyname
    Break On: #fieldB = $$SysName:Endoflist
    Scroll:Vertical
    
    [Line : Select Party]
    Field:Name Field, FIELDB
    Local:Field: name field : Info : "Select Party :"
    
    [Field : FieldB]
    Use:name field
    Table:table,allitems, endoflist
    Show Table:Always
    Modifies:ledvariable
    ;Storage:partyval
    
    ;[System:UDF]
    ;    partyname :Aggregate: 101
    ;    partyval: String:102
                   
    [Collection:table]
        Title: "Ledger List"
        Type:ledger
        Child Of: sundry debtors
        Belongs To:Yes
        Format: $name, 20
        Format: $parent, 15
        Format: $closingbalance, 10
        Sub Title:"Ledgers"
        Sub Title:"Gorup"
        Sub Title:"Cl Blalance"
        Full Height:Yes
        Align: Left
     


  2. Amit Kamdar

    Amit Kamdar Administrator Staff Member


    from above code .... it is apparent from the Collection that you have made, that you need only SALES voucher.......of selected Ledgers.

    So why not simply obtain the same report from Sales Register and filter only those Parties that you need.

    Same report is already available in default Tally using Alt+F12 range.
     
    Rupal Agarwal likes this.


  3. Rupal Agarwal

    Rupal Agarwal Member


    Thanks for replying sir,
    But the same thing will happen in sales register, there also I can see only one party, but I want multiple parties at one time. That's why I have created another report to use better filter.
     


  4. Amit Kamdar

    Amit Kamdar Administrator Staff Member


    You need to use the RANGE Filter properly..........Look at the below 3 screenshots..... it works.

    Capture 1.PNG

    Capture 2.PNG

    Capture 3.PNG
     
    Rupal Agarwal likes this.


  5. Amit Kamdar

    Amit Kamdar Administrator Staff Member


    And you get all the details also.....

    Capture 4.PNG
     
    Rupal Agarwal likes this.


  6. Rupal Agarwal

    Rupal Agarwal Member


    Sir, my client will not do this long process, he is saying to just simply add filter from that field only.
    He already knows this option, but he wants it in a simple way, That's why if u see the table in filter field I have added the ledger group name and closing stock in the table, so he can apply better filter for the report.
     


  7. Rupal Agarwal

    Rupal Agarwal Member


    Sir default tally reports are good, but he wants the report according to his needs (simplified), that's why he wants a separate report for the same.
     


  8. Rupal Agarwal

    Rupal Agarwal Member


    Can anyone please help in this?????
     


  9. Maulik Patel

    Maulik Patel Active Member


    I can not provide you whole code but yes I can give you logic for it. You can code accordingly.

    • Add one collection which get selected party names from "partyname" aggregate.
    • Create one part and repeat line with new collection
    • Store "partyval" in one variable (Variable at field level of repeat line)
    • In that line put an explode of your existing part which is repeating "vouchercollection" collection
    • In "vouchercollection" collection write
    Type:vouchers:ledger
    Child Of: <YOUR VARIABLE NAME>
     
    Rupal Agarwal likes this.


  10. Rupal Agarwal

    Rupal Agarwal Member


    Thank you sir for replying.

    I am not getting this properly can you please a bit more.

    • Add one collection which get selected party names from "partyname" aggregate.
    Sir like this :

    [Collection: PartyCollection]
    Type : Partyname : Company
    Child Of : ##SVCurrentCompany

    • Create one part and repeat line with new collection (sir new part in display report or selection report)
    • Store "partyval" in one variable (Variable at field level of repeat line) ( not getting this sir :oops::mad:)
    • In that line (Which line) put an explode of your existing part which is repeating "vouchercollection" collection.
    The collection which is repeating Voucher collection already has an explode part for inventory.
    • In "vouchercollection" collection write
    Sir Like this :

    [Collection:vouchercollection]
    Type:vouchers:vouchertype
    Child Of: $$VchTypeSales
    Filter:ledfilter
    Belongs To:Yes
    Fetch:partyledgername, amount, vouchertypename
    Type:vouchers:ledger
    Child Of: ##partyval
     


  11. udaya

    udaya Active Member


    Amith and ALl Members ... can we add LED Contact detailes ( Like Mobile No, Telphone No,...) to F12 Range Fillter ??? Please Give me Ref...
    Thanks advance.
     


  12. Amit Kamdar

    Amit Kamdar Administrator Staff Member


    Refer to your own POST on 15-Nov-22 .......
    In the REPORT where you want LED Contact Details....... have invisible or visible fields containing your required data...... then follow the same principles of adding object to the F12 Range filter.
     


Share This Page