Thursday, December 14, 2017

How to create Custom Menu on Tally Start Instead of Gateway of Tally

In this Post I am sharing sample code about how to change and create custom menu on Tally.ERP9 Start instead of Gateway of Tally. This can be use full for security purpose were we want or employee to have only those options which we want on there screen and which cannot be achieved using default Tally.ERP9 security feature. So lets start.


[System: Formula]
locDefaultGateway                 : $$LocaleString:"Gateway of Tally"
    locInvv   :$$LocaleString:"Inventory Vouchers"
locRepo   :$$LocaleString:"Reports"

[Menu: Vouchers Entry]
Key Item    : @@locInventoryVouchers : T : Create Collection : Company InvVouchers : $$IsInventoryOn:$$CurrentSimpleCompany 

[Menu: Reports]
Key Item    : @@locDayBook                : D : Display   : Day Book              : NOT $$IsEmpty:$$SelectedCmps
Item    : BLANK
Add : Key Item  : GodownWise Stock : G : Display Collection : Godown Summary : $$IsMultiGodownOn:$$CurrentSimpleCompany
Control : @@locGodowns : $$IsMultiGodownOn AND @@IndianAccTerminology AND $$Allow:Display:GodownWiseSummary


[Menu: Default Gateway]

Title       : $$LocaleString:"Gateway of Tally"
    Indent  : @@locIndentMasters
    Item    : BLANK
Key Item : @@locAccountsInfo : A : Menu : Accounts Info. : NOT $$IsEmpty:$$SelectedCmps 
Key Item : @@locPayrollInfo : L : Menu : Payroll Info. : NOT $$IsEmpty:$$SelectedCmps AND ($$AddOnInfo:PayrollEnabled) AND $$IsPayrollOn:$$CurrentSimpleCompany 
Key Item : @@locInventoryInfo : I : Menu : Inventory Info. : NOT $$IsEmpty:$$SelectedCmps AND $$IsInventoryOn:$$CurrentSimpleCompany 
Key Item : @@locQuickSetup : K : Menu : Quick Setup : @@IsIndian AND NOT $$IsEmpty:$$SelectedCmps 
    Item    : BLANK
    Indent  : @@locIndentTransactions
    Item    : BLANK
    Key Item    : @@locAccountingVouchers : V : Create Collection : Company AccVouchers
    Key Item    : @@locInventoryVouchers : T : Create Collection : Company InvVouchers : $$IsInventoryOn:$$CurrentSimpleCompany 
    Key Item    : @@locOrderVouchers : E : Create Collection : Company OrdVouchers : ($$IsPurcOrdersOn:$$CurrentSimpleCompany OR $$IsSalesOrdersOn:$$CurrentSimpleCompany OR $$IsJobWorkOn:$$CurrentSimpleCompany)
    Key Item    : @@locPayrollVouchers : Y : Create Collection : Company Payroll Vouchers : $$IsPayrollOn:$$CurrentSimpleCompany   
Key Item    : @@locAttendanceVouchers : C : Create Collection : Company Attendance Vouchers : $$IsPayrollOn:$$CurrentSimpleCompany AND $$NumAttdTypes >= 1 
    Item    : BLANK
    Indent  : @@locIndentUtilities
    Item    : BLANK
    Indent  : @@locIndentReports
    Item     : BLANK
    Key Item    : @@locBalanceSheet      : B : Display           : Balance Sheet : $$IsAccountingOn:$$CurrentCompany
    Key Item    : @@locProfitLossAcc      : P : Display           : Profit and Loss : $$IsAccountingOn:$$CurrentCompany
    Key Item    : @@locIncomeExpenseAcc  : N : Display           : Profit and Loss : $$IsAccountingOn:$$CurrentCompany
    Key Item    : @@locStockSummary      : S : Display           : Stock Summary : $$IsInventoryOn:$$CurrentCompany
    Key Item    : @@locRatioAnalysis      : R : Display           : Ratio Analysis : $$IsAccountingOn:$$CurrentCompany
    Item    : BLANK
    Key Item    : @@locDisplay            : D : Menu : Display Menu
    Key Item    : @@locMultiAccPrinting  : M : Menu : Printing Menu : (($$LicenseInfo:IsLicensedMode) OR (($$LicenseInfo:RemoteSerialNumber) > 0))
