Tally Chapter 145 TDL to Replace Ledger by Rajiv Mishra Computer class

 





Few lines of this code is missing. Watch the video for full code.




[#Form: Ledger Vouchers]

Add : Button : After : ChangeCompany : RAJIVBTNLD

Set: vRajivOldLedName: #LedgerName

[#Report: Ledger Vouchers]

Variable: vRAJIVSource

[#Form: Stock Vouchers]

Add : Button : After : ChangeCompany : RAJIVBTNST

Set: vRajivOldItemName: #StockItemName

[#Report: Stock Vouchers]

Variable: vRAJIVSource



[Button: RAJIVBTNDB]

Title: "Replace Ledger"

Key: Ctrl+R

Action List : RAJIVDayBk, RAJIVDayBkRep

Scope : Selected Lines


[Key: RAJIVDayBk]

Key: Ctrl + R

Action: Set: vRAJIVSource : "DayBook"

Scope : Selected Lines


[Key: RAJIVDayBkRep]

Key: Ctrl + R

Action: Execute : RajivAlterVoucherReport

Scope : Selected Lines


[Button: RAJIVBTNLD]

Title: "Replace Ledger"

Key: Ctrl+L

Action List : RAJIVLed,RAJIVSetLed, RAJIVLedExe

Scope : Selected Lines


[Key: RAJIVLed]

Key: Ctrl+L

Action: Set: vRAJIVSource : "Ledger"

Scope : Selected Lines


[Key: RAJIVSetLed]

Key: Ctrl+L

Action: Set: vRajivSelectedType : "Ledger"

Scope : Selected Lines



[Key: RAJIVLedExe]

Key: Ctrl+L

Action: Execute : RajivAlterVoucherReport

Scope : Selected Lines


[Report: RajivAlterVoucherReport]


Form : RajivAlterVoucherForm

Variable : SVFromDate, SVToDate

Title : "Replace Selected Ledger Here"


[Form: RajivAlterVoucherForm]


Width : 50% Screen

Height : 40% Screen

Top Part : RAJIVLSELECTPart

Part : RAJIVLEDPart

Bottom Part : RAJIVSTKPart

Local : Field : RAJIVLEDField : Modifies : vRajivOldLedName : Yes

Local : Field : RAJIVLEDField : Variable : vRajivOldLedName

Local : Field : RAJIVNEWLEDField: Modifies : vRajivNewLedName : Yes

Local : Field : RAJIVNEWLEDField: Variable : vRajivNewLedName

Local : Field : RAJIVITEMField : Modifies : vRajivOldItemName : Yes

Local : Field : RAJIVITEMField : Variable : vRajivOldItemName

Local : Field : RAJIVNEWITEMField: Modifies : vRajivNewItemName : Yes

Local : Field : RAJIVNEWITEMField: Variable : vRajivNewItemName

Local : Field : RAJIVSELField : Modifies : vRajivSelectedType : Yes

Local : Field : RAJIVSELField :Variable : vRajivSelectedType


Set : SVFromDate : ##SVFromDate

Set : SVToDate : ##SVToDate

On : Form Accept: Yes: Call: RajivAlterSelectedVchrs


[Part : RAJIVLSELECTPart]

Lines : RAJIVSELLine1

Space Top : 1


[Part : RAJIVLEDPart]

Lines : RAJIVLEDLine1, RAJIVLEDLine2

Space Bottom : 1

Invisible : ##vRajivSelectedType ="Stock Item"


[Part : RAJIVSTKPart]

Lines : RAJIVItemLine1, RAJIVItemLine2

Space Bottom : 1

Invisible : ##vRajivSelectedType = "Ledger" OR $$NumItems:RajivStockItemVouchers <=0


[Line : RAJIVSELLine1]

Field : Long Prompt, RAJIVSELField,

Local : Field : Long Prompt : Info : $$LocaleString:"Replace:"

Space Bottom : 1

Space Top : 1


[Line : RAJIVLEDLine1]

Field : Long Prompt , RAJIVLEDField,

Local : Field : Long Prompt : Info : $$LocaleString:"Select Ledger to be replaced:"

Space Bottom : 1

Space Top : 1


[Line : RAJIVLEDLine2]

Right Fields : Long Prompt , RAJIVNEWLEDField

Local : Field : Long Prompt: Info : $$LocaleString:"New Ledger:"

Space Bottom : 1


[Field :RAJIVSELField]

Use : Short Name Field

Table : ListOfRajivSelect

Set as : ##vRajivSelectedType

Modifies : vRajivSelectedType

Variable : vRajivSelectedType

Set Always : YEs


[Field : RAJIVLEDField]

Use : Name Field

Table : ListOfLedgers,EndOfList

Show Table : Always

Set as : ##vRajivOldLedName

Modifies : vRajivOldLedName

Variable : vRajivOldLedName

Set Always : if #RAJIVSELField = "Ledger" or ##vRajivSelectedType = "" then Yes else No

Width : @@NarrWidth

;Skip : if (##vRAJIVSource = "Ledger") then yes else no

[Field : RAJIVNEWLEDField]

Use : Name Field

Table : ListOfLedgers,EndOfList

Show Table : Always

Set as : ##vRajivNewLedName

Modifies : vRajivNewLedName

Variable : vRajivNewLedName

Width : @@NarrWidth

Set Always : if #RAJIVSELField = "Ledger" or ##vRajivSelectedType = "" then Yes else No


[Line : RAJIVItemLine1]

Field : Long Prompt , RAJIVItemField,

Local : Field : Long Prompt : Info : $$LocaleString:"Select Stock Item to be replaced:"

Space Bottom : 1



[Line : RAJIVItemLine2]

Right Fields : Long Prompt, RAJIVNEWItemField

Local : Field : long Prompt: Info : $$LocaleString:"New Stock Item:"

Space Bottom : 1


[Field : RAJIVItemField]

Use : Name Field

Table : ListOfStockItems, EndOfList

Show Table : Always

Set as : ##vRajivOldItemName

Modifies : vRajivOldItemName

Variable : vRajivOldItemName

Set Always : if #RAJIVSELField = "Stock Item" or ##vRajivSelectedType = "" then Yes else No

Width : @@NarrWidth

;Skip : if (##vRAJIVSource = "Ledger") then yes else no

[Field : RAJIVNEWItemField]

Use : Name Field

Table : ListOfStockItems, EndOfList

Show Table : Always

Set as : ##vRajivNewItemName

Modifies : vRajivNewItemName

Variable : vRajivNewItemName

Width : @@NarrWidth

Set Always : if #RAJIVSELField = "Stock Item" or ##vRajivSelectedType = "" then Yes else No

[Collection: RajivVchCollection]


Switch: RajivOptn : Rajiv SpeciFic Vouchers : ##vRAJIVSource = "DayBook"

Switch: RajivOptn : Rajiv Ledger Vouchers : ##vRAJIVSource = "Ledger"

Switch: RajivOptn : Rajiv StockItem Vouchers : ##vRAJIVSource = "Stock Item"


[!Collection : Rajiv SpeciFic Vouchers]

Source Collection:Vouchers of Company

Fetch : *, AllLedgerEntries.* ;, CategoryAllocations.*, CostCentreAllocations.*


[!Collection: Rajiv Ledger Vouchers]

Type: Vouchers : Ledger

Child of : ##vRajivOldLedName

Fetch : *, AllLedgerEntries.* ;, CategoryAllocations.*, CostCentreAllocations.*

[!Collection: Rajiv Stock Item Vouchers]

Type: Vouchers : StockItem

Child of : ##vRajivOldItemName

Fetch : *, AllLedgerEntries.* , AllInventoryEntries.*;, CategoryAllocations.*, CostCentreAllocations.*

[Collection: ListOfRajivSelect]

List Name: "Ledger"

Title: "To Replace"


[System: Variable]

vRajivOldLedName : ""

vRajivNewLedName : ""

vRajivOldItemName : ""

vRajivNewItemName : ""

vRajivSelectedType : ""


[Variable: vRAJIVSource]

Type: String

Default : ""

Volatile : No


[Variable : vRajivVchPrgCnt]

Type: Number


[Variable: vRajivOldLedName]

Type :String

Default: ""


[Variable: vRajivNewLedName]

Type :String

Default: ""


[Variable: vRajivOldItemName]

Type :String

Default: ""


[Variable: vRajivNewItemName]

Type :String

Default: ""


[Variable: vRajivSelectedType]

Type :String

Default: ""



[Function: RajivAlterSelectedVchrs]

VARIABLE : ProgressCount : Number

VARIABLE : LastStatus : String

Variable : YesToAll : String

Variable : pExlVchId : String


05 : Set File Log On

07 : Log: $$String:##vRAJIVSource

10 : QUERY BOX : "Alter Voucher ? \n Are You Sure?" : Yes: No

20 : IF : NOT $$LastResult

30 : BREAK

40 : ENDIF

50 : SET : ProgressCount : 1

60 : SET : LastStatus : ""

70 : SET : YesToAll : "No"

110 : IF : NOT ($$NumItems:RajivVchCollection > 0)


120 : MSGBOX : "Status" : "No Data to Process!!"

130 : RETURN

140 : END IF


145 : Set: vRajivNewItemName : if #RAJIVSELField = "Ledger" then "" else ##vRajivNewItemName

146 : Set: vRajivOldItemName : if #RAJIVSELField = "Ledger" then "" else ##vRajivOldItemName

147 : Set: vRajivNewLedName : if #RAJIVSELField = "Stock Item" then "" else ##vRajivNewLedName

148 : Set: vRajivOldLedName : if #RAJIVSELField = "Stock Item" then "" else ##vRajivOldLedName


150 : START PROGRESS : ($$NumItems:RajivVchCollection) : "Voucher" : "Alteration"

160 : WALK COLLECTION : RajivVchCollection

165 : Set: pExlVchId : "ID:"+ $$String:$MasterId

190 : SET : LastStatus : ""

195 : Log: $$String:##pExlVchId


210: Call: RNGAlterLedEntries:##pExlVchId



370 : SHOW PROGRESS : ##ProgressCount

380 : Log: $$String:##ProgressCount+ "-Updated Voucher No " + "- " +$$String:##pExlVchId

400 : SET : ProgressCount : ##ProgressCount + 1

410 : END WALK

420 : END PROGRESS

440 : MSGBOX : "Status" : "Process completed !!"


450 : RETURN : TRUE


[Function: RNGAlterLedEntries]


Parameter : ExlVchMasterId : String

Variable : vCountUpdate : Number

Variable : vRateUOM : String

Variable : StrRate : String

Variable : vRate : Number

Variable : vBilledQty : Number

Variable : vActualQty : Number

Variable : strBilledQty : Quantity

Variable : strActualQty : Quantity

Variable : vItemAmount : Amount

Variable : vQtySign : Logical

Variable : vGSTTransType : String


Object : Voucher :##ExlVchMasterId

0120 : SET TARGET

0130 : SET OBJECT

0135 : Set: vCountUpdate : 0


0140 : WALK : LedgerEntries

0160 : SET TARGET : LedgerEntries[$$LoopIndex]

0180 : IF : (Not $$IsEmpty:##vRajivNewLedName) AND ##vRajivOldLedName = $LedgerName

0190 : SET TARGET : LedgerEntries[$$LoopIndex]

0200 : Set: vGSTTransType :$$String:($(Ledger, ##vRajivNewLedName).GSTDetails[1].GSTNatureofTransaction)

0205 : Set Value: LedgerName:$$String:##vRajivNewLedName

0210 : SET VALUE : TaxClassificationName : $TaxClassificationName:ledger:$$String:##vRajivNewLedName

0215 : Log: $$String:##vGSTTransType

0218 : Set Value : GSTOVRDNNATURE :##vGSTTransType

0220 : SET TARGET : ..

0225 : END IF

;0235 : If: $IsBankingEnabled:Ledger:$LedgerName

0240 : WALK : Bank Allocations

0250 : SET TARGET : BankAllocations[$$LoopIndex]

0260 : Set Value: BankPartyName:$$String:##vRajivNewLedName;

;0290 : Set Value: InstrumentDate:##ExlInstDate;@@RajivInsDate

;0300 : Set Value: BankersDate:##ExlBankDate;@@RajivBankDate

0410 : SET TARGET : ..

0420 : END WALK

;0430 : END IF


0520 : END WALK


0540 : Walk : Inventory Entries

0545 : SET TARGET : Inventory Entries[$$LoopIndex]

0550 : IF :(Not $$IsEmpty:##vRajivNewItemName)AND ##vRajivOldItemName = $StockItemName

0555 : SET TARGET : Inventory Entries[$$LoopIndex]

0557 : Set: vQtySign : $$IsInwards:$BilledQty

0558 : Log: $$String:##vQtySign

0560 : Set Value: StockItemName:$$String:##vRajivNewItemName

0565 : SET : vRateUOM : $Baseunits:StockItem:##vRajivNewItemName

0570 : Set : vRate :$$Number:$Rate

0575 : Set : StrRate : $$String:##vRate + "/" + $$String:##vRateUOM

0580 : Set Value: Rate: $$AsRate:##StrRate

0630 : SET : vBilledQty : $$Number:$BilledQty

0640 : SET : vActualQty : $$Number:$ActualQty

0645 : Set : vItemAmount : $Amount

0650 : Set : strBilledQty :$$AsQty:($$String:##VBilledQty+ " "+ $$String:##vRateUOM)

0660 : Set : strActualQty :$$AsQty:($$String:##vActualQty+ " "+ $$String:##vRateUOM)

0681 : SET VALUE : ActualQty :0

0682 : SET VALUE : BilledQty :0

0683 : SET VALUE : Amount :0


0685 : SET VALUE : ActualQty : if ##vQtySign= Yes then $$TgtObject:$$AsQty:##strActualQty *1 else $$TgtObject:$$AsQty:##strActualQty *-1

0690 : SET VALUE : BilledQty : if ##vQtySign= Yes then $$TgtObject:$$AsQty:##strBilledQty *1 else $$TgtObject:$$AsQty:##strBilledQty *-1

0695 : SET VALUE : Amount :##vItemAmount


0700 : Walk : Batch Allocations

0710 : SET TARGET : BatchAllocations[$$LoopIndex]

0730 : SET : vBilledQty : $$Number:$BilledQty

0740 : SET : vActualQty : $$Number:$ActualQty

0745 : Set : vItemAmount : $Amount

0750 : Set : strBilledQty :$$AsQty:($$String:##VBilledQty+ " "+ $$String:##vRateUOM)

0760 : Set : strActualQty :$$AsQty:($$String:##vActualQty+ " "+ $$String:##vRateUOM)

0781 : SET VALUE : ActualQty :0

0782 : SET VALUE : BilledQty :0

0783 : SET VALUE : Amount :0


0785 : SET VALUE : ActualQty :if ##vQtySign = Yes then $$TgtObject:$$AsQty:##strActualQty * 1 else $$TgtObject:$$AsQty:##strActualQty *-1

0790 : SET VALUE : BilledQty :if ##vQtySign = Yes then $$TgtObject:$$AsQty:##strBilledQty * 1 else $$TgtObject:$$AsQty:##strBilledQty *-1

0795 : SET VALUE : Amount :##vItemAmount

0800 : Set Target: ..

0820 : End Walk

0830 : Walk : Accounting Allocations

0840 : IF : (Not $$IsEmpty:##vRajivNewLedName) AND ##vRajivOldLedName= $LedgerName

0850 : SET TARGET : Accounting Allocations[$$LoopIndex]

0860 : Set Value: LedgerName :##vRajivNewLedName

0870 : Set Target: ..

0880 : End If

0890 : End Walk

0900 : END IF

0910 : SET TARGET : ..

0920 : End Walk

0930 : SET TARGET : ..

0940 : ACCEPT ALTER


0945 : Set: vCountUpdate : ##vCountUpdate+1

0950 : SET TARGET : ..


टिप्पणियाँ

इस ब्लॉग से लोकप्रिय पोस्ट

Tally Chapter 153 TDL for Custom List of Stock Item By Rajiv Mishra Computer Class

Tally Chapter 105 TDL for Receipt contra Payment BULK Entry by Rajiv Mishra Computer Class

TDL CODE for New Column in Invoice by Rajiv Mishra Computer class