Saturday, January 30, 2016

Tally ERP TDL Functions

Tally Definition Language (TDL) Functions useful while writing or coding for Tally ERP Accounting Software. Tally developer software users also get information of every function through this table.

Function
Syntax
Return Value
Remarks
$$Abs
$$Abs : <Expression>
Same as parameter type
Returns the absolute (positive) value for the given expression
$$Alias
$$Alias
String
$$Alias returns alternate value for the current Object. Stock Item and Ledger have Alias name.
Example:-
Fetch Ledger-Alias using SQLRequest()
$$Allow
$$Allow : <mode> : <family-report-name>
Logical
Checks whether the current user has permission to access the specified object or report.
$$CollectionList
$$CollectionList: <Method/Field> :
<PositionNumber> : <Collection>
Method/ Field
Datatype
$$CollectionList function is used to fetch the nth Method/field of a Collection.
Sample program using $$CollectionList  function
$$DateFrom
$$DateFrom
Date
Returns the Period starting date
$$DateTo
$$DateTo
Date
Returns the Period ending date
$$FullList
$$FullList : <Collection> : <FieldList>
Method/ Field
Datatype
$$FullList function is used to fetch any Method/Field of a Collection. The Method/Field values are separated by commas.
$$InPrintMode
$$InPrintMode
Logical
Returns true if the selected mode is Print, otherwise false.
Refer program 
$$IsContra
$$IsContra : <VoucherTypeName>
Logical
Checks whether the specified VoucherType is Contra
$$IsCreditNote
$$IsCreditNote : <VoucherTypeName>
Logical
Checks whether the specified VoucherType is CreditNote
$$IsDebitNote
$$IsDebitNote : <VoucherTypeName>
Logical
Checks whether the specified VoucherType is DebitNote
$$IsDelNote
$$IsDelNote : <VoucherTypeName>
Logical
Checks whether the specified VoucherType is Delivery Note
$$IsEmpty
$$IsEmpty: <parameter>
Logical
Checks whether the parameter passed is empty or not. Parameter type can be String; Numeric; Date; Logical

Example:-
$$IsEmpty:  $$Value


$$IsFirstObject
$$IsFirstObject
Logical
Returns true if the current Object is the 1st object of the Collection. Refer program
$$IsJournal
$$IsJournal : <VoucherTypeName>
Logical
Checks whether the specified VoucherType is Journal
$$IsMemo
$$IsMemo : <VoucherTypeName>
Logical
Checks whether the specified VoucherType is Memo
$$IsPayment
$$IsPayment : <VoucherTypeName>
Logical
Checks whether the specified VoucherType is Payment Voucher
$$IsPhyStock
$$IsPhyStock : <VoucherTypeName>
Logical
Checks whether the specified VoucherType is PhysicalStock Voucher
$$IsPurchase
$$IsPurchase : <VoucherTypeName>
Logical
Checks whether the specified VoucherType is Purchase Voucher
$$IsPurcOrder
$$IsPurcOrder : <VoucherTypeName>
Logical
Checks whether the specified VoucherType is Purchase Order Voucher
$$IsRcptNote
$$IsRcptNote : <VoucherTypeName>
Logical
Checks whether the specified VoucherType is ReceiptNote Voucher
$$IsReceipt
$$IsReceipt : <VoucherTypeName>
Logical
Checks whether the specified VoucherType is Receipt Voucher
$$IsRejIn
$$IsRejIn : <VoucherTypeName>
Logical
Checks whether the specified VoucherType is RejectionIn Voucher
$$IsRejOut
$$IsRejOut : <VoucherTypeName>
Logical
Checks whether the specified VoucherType is RejectionOut Voucher
$$IsRevJrnl
$$IsRevJrnl : <VoucherTypeName>
Logical
Checks whether the specified VoucherType is Reverse Journal Voucher
$$IsSales
$$IsSales : <VoucherTypeName>
Logical
Checks whether the specified VoucherType is Sales Voucher
$$IsSalesOrder
$$IsSalesOrder : <VoucherTypeName>
Logical
Checks whether the specified VoucherType is Sales Order Voucher
$$IsStockJournal
$$IsStockJournal : <VoucherTypeName>
Logical
Checks whether the specified VoucherType is StockJournal Voucher

Function
Syntax
Return Value
Remarks
$$LocaleString
$$LocaleString: <string>
Unicode string
Accepts a string parameter and returns unicode string. This is to provide multi-lingual support to Tally
$$IsVchTypeOf Family
$$IsVchTypeOfFamily :<VoucherTypeName>
Logical
Checks whether the Field value of the <Field> is equal to the <ExpC>

Example:
$$IsVchTypeOfFamily: $VoucherTypeName : "Payment"

Remarks:
The function $$IsVchTypeOfFamily returns true if the Field-value of $VoucherTypeName is "Payment"
$$MachineDate
$$MachineDate
Date
Returns the Date as per your computer system settings

