List of TDL Functions

An Alphabetical-list of TDL functions  (Partial list) is provided herewith  for your reference.  
FunctionSyntaxReturn ValueRemarks
$$Abs$$Abs : <Expression>Same as parameter typeReturns the absolute (positive) value for the given expression
$$Alias$$AliasString$$Alias returns alternate value for the current Object. Stock Item and Ledger have Alias name. 
$$Allow$$Allow : <mode> : <family-report-name>LogicalChecks 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 nthMethod/field of a Collection.
$$DateFrom$$DateFromDateReturns the Period starting date
$$DateTo$$DateToDateReturns 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$$InPrintModeLogicalReturns true if the selected mode is Print, otherwise false. 
$$IsContra$$IsContra : <VoucherTypeName>LogicalChecks whether the specified VoucherType is Contra
$$IsCreditNote$$IsCreditNote : <VoucherTypeName>LogicalChecks whether the specified VoucherType is CreditNote
$$IsDebitNote$$IsDebitNote : <VoucherTypeName>LogicalChecks whether the specified VoucherType is DebitNote
$$IsDelNote$$IsDelNote : <VoucherTypeName>LogicalChecks whether the specified VoucherType is Delivery Note
$$IsEmpty$$IsEmpty: <parameter>LogicalChecks whether the parameter passed is empty or not. Parameter type can be String; Numeric; Date; Logical

Example:-
$$IsEmpty:$$Value
$$IsFirstObject$$IsFirstObjectLogicalReturns true if the current Object is the 1st object of the Collection.
$$IsJournal$$IsJournal : <VoucherTypeName>LogicalChecks whether the specified VoucherType is Journal
$$IsMemo$$IsMemo : <VoucherTypeName>LogicalChecks whether the specified VoucherType is Memo
$$IsPayment$$IsPayment : <VoucherTypeName>LogicalChecks whether the specified VoucherType is Payment Voucher
$$IsPhyStock$$IsPhyStock : <VoucherTypeName>LogicalChecks whether the specified VoucherType is PhysicalStock Voucher
$$IsPurchase$$IsPurchase : <VoucherTypeName>LogicalChecks whether the specified VoucherType is Purchase Voucher
$$IsPurcOrder$$IsPurcOrder : <VoucherTypeName>LogicalChecks whether the specified VoucherType is Purchase Order Voucher
$$IsRcptNote$$IsRcptNote : <VoucherTypeName>LogicalChecks whether the specified VoucherType is ReceiptNote Voucher
$$IsReceipt$$IsReceipt : <VoucherTypeName>LogicalChecks whether the specified VoucherType is Receipt Voucher
$$IsRejIn$$IsRejIn : <VoucherTypeName>LogicalChecks whether the specified VoucherType is RejectionIn Voucher
$$IsRejOut$$IsRejOut : <VoucherTypeName>LogicalChecks whether the specified VoucherType is RejectionOut Voucher
$$IsRevJrnl$$IsRevJrnl : <VoucherTypeName>LogicalChecks whether the specified VoucherType is Reverse Journal Voucher
$$IsSales$$IsSales : <VoucherTypeName>LogicalChecks whether the specified VoucherType is Sales Voucher
$$IsSalesOrder$$IsSalesOrder : <VoucherTypeName>LogicalChecks whether the specified VoucherType is Sales Order Voucher
$$IsStockJournal$$IsStockJournal : <VoucherTypeName>LogicalChecks whether the specified VoucherType is StockJournal Voucher
FunctionSyntaxReturn ValueRemarks
$$LocaleString$$LocaleString: <string>Unicode stringAccepts a string parameter and returns unicode string. This is to provide multi-lingual support to Tally
$$IsVchTypeOf Family$$IsVchTypeOfFamily :<VoucherTypeName>LogicalChecks 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$$MachineDateDateReturns the Date as per your computer system settings

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

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

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

Example:-
Select $$MonthOfDate:$$MachineDate from Company
$$MonthStart$$MonthStart: <ExpD>DateReturns 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$$SelectedCmpsNumericReturns the number of companies currently open in Tally Software.
$$SerialNumber$$SerialNumberStringReturns the Tally Serial Number. 
$$String$$String: <ExpN>StringConverts numeric expression into string.
Example:-
[Field: My Field]
  Set as : $$String:500
$$StringLength$$stringLength: <ExpC>NumericReturns the length of the string parameter
Example:-
[Field: My Field]
  Set as: $$StringLength:"tally Softwares"
$$StringPart$$StringPart: <expC>: <StartPos>: <Length>StringUsed to extract a sub-string from another string.
Example:-
[Field: My Field]
  Set as: $$StringPart:"Tally 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>StringReturns the remaining word from the <ExpC> string after the Index.

Example:-
$$StringRemWord:2:"tally Softwares bangalore"
This returns the word "bangalore". i.e. the word after 2 words as specified by the Index
$$StringWord$$StringWord: <Index>: <ExpC>StringReturns the word specified by the Index.

Example:-
$$StringWord:2:"tally Softwares Gandhidham"
This returns the word "Computers". i.e. the 2nd word as specified by the Index
$$SysName$$SysName: <reserved-string>StringSpecifies the System-name for the reserved string
$$SystemPeriod From$$SystemPeriodFromDateReturns the value for the System variable SVFROMDATE

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

Example:-
Select $$SystemPeriodTo from Company
or
Select ##SVTODATE from Company
$$Upper$$Upper: <ExpC>StringConverts the string to upper-case
$$Value$$ValueMethod/Field data typeReturns 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>NumericReturns the Year for the specified Date.

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

The above returns the year (.i.e 2007)
$$YearEnd$$YearEnd: <ExprD>DateReturns 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"