Item    : BLANK
    Key Item    : @@locQuit : Q
Control : @@locAccountsInfo : $$Allow:Create:AccountsMasters OR $$Allow:Alter:AccountsMasters OR $$Allow:Display:AccountsMasters
Control : @@locPayrollInfo : $$IsPayrollOn AND ($$Allow:Create:PayrollMasters OR $$Allow:Alter:PayrollMasters OR $$Allow:Display:PayrollMasters)
Control : @@locInventoryInfo : $$IsInventoryOn AND ($$Allow:Create:InventoryMasters OR $$Allow:Alter:InventoryMasters OR $$Allow:Display:InventoryMasters)
Control : @@locQuickSetup : @@IsIndian
    Control : @@locAccountingVouchers : $$Allow:Create:Vouchers AND $$Allow:Create:AccountingVouchers AND $$CheckAllowedAccVchTypeMenu
Control  : @@locPayrollVouchers : $$IsPayrollOn:$$CurrentSimpleCompany AND $$Allow:Create:PayrollVouchers AND $$CheckAllowedPayrollVchTypeMenu
Control  : @@locAttendanceVouchers : $$IsPayrollOn:$$CurrentSimpleCompany AND ($$Allow:Create:AttendanceVouchers OR $$Allow:Create:Attendance) AND (NOT $$Allow:Create:Payroll OR NOT $$Allow:Create:PayrollVouchers) AND $$CheckAllowedAttendanceVchTypeMenu
    Control : @@locInventoryVouchers : $$IsInventoryOn AND $$Allow:Create:Vouchers AND $$Allow:Create:InventoryVouchers AND $$CheckAllowedInvVchTypeMenu
    Control : @@locOrderVouchers : $$IsInventoryOn AND ($$IsPurcOrdersOn OR $$IsSalesOrdersOn OR $$IsJobWorkOn) AND $$Allow:Create:Vouchers AND $$Allow:Create:OrderVouchers AND $$CheckAllowedOrderVchTypeMenu
    Control : @@locBalanceSheet      : $$Allow:Display:BalanceSheet
    Control : @@locRatioAnalysis      : $$Allow:Display:BalanceSheet
    Control : @@locProfitLossAcc      : $$Allow:Display:ProfitLossAc AND NOT $PLasIncomeExpense:Company:$$CurrentCompany
    Control : @@locIncomeExpenseAcc  : $$Allow:Display:ProfitLossAc AND $PLasIncomeExpense:Company:$$CurrentCompany
    Control : @@locStockSummary : $$IsInventoryOn AND $$Allow:Display:StockSummary
Control : @@locMultiAccPrinting : (($$LicenseInfo:IsLicensedMode) OR (($$LicenseInfo:RemoteSerialNumber) > 0))
    Option : Import Direct : NOT $$IsTallyClient AND NOT $$IsTallyServer
Option : Import InDirect : $$IsTallyClient OR $$IsTallyServer
    Option : FinalAcctsMenu : @@UseFinalAcctsMenu
    Option : MultiAccountButton : (($$LicenseInfo:IsLicensedMode) OR (($$LicenseInfo:RemoteSerialNumber) > 0))
Button : Select Company
Delete :  Key Item    : Stock Report : C : Display Collection    : Stock Query1


In above code i have change the default Tally.ERP9 Gateway of Tally menu to "Main menu" and added the key items which i want my employees to have it on there screen.



I have also added key item which will take me to Default Tally.ERP9  Gateway of Tally but provided i have access to it. So using the above code my employee will only be able to use all the voucher type which can be accessed using Invoice Voucher Option and reports which I want them to see.

Note:- To have it more secure you will need to use default tally security feature on with security level set so that shortcut cannot be used.


Note:- This is just for education purpose you will need to edit the code as per your requirements.

No comments:

Post a Comment