Example:-
Select $$MachineDate from Company
$$MachineTime
$$MachineTime
String
Returns the Time as per your computer system settings

Example:-
Select $$MachineTime from Company
$$Max
$$Max : <Expression>
Same as parameter type
Returns the Miniimum value.  The parameter type can be Numeric, Date or String
Example:-
$$Max:100:15  returns 100
$$Min
$$Min : <Expression>
Same as parameter type
Returns the Miniimum value.  The parameter type can be Numeric, Date or String
Example:-
$$Min:100:15  returns 15
$$MonthEnd
$$MonthEnd: <ExpD>
Date
Returns the ending date of the specified month.

Example:-
Select $$MonthEnd:$$MachineDate from Company
$$MonthOfDate
$$MonthOfDate:<ExpD>
Numeric
Returns the Month (example 12) of the specified date

Example:-
Select $$MonthOfDate:$$MachineDate from Company
$$MonthStart
$$MonthStart: <ExpD>
Date
Returns the starting date of the specified month.

Example:-
Select $$MonthStart:$$MachineDate from Company
$$Round
$$Round : <ExpN> : <RoundLimit>
Numeric
$$Round function is used to round-off a value
Example:-
$$Round : 125.72 : 0.10   returns 125.70  
$$RoundDown
$$RoundDown : <ExpN> : <RoundLimit>
Numeric
$$Round function is used to round-off a value
Example:-
$$Round : 125.72 : 0.10   returns 125.70  
$$RoundUp
$$RoundUp : <ExpN> : <RoundLimit>
Numeric
$$Round function is used to round-off a value
Example:-
$$Round : 125.72 : 0.10   returns 125.80  
$$SelectedCmps
$$SelectedCmps
Numeric
Returns the number of companies currently open in Tally Software. Refer Example at

$$SerialNumber
$$SerialNumber
String
Returns the Tally Serial Number.
$$String
$$String: <ExpN>
String
Converts numeric expression into string.
Example:-
[Field: My Field]
  Set as : $$String:500
$$StringLength
$$stringLength: <ExpC>
Numeric
Returns the length of the string parameter
Example:-
[Field: My Field]
  Set as: $$StringLength:"Shweta Softwares"
$$StringPart
$$StringPart: <expC>: <StartPos>: <Length>
String
Used to extract a sub-string from another string.
Example:-
[Field: My Field]
  Set as: $$StringPart:"Shweta Softwares":7:9

Remarks:-
This will return "Computers".i.e. beginning at the 8th character, it returns the next 9 characters. Please note that the 1st character is numbered as 0.
$$StringRemWord
$$StringRemWord: <Index>: <ExpC>
String
Returns the remaining word from the <ExpC> string after the Index.

Example:-
$$StringRemWord:2:"Shweta Softwares Gandhidham"
This returns the word "Gandhidham". i.e. the word after 2 words as specified by the Index
$$StringWord
$$StringWord: <Index>: <ExpC>
String
Returns the word specified by the Index.

Example:-
$$StringWord:2:"Shweta Softwares Gandhidham"
This returns the word "Computers". i.e. the 2nd word as specified by the Index
$$SysName
$$SysName: <reserved-string>
String
Specifies the System-name for the reserved string
$$SystemPeriod From
$$SystemPeriodFrom
Date
Returns the value for the System variable SVFROMDATE

Example:-
Select $$SystemPeriodFrom from Company
or
Select ##SVFROMDATE from Company
$$SystemPeriodTo
$$SystemPeriodTo
Date
Returns the value for the System variable SVTODATE

Example:-
Select $$SystemPeriodTo from Company
or
Select ##SVTODATE from Company
$$Upper
$$Upper: <ExpC>
String
Converts the string to upper-case
$$Value
$$Value
Method/Field data type
Returns the value of a field/method.

Example:-
[Field: My Field]
  Use: Name Field
  Validate: NOT $$IsEmpty:$$Value

In the above code, function $$Value is used which returns the value of the field 'My Field'.

$$YearOfDate
$$YearOfDate: <ExpD>
Numeric
Returns the Year for the specified Date.

Example:-
Select $$YearOfDate:$$MachineDate from Company

The above returns the year (.i.e 2007)
$$YearEnd
$$YearEnd: <ExprD>
Date
Returns the Year end-date for the Current year (based on the Date passed as parameter)

Example:-
Select $$YearEnd:##SVTODATE from Company

The above returns the year-end date (ex. in my system it returns 31-3-2008).
$$ZeroFIll
$$ZeroFill : <ExpC> : <ExpN>
String
$$Zero pads the given string with zeros.
Example:-
$$Zero : "525" : 5   returns  "00525"

How to print on both side pages in Tally ERP 9

1. Open Tally ERP 9, press ‘Alt+P’ for print, and then press ‘Alt+S’, select your printer, press enter.


2. Click on Finishing tab, check on Print on Both Sides (Manually), press OK. 



3. And you are done. Press Alt+P to print doucment.