Auto Sales Voucher

Discussion in 'Tally Developer' started by kosi, Apr 24, 2021.

    
  1. kosi

    kosi Member


    fellow programmers. i,m trying to learn tdl on functions. i have done sales voucher screen but when form is accepted, the function is not able to capture sales transaction automatically. its giving " Unknown action 'Start batch post error' " in the calculator panel. the codes details are bellow. please help me resolve this issue.

    [#Menu: Gateway of Tally]

    Add : Item : "Multiple Sales Entry" : Alter : MultiSaleRep

    [Report : MultiSaleRep]

    Form : MultiSaleRep
    Object : Company

    ;Fetch Collection: Sales Support Ledgers Extract, Party Ledgers Extract


    [form:MultiSaleRep]
    Height:100% Screen
    Width:100% Screen
    Button:Refresh TDL
    Part:MultiSaleRep
    On : Form Accept : yes : Form Accept
    On : Form Accept : yes : Call : CphSale BulkAutoEntry;MultipleSalesEntryFun

    [Part:MultiSaleRep]
    Line:MultiSaleRep,MultiSaleRep1,AmtLin,DebitLin
    [Line:MultiSaleRep]
    Right Field:DatF,DatF1
    Local:Field:DatF:Info:"Date"

    [Field:DatF]

    [Field:DatF1]
    Type : Date
    Use : Short Date Field
    Storage : DateStorage
    Width:mad:@ShortWidth

    [Line:MultiSaleRep1]
    Field:CrF,CrF1
    Local:Field:CrF:Info:"Cr"

    [field:CrF]

    [field:CrF1]
    Use:name Field
    Table:SalesLedgersColl
    Show Table:Always
    Storage:CrF1Storage

    [line:AmtLin]
    Right Field:AmtLin
    Local:Field:AmtLin:Info:"Amount"
    [Field:AmtLin]
    Use:Short Name Field
    Align:Right

    [Line:DebitLin]
    Field:DebitLin,DebitLin1
    Right Field:AmtField
    Local:Field:DebitLin:Info:"Dr"

    [Field:DebitLin]
    [Field:DebitLin1]
    Width:mad:@ShortWidth
    Table:SundDebtLedgres
    Show Table:Always
    Storage:DebitLin1Storage


    [Field:AmtField]
    Use:Amount Field
    Storage:AmtFieldStorage




    [System:UDF]
    CphSales BulkEntry : Aggregate : 41071
    DateStorage:Date:1
    AmtFieldStorage:Amount:2
    CrF1Storage:String:3
    DebitLin1Storage:String:4


    [Collection:SundDebtLedgres]
    Type:Ledger
    Child Of:$$GroupSundryDebtors


    [Collection:SalesLedgersColl]
    Title:List Of Sales Ledgers
    Type:ledger
    Child Of:$$GroupSales


    ;[Function:MultipleSalesEntryFun]

    [Function: CphSale BulkAutoEntry]

    ;; Procedural Block

    Variable : CphDate : Date
    Variable : CphDrLedgerName : String
    Variable : CphCrLedgerName : String
    Variable : CphAmount : Amount

    Variable : Counter : Number: 1

    001 : Start Batch Post : 10
    005 : START PROGRESS : ($$NumItems:CphSalesCollection) : "Creating Vouchers" : @@CmpMailName : "Creating Sales Vouchers ..."
    007 : WALK COLLECTION : CphSalesCollection ;;Sales Info
    010 : SET : CphDate : $$Date:$Date

    020 : SET : CphDrLedgerName : $PartyLedgerName
    030 : SET : CphCrLedgerName : $SalesLedgerName

    040 : SET : CphAmount : $$AsAmount:$Amount

    050 : SET : SVViewName : $$SysName:AcctgVchView


    060 : NEW OBJECT : Voucher
    070 : SET VALUE : Date : ##CphDate
    080 : SET VALUE : VoucherTypeName : $$VchTypeSales

    090 : SET VALUE : Narration : $Narration

    100 : SET VALUE : Narration : "For Invoice No : " + $VoucherNumber + " Auto Receipt "
    ; 110:End Walk
    ;;stay on same screen after save
    ;120 : SET TARGET ..
    ;130:End Progress
    ;110:End While
    ;;----------------------------------------------------------------------------
    ;;Debit Entry
    110 : INSERT COLLECTION OBJECT : AllLedgerEntries
    120 : SET VALUE : Ledger Name : ##CphDrLedgerName
    140 : SET VALUE : IsDeemedPositive : "Yes"
    141 : SET VALUE : Amount : ##CphAmount * (-1) ;##CphAmount
    150 : SET TARGET : ..

    150a : LOG : $$String:##CphDrLedgerName ;+ $$String:#CphAmount + "Dr"

    ;----------------------------------------------------------------------------
    ;;Credit Entry
    160 : INSERT COLLECTION OBJECT : AllLedgerEntries
    160a: SET TARGET : LedgerEntries
    170 : SET VALUE : Ledger Name : ##CphCrLedgerName
    180 : SET VALUE : Amount : ##CphAmount ;##CphAmount
    190 : SET VALUE : IsDeemedPositive : "No"
    200 : SET TARGET : ..


    210 : SET VALUE : PersistedView : ##SVViewName
    220 : CREATE TARGET

    230 : INCREMENT : Counter
    230a: SHOW PROGRESS : ##Counter
    240 : END WALK
    260 : END PROGRESS


    ;280 : RETURN
    ; 290 : End Batch Post


    [Report: CphSales Daybook]

    Use : Daybook
    Set : VoucherTypeName : "Sales"
    Set : SVFromDate : $$FinYearBeg:##StartDate:$StartingFrom:Company:##SVCurrentCompany
    Set : SVToDate : $$FinYearEnd:##StartDate:$StartingFrom:Company:##SVCurrentCompany


    [Collection: CphSalesCollection]

    Title : "Bulk Sales Entry"
    Type : CphSales BulkEntry : Company
    Child Of : ##SVCurrentCompany

    [System: Variable]
    [Variable : Counter]
    Type: Number
     


  2. Neha19

    Neha19 Member


    Did you find any solution???
     


  3. kosi

    kosi Member


    Long time
     


  4. Neha19

    Neha19 Member


    please share this
     


  5. kosi

    kosi Member


    Free code for beginners on auto sales using function

    [#Menu: Gateway of Tally]

    Add : Item : "Multiple Sales Entry" : Alter : MultiSaleRep

    [Report : MultiSaleRep]

    Form : MultiSaleRep
    Object : Company

    ;Fetch Collection: Sales Support Ledgers Extract, Party Ledgers Extract


    [form:MultiSaleRep]
    Height:100% Screen
    Width:100% Screen
    Button:Refresh TDL
    Part:MultiSaleRepCrPart,MultiSaleRep
    On : Form Accept : yes : Form Accept
    On : Form Accept : yes : Call : CphSale BulkAutoEntry;MultipleSalesEntryFun

    ;;first part
    [Part:MultiSaleRepCrPart]
    Background:red
    Line:MultiSaleRepLinPartoneDate,MultiSaleRepLinPartone
    [Line:MultiSaleRepLinPartoneDate]
    Right Field:DatF,DatF1
    Local:Field:DatF:Info:""

    [Field:DatF]

    [Field:DatF1]
    ;Type : Date
    Use : Short Date Field
    ;Storage : Date
    ;Width:mad:@ShortWidth
    Skip:Yes

    [Line:MultiSaleRepLinPartone]
    Field:CrF,CrF1,CrF2
    Local:Field:CrF:Info:"Date"
    Local:Field:CrF1:Info:"Dr Ledger"
    Local:Field:CrF2:Info:"Cr Ledger"

    [field:CrF]
    Skip:Yes
    Space Left:5

    [field:CrF1]
    Space Left:3

    [Field:CrF2]



    [Collection:SalesLedgersColl]
    Title:List Of Sales Ledgers
    Type:ledger
    Child Of:$$GroupSales



    [Part:MultiSaleRep]
    Line:AmtLin,DebitLin
    Repeat:DebitLin:CphSalesCollection
    Scroll:Vertical
    Break On:$$IsEndOfList:$DebitLin1Storage;$PartyLedgerName


    [Collection: CphSalesCollection]

    Title : "Bulk Sales Entry"
    Type : CphSales BulkEntry : Company
    Child Of : ##SVCurrentCompany



    [line:AmtLin]
    Right Field:AmtLin
    Local:Field:AmtLin:Info:"Amount"
    [Field:AmtLin]
    Use:Short Name Field
    Align:Right

    [Line:DebitLin]
    Border:THICK BOX
    Field:DebitLin,Datefld,DebitLin1,CrLedFld
    Right Field:AmtField
    Local:Field:DebitLin:Info:"Dr"

    [Field:DebitLin]


    [Field:Datefld]
    Type : Date
    Use : Short Date Field
    Storage : Date


    [Field:DebitLin1]
    Type:String
    Width:mad:@ShortWidth
    Table:SundDebtLedgres,EndOfList
    Show Table:Always
    Storage:DebitLin1Storage


    ;;afsdfsgvsdgssssssssssssssssssssssssssssssssssssssssssssssssssssssss

    [Field:CrLedFld]
    Type:String
    Use:Name Field
    Table:SalesLedgersColl;,Endoflist
    Show Table:Always
    Storage:CrLedFldStorage
    Inactive : $$IsEndOfList:$DebitLin1Storage

    [Field:AmtField]
    Type:Amount
    Use:Amount Field
    Storage:Amount
    Inactive :$$IsEndOfList:$DebitLin1Storage





    [System:UDF]
    CphSales BulkEntry : Aggregate : 41071
    Date:Date:41072
    CrLedgerNameFldStorage:String:41073
    DebitLin1Storage:String:41074
    CrLedFldStorage:String:41075
    Amount:Amount:41076


    [Collection:SundDebtLedgres]
    Title:"List Of Sundry Debtors"
    Type:Ledger
    ;Child Of:$$GroupSundryDebtors
    Belongs to : yes
    ;Format : $Name,30
    Align:Center






    ;[Function:MultipleSalesEntryFun]

    [Function: CphSale BulkAutoEntry]

    ;; Procedural Block

    Variable : CphDate : Date
    Variable : CphCrLedgerName : String
    Variable : CphDrLedgerName : String
    Variable : CphAmount : Amount

    Variable : Counter : Number: 1

    001 : Start Batch Post : 10
    005 : START PROGRESS : ($$NumItems:CphSalesCollection) : "Creating Vouchers" : @@CmpMailName : "Creating Sales Vouchers ..."
    007 : WALK COLLECTION :CphSalesCollection ;;Sales Info
    ;010 : SET : CphDate : $$Date:$Date
    010 : SET : CphDate :$Date


    020 : SET : CphCrLedgerName : $CrLedFldStorage
    030 : SET : CphDrLedgerName : $DebitLin1Storage


    040 : SET : CphAmount :$Amount



    060:NEW OBJECT : Voucher
    070: SET VALUE : Date : ##CphDate
    080:SET VALUE : VoucherTypeName : $$VchTypeSales
    080a:LOG : $$String:##CphDate




    120 : SET VALUE : Ledger Name : ##CphDrLedgerName
    140 : SET VALUE : IsDeemedPositive : "Yes"
    141 : SET VALUE : Amount : ##CphAmount * (-1) ;##CphAmount
    ;150 : SET TARGET : ..

    150a : LOG : $$String:##CphDrLedgerName

    ;----------------------------------------------------------------------------
    ;;Credit Entry
    160 : INSERT COLLECTION OBJECT : AllLedgerEntries
    ;160a: SET TARGET : LedgerEntries
    170 : SET VALUE : Ledger Name :##CphCrLedgerName
    180 : SET VALUE : Amount : ##CphAmount ;##CphAmount
    190 : SET VALUE : IsDeemedPositive : "No"
    ;200 : SET TARGET : ..
    200a : LOG : $$String:##CphCrLedgerName


    220 : CREATE TARGET
    240 : END WALK
    260 : END PROGRESS
     


Share This Page