Dear Experts, please share the coding for reminder message in Tally when it opens

Discussion in 'Requests' started by Shabin Jacob, Nov 5, 2018.

    
Tags:
  1. Shabin Jacob

    Shabin Jacob New Member


    Dear Exports,

    Please help me in the below issue..

    I want to get the list of employees whose statutory documents getting expired shortly (say for example within next 30 days) and details of such statutory documents like Visa or Emirates ID, Its Expiry Date, etc. as a reminder message when tally opens.

    I have customized Tally to generate the details of such employees when the user prompt for such list.

    This requires the user has to generate the report occasionally to check and confirm any one's documents met this condition.

    The screen short of the customized tally report is attached for your reference.

    Please help me in coding for reminder message in tally when it opens..
     

    Attached Files:



  2. Amit Kamdar

    Amit Kamdar Administrator Staff Member


    [System : Event]
    MyCompanystart : Load Company : true : call : Next30daysreminder

    [FUNCTION : Next30daysreminder ]

    01 : If : $IsSecurityOn:Company:##SVCurrentCompany ===========change if u want certain authorised users ... or delete this and also step # 5
    02 : Display : {{Yourreportname}} ================change name to your report as shown in photo ****see note below
    03 : Else
    04 : Return
    05 : End If

    In your collection add Filter..........
    Next30Days : ($DATE1 >= ##SVToDate AND $DATE1 <= ##SVToDate + 30)

    Here DATE1 should be replaced with your fieldname which shows red on your photo...............

    **** = Better if you make another report by name (similar to one in photo) so that filters do not clash. If you do this way.... then in you part - repeat line, you can add this new collection with this new filter.
     


  3. Shabin Jacob

    Shabin Jacob New Member



    Dear Sir,

    Could you please check my coding for the said report. I have made the correction to incorporate your suggestion in my report. But not getting any employee details when tally opens. The Report Format only being displayed.

    The full codes of my customization is given below for your reference..
    -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    [#Menu: Statements of Payroll]

    Title : $$LocaleString:"Statements of Payroll"

    Add: Key Item : Before :mad:@locQuit : @@EmplStat : D : Call : Employee Stat Doc Expiry : @Allowed AND $$NumEmployees > 0
    ;Item : BLANK
    ;Item : BLANK


    [System: Formulae]
    EmplStat : $$LocaleString:"Employees Statutoy Documents Expiring Shortly"

    [Function: Employee Stat Doc Expiry]

    Variable : EPCostCentreName : String
    Variable : vIsEmpGrp : Logical

    010 : EXECUTE : EmployeeProfileCategory
    020 : WHILE : NOT $$IsEmpty:##EPCostCentreName

    030 : Call : IsEmpGroup
    040 : Display : All Employee Profile1
    050 : SET : EPCostCentreName : ""
    060 : EXECUTE : EmployeeProfileCategory

    070 : IF : $$IsEmpty:##EPCostCentreName
    080 : BREAK
    090 : END IF

    100 : END WHILE

    [Report: All Employee Profile1]

    Use : DSP Template

    Switch: Employee Details : DSPSingleEmployee1 : NOT ##vIsEmpGrp AND NOT $$IsEmpty:##vIsEmpGrp
    Switch: Employee Details : DSPAllEmpProfile1 : $$IsSysNameEqual:AllItems:##EPCostCentreName OR ##vIsEmpGrp

    [!Report: DSPSingleEmployee1]

    Use : Single Employee Details

    [!Report: DSPAllEmpProfile1]

    Use : Employee Profile1

    [Report: Employee Profile1]

    <unitgroup:empprofile>

    Use : DSP Template
    Title : $$LocaleString:"Employees Profile"
    Variable : MCostCentre
    Variables : EmpProfileVisa, EmpProfileStat
    Set : MCostCentre : ##EPCostCentreName
    Set : PayrollCostCat : ##CostCategoryName
    Set : EmpProfileBasic : Yes
    Set : EmpProfileGeneral : Yes
    Set : EmpProfileBank : Yes
    Set : EmpProfileQuit : No
    Set : EmpProfileContact : Yes
    Set : EmpProfileVisa : Yes
    Set : EmpProfileStat : Yes
    Set : EmpConfigCheckingdate : Yes
    PrintSet : PrintFileName : "Employees Profile"
    PrintSet : ReportTitle : $$LocaleString:"Employees Profile"
    Form : Employee Profile1


    [Form: Employee Profile1]

    Use : DSP Template
    Delete : Buttons
    Delete : Bottom Buttons
    Add : Buttons : PrintButton, ExportButton, UploadButton, MailButton
    Add : Button : ChangePeriod, EmployeeProfile Filters, All EmpProfileDefault, Emp Config Checkingdate
    Add : Bottom Button : EmpProfileConfiguration, FilterButton

    Width : 100% Screen
    Height : 100% Screen

    Space Top : If $$InPrintMode Then ##SVSpaceTop Else 0.05 inches
    Space Bottom : If $$InPrintMode Then 0.05 Else 0 inches
    Space Left : If $$InPrintMode AND $$InPixelMode Then 0.5 Else 0 inches
    Space Right : If $$InPrintMode AND $$InPixelMode Then 0.25 Else 0 inches

    Part : DSP AccTitles, EmpProfile Title1, Employee Profile1
    Delete : Page Break
    Add : Page Break : DSP ClPageBreak, Employee Profile OpPageBreak
    Option : Small Size Form : NOT $$InPrintMode
    ;Background : Dim Grey
    Background : MenuBgClr

    [Part: Employee Profile1]

    Part : Employee Profile Title1, Employee Profile Details1
    Vertical : Yes
    Border : Thin Top

    [Part: Employee Profile Title1]

    Line : Employee Profile TitlesOne1, Employee Profile TitlesTwo1, Employee Profile TitlesThree1
    Vertical : Yes
    Common Border : Yes
    Border : Thin Top

    [Line: Employee Profile TitlesOne1]

    Field : EmpProfile SNo, EmpProfile Name
    Local : Field: EmpProfile SNo: Width: 5% Screen
    Local : Field: EmpProfile Name: Width: 35% Screen
    ;Field : EmpProfile Basic Details
    ;Field : EmpProfile General Details
    ;Field : EmpProfile Bank Details
    ;Field : EmpProfile Separation Details
    ;Field : EmpProfile Contact Details
    ;Field : EmplDoc Expiry Status
    Field : EmpProfile PassportVisa Details, EmpProfile Statutory Details
    Local : Field: EmpProfile PassportVisa Details: Width: 100% Screen
    Local : Field: EmpProfile PassportVisa Details: Full Width: Yes
    ;Local : Field: EmpProfile Statutory Details: Width: 100% Screen
    Fixed : Yes
    ;Repeat : EmpProfile Basic Details
    Repeat : EmpProfile Statutory Details

    Local : Field : EmpProfile SNo : Set as : ""
    Local : Field : Default : Style : Normal Bold
    Local : Field : EmpProfile Name : Border : Thin Left
    ;Local : Field : EmplDoc Expiry Status : Set as: ""

    ;Local : Field : EmpProfile Basic Details : SubTitle : Yes
    ;Local : Field : EmpProfile General Details : SubTitle : Yes
    ;Local : Field : EmpProfile Bank Details : SubTitle : Yes
    ;Local : Field : EmpProfile Separation Details : SubTitle : Yes
    ;Local : Field : EmpProfile Contact Details : SubTitle : Yes
    Local : Field : EmpProfile PassportVisa Details : SubTitle : Yes
    Local : Field : EmpProfile Statutory Details : SubTitle : Yes

    ;Local : Field : EmpProfile Basic Details : Cells : If $$IsCostCategoryOn Then 7 Else 6
    ;Local : Field : EmpProfile General Details : Cells : 6
    ;Local : Field : EmpProfile Bank Details : Cells : If @@IsIndia Then 5 Else If @@IsCountryUAE Then 4 Else 3
    ;Local : Field : EmpProfile Separation Details : Cells : 3
    ;Local : Field : EmpProfile Contact Details : Cells : 3
    Local : Field : EmpProfile PassportVisa Details : Cells : 6 ; to merge cells for properly head the sub titles
    Local : Field : EmpProfile Statutory Details : Cells : If @@IsCountryUAE Then 3 Else 8 ; to merge cells for properly head the sub titles

    ;Local : Field : EmpProfile Basic Details : Border : Full Thin Bottom Left
    ;Local : Field : EmpProfile General Details : Border : Full Thin Bottom Left
    ;Local : Field : EmpProfile Bank Details : Border : Full Thin Bottom Left
    ;Local : Field : EmpProfile Separation Details : Border : Full Thin Bottom Left
    ;Local : Field : EmpProfile Contact Details : Border : Full Thin Bottom Left
    Local : Field : EmpProfile PassportVisa Details : Border : Full Thin Bottom Left
    Local : Field : EmpProfile Statutory Details : Border : Full Thin Bottom Left

    [Line: Employee Profile TitlesTwo1]

    Field : EmpProfile SNo, EmpProfile Name
    Local : Field: EmpProfile SNo: Width: 5% Screen
    Local : Field: EmpProfile Name: Width: 35% Screen
    ;Field : EmpProfile Basic Details
    ;Field : EmpProfile General Details
    ;Field : EmpProfile Bank Details
    ;Field : EmpProfile Separation Details
    ;Field : EmpProfile Contact Details
    ;Field : EmplDoc Expiry Status
    Field : EmpProfile PassportVisa Details, EmpProfile Statutory Details
    Local : Field : EmpProfile PassportVisa Details : Width: 100% Screen
    Local : Field: EmpProfile PassportVisa Details: Full Width: Yes
    ;Local : Field: EmpProfile Statutory Details: Width: 100% Screen
    ;Repeat : EmpProfile Basic Details
    Repeat : EmpProfile Statutory Details

    Fixed : Yes

    Local : Field : Default : Style : Small Bold
    Local : Field : Default : Align : Centre
    Local : Field : Default : Border : Thin Left
    Local : Field : Default : Type : String

    ;Local : Field : EmpProfile Basic Details : Add : Fields : EmpProfile Category, EmpProfile DisplayName, EmpProfile Group, EmpProfile Number, EmpProfile DOJ, EmpProfile Job, EmpProfile Function
    ;Local : Field : EmpProfile General Details : Add : Fields : EmpProfile Location, EmpProfile Gender, EmpProfile DateOfBirth, EmpProfile BloodGroup, EmpProfile FatherName, EmpProfile SpouseName
    ;Local : Field : EmpProfile Bank Details : Add : Fields : EmpProfile BankName, EmpProfile BankBranch, EmpProfile BankAccountNumber, EmpProfile BankIFSCode, EmpProfile BankMICRCode
    ;Local : Field : EmpProfile Separation Details : Add : Fields : EmpProfile ResignDate, EmpProfile PFDateOfReleiving, EmpProfile ReasonsForLeaving
    ;Local : Field : EmpProfile Contact Details : Add : Fields : EmpProfile ContactNumber, EmpProfile EMailID, EmpProfile Employee Address
    Local : Field : EmpProfile PassportVisa Details : Add : Fields : EmpProfile PassportDetails, EmpProfile CountryofIssue, EmpProfile PassportExpiryDate, EmpProfile VisaNumber, EmpProfile VisaExpiryDate ;, EmpProfile WorkPermitNumber, EmpProfile ContractStartDate, EmpProfile ContractExpiryDate
    Local : Field : EmpProfile CountryofIssue : Width: 15% Screen
    Local : Field : EmpProfile PassportDetails : Width: 30% Screen
    Local : Field : EmpProfile PassportExpiryDate : Width: 20% Screen
    Local : Field : EmpProfile VisaNumber : Width: 30% Screen
    Local : Field : EmpProfile VisaExpiryDate : Width : 20% Screen
    ;Local : Field : EmpProfile WorkPermitNumber : Width : 15% Screen
    ;Local : Field : EmpProfile ContractStartDate : Width : 12% Screen
    ;Local : Field : EmpProfile ContractExpiryDate: Width : 12% Screen
    Local : Field : EmpProfile Statutory Details : Add : Fields : EmpProfile PANNo, EmpProfile LablCardExpry, EmpProfile IDNumber, EmpProfile IDExpiryDate

    Local : Field : EmpProfile PANNo : Set as : $$StringWord:1:$$LocaleString:mad:@PANNoDisplayString + " " + $$StringWord:2:$$LocaleString:mad:@PANNoDisplayString
    Local : Field : EmpProfile LablCardExpry: Set as: $$StringWord:1:$$LocaleString:"Labour Card Expiry Date" + " Card"
    Local : Field : EmpProfile LablCardExpry: Color: Black
    Local : Field : EmpProfile LablCardExpry: Width: 20% Screen
    Local : Field : EmpProfile IDNumber : Set as : $$StringWord:1:$$LocaleString:"Emirates ID Number"
    Local : Field : EmpProfile IDExpiryDate : Set as : $$StringWord:1:$$LocaleString:"Emirates ID Expiry"
    Local : Field : EmpProfile PassportDetails : Set as : $$StringWord:1:$$LocaleString:"Passport Number"
    Local : Field : EmpProfile CountryofIssue : Set as : $$StringWord:1:$$LocaleString:"Country of Issue"
    Local : Field : EmpProfile PassportExpiryDate : Set as : $$StringWord:1:$$LocaleString:"Passport Expiry Date"
    Local : Field : EmpProfile VisaNumber : Set as : $$StringWord:1:$$LocaleString:"Visa Number"
    Local : Field : EmpProfile VisaExpiryDate : Set as : $$StringWord:1:$$LocaleString:"Visa Expiry Date"

    Local : Field : EmpProfile SNo : Set as : $$LocaleString:"S.No"
    Local : Field : EmpProfile Name : Set as : $$LocaleString:"Name of the Employee"
    Local : Field : EmpProfile DisplayName : Set as : $$LocaleString:"Display Name"


    [Line: Employee Profile TitlesThree1]

    Field : EmpProfile SNo, EmpProfile Name
    Local : Field: EmpProfile SNo: Width: 5% Screen
    Local : Field: EmpProfile Name: Width: 35% Screen
    ;Field : EmpProfile Basic Details
    ;Field : EmpProfile General Details
    ;Field : EmpProfile Bank Details
    ;Field : EmpProfile Separation Details
    ;Field : EmpProfile Contact Details
    ;Field : EmplDoc Expiry Status
    Field : EmpProfile PassportVisa Details, EmpProfile Statutory Details
    Local : Field : EmpProfile PassportVisa Details : Width: 100% Screen
    Local : Field: EmpProfile PassportVisa Details: Full Width: Yes
    ;Local : Field: EmpProfile Statutory Details: Width: 100% Screen
    ;Repeat : EmpProfile Basic Details
    Repeat : EmpProfile Statutory Details

    Border : Thin Bottom
    Fixed : Yes

    Local : Field : Default : Style : Small Bold
    Local : Field : Default : Align : Centre
    Local : Field : Default : Border : Thin Left
    Local : Field : Default : Type : String
    ;Local : Field : EmplDoc Expiry Status : Set as: ""

    ;Local : Field : EmpProfile Basic Details : Add : Fields : EmpProfile Category, EmpProfile DisplayName, EmpProfile Group, EmpProfile Number, EmpProfile DOJ, EmpProfile Job, EmpProfile Function
    ;Local : Field : EmpProfile General Details : Add : Fields : EmpProfile Location, EmpProfile Gender, EmpProfile DateOfBirth, EmpProfile BloodGroup, EmpProfile FatherName, EmpProfile SpouseName
    ;Local : Field : EmpProfile Bank Details : Add : Fields : EmpProfile BankName, EmpProfile BankBranch, EmpProfile BankAccountNumber, EmpProfile BankIFSCode, EmpProfile BankMICRCode
    ;Local : Field : EmpProfile Separation Details : Add : Fields : EmpProfile ResignDate, EmpProfile PFDateOfReleiving, EmpProfile ReasonsForLeaving
    ;Local : Field : EmpProfile Contact Details : Add : Fields : EmpProfile ContactNumber, EmpProfile EMailID, EmpProfile Employee Address
    Local : Field : EmpProfile PassportVisa Details : Add : Fields : EmpProfile PassportDetails, EmpProfile CountryofIssue, EmpProfile PassportExpiryDate, EmpProfile VisaNumber, EmpProfile VisaExpiryDate ;, EmpProfile WorkPermitNumber, EmpProfile ContractStartDate, EmpProfile ContractExpiryDate
    Local : Field : EmpProfile CountryofIssue : Width: 15% Screen
    Local : Field : EmpProfile PassportDetails : Width: 30% Screen
    Local : Field : EmpProfile PassportExpiryDate : Width: 20% Screen
    Local : Field : EmpProfile VisaNumber : Width: 30% Screen
    Local : Field : EmpProfile VisaExpiryDate : Width : 20% Screen
    ;Local : Field : EmpProfile WorkPermitNumber : Width : 15% Screen
    ;Local : Field : EmpProfile ContractStartDate : Width : 12% Screen
    ;Local : Field : EmpProfile ContractExpiryDate: Width : 12% Screen
    Local : Field : EmpProfile Statutory Details : Add : Fields : EmpProfile PANNo, EmpProfile LablCardExpry, EmpProfile AadharNo, EmpProfile UANNo, EmpProfile PFAccountNo, EmpProfile FPFAccountNo, EmpProfile PFDateOfJoining, EmpProfile ESINo, EmpProfile ESIDispensaryName, EmpProfile IDNumber, EmpProfile IDExpiryDate, EmpProfile PRNo

    Local : Field : EmpProfile SNo : Set as : ""

    Local : Field : EmpProfile PANNo : Set as : $$StringRemWord:2:$$LocaleString:mad:@PANNoDisplayString
    Local : Field : EmpProfile LablCardExpry: Set as: $$StringRemWord:2:$$LocaleString:"Labour Card Expiry Date"
    Local : Field : EmpProfile LablCardExpry: Color: Black
    Local : Field : EmpProfile LablCardExpry: Width: 20% Screen
    Local : Field : EmpProfile AadharNo : Set as : $$StringRemWord:1:$$LocaleString:"Aadhaar Number"
    Local : Field : EmpProfile UANNo : Set as : $$StringWord:3:$$LocaleString:"Universal Account Number (UAN)" + " " + $$StringWord:4:$$LocaleString:"Universal Account Number (UAN)"
    Local : Field : EmpProfile IDNumber : Set as : $$StringRemWord:1:$$LocaleString:"Emirates ID Number"
    Local : Field : EmpProfile IDExpiryDate : Set as : $$StringRemWord:1:$$LocaleString:"Emirates ID Expiry"
    Local : Field : EmpProfile PRNo : Set as : $$StringRemWord:1:$$LocaleString:"PR Account Number"

    Local : Field : EmpProfile PassportDetails : Set as : $$StringRemWord:1:$$LocaleString:"Passport Number"
    Local : Field : EmpProfile CountryofIssue : Set as : $$StringRemWord:1:$$LocaleString:"Country of Issue"
    Local : Field : EmpProfile PassportExpiryDate : Set as : $$StringRemWord:1:$$LocaleString:"Passport Expiry Date"
    Local : Field : EmpProfile VisaNumber : Set as : $$StringRemWord:1:$$LocaleString:"Visa Number"
    Local : Field : EmpProfile VisaExpiryDate : Set as : $$StringRemWord:1:$$LocaleString:"Visa Expiry Date"

    Local : Field : EmpProfile Category : Set as : ""
    Local : Field : EmpProfile DisplayName : Set as : $$LocaleString:"in Reports"
    Local : Field : EmpProfile Group : Set as : ""
    Local : Field : EmpProfile Number : Set as : $$StringRemWord:1:$$LocaleString:"Employee Number"
    Local : Field : EmpProfile DOJ : Set as : $$StringRemWord:1:$$LocaleString:"Joining Date"
    Local : Field : EmpProfile Job : Set as : ""
    Local : Field : EmpProfile Function : Set as : ""

    Local : Field : EmpProfile Location : Set as : ""
    Local : Field : EmpProfile Gender : Set as : ""
    Local : Field : EmpProfile DateOfBirth : Set as : ""
    Local : Field : EmpProfile BloodGroup : Set as : $$StringRemWord:1:$$LocaleString:"Blood Group"
    Local : Field : EmpProfile FatherName : Set as : $$StringRemWord:2:$$LocaleString:"Father / Mother Name"
    Local : Field : EmpProfile SpouseName : Set as : $$StringRemWord:1:$$LocaleString:"Spouse Name"

    Local : Field : EmpProfile BankName : Set as : ""
    Local : Field : EmpProfile BankBranch : Set as : ""
    Local : Field : EmpProfile BankAccountNumber : Set as : ""
    Local : Field : EmpProfile BankMICRCode : Set as : ""
    Local : Field : EmpProfile BankIFSCode : Set as : ""

    Local : Field : EmpProfile ResignDate : Set as : $$StringRemWord:2:$$LocaleString:"Date of Resignation/Retirement"
    Local : Field : EmpProfile PFDateOfReleiving : Set as : $$StringRemWord:1:$$LocaleString:"PF Date of Releiving"
    Local : Field : EmpProfile ReasonsForLeaving : Set as : $$StringRemWord:1:$$LocaleString:"Reason for Leaving"

    Local : Field : EmpProfile ContactNumber : Set as : ""
    Local : Field : EmpProfile EMailID : Set as : ""
    Local : Field : EmpProfile Employee Address : Set as : ""

    [Part: Employee Profile Details1]

    Line : Employee Profile Details1
    Repeat : Employee Profile Details1 : EmpProfile Under MCostCentre1
    Scroll : Vertical
    Float : No
    Common Border : Yes

    [Line: Employee Profile Details1]

    Field : EmpProfile SNo, EmpProfileNameDisp1

    Remove if: @@CheckingBaseDate <$PassportExpiryDate AND @@CheckingBaseDate <$VisaExpiryDate AND @@CheckingBaseDate <$IdentityExpiryDate AND @@CheckingBaseDate <$LabourCardExpiry

    ;Field : EmpProfile Basic Details
    ;Field : EmpProfile General Details
    ;Field : EmpProfile Bank Details
    ;Field : EmpProfile Separation Details
    ;Field : EmpProfile Contact Details
    ;Field : EmplDoc Expiry Status
    ;Local : Field: EmplDoc Expiry Status : Set as: If @@CheckingBaseDate <$PassportExpiryDate OR @@CheckingBaseDate <$VisaExpiryDate OR @@CheckingBaseDate <$ContractExpiryDate OR @@CheckingBaseDate <$IdentityExpiryDate OR @@CheckingBaseDate <$LabourCardExpiry +
    ; Then "Expired" /*Else If $ContractExpiryDate ="" OR $PassportExpiryDate ="" OR $VisaExpiryDate ="" OR $IdentityExpiryDate ="" OR $LabourCardExpiry Then "Incomlete Info"*/ Else "Expiring Shortly"
    ;Field : EmplDoc Expiry Status
    Field : EmpProfile PassportVisa Details
    Field : EmpProfile Statutory Details
    ;Local: Field: EmpProfile Statutory Details : Width : 30% Screen
    ;Repeat : EmpProfile Basic Details
    Repeat : EmpProfile Statutory Details

    Local : Field : Default : Border : Thin Left
    Local : Field : EmpProfile SNo : Fixed : Yes
    Local : Field : EmpProfile SNo : Width : 5% Screen
    Local : Field : EmpProfile Name Disp : Fixed : Yes
    Local : Field : EmpProfile Name : Fixed : Yes
    Local : Field : EmpProfile Name : Invisible : Yes
    Local : Field : EmpProfile SNo : Delete : Border

    ;Local : Field : EmpProfile Basic Details : Add : Fields : EmpProfile Category, EmpProfile DisplayName, EmpProfile Group, EmpProfile Number, EmpProfile DOJ, EmpProfile Job, EmpProfile Function
    ;Local : Field : EmpProfile General Details : Add : Fields : EmpProfile Location, EmpProfile Gender, EmpProfile DateOfBirth, EmpProfile BloodGroup, EmpProfile FatherName, EmpProfile SpouseName
    ;Local : Field : EmpProfile Bank Details : Add : Fields : EmpProfile BankName, EmpProfile BankBranch, EmpProfile BankAccountNumber, EmpProfile BankIFSCode, EmpProfile BankMICRCode
    ;Local : Field : EmpProfile Separation Details : Add : Fields : EmpProfile ResignDate, EmpProfile PFDateOfReleiving, EmpProfile ReasonsForLeaving

    ;Local : Field : EmpProfile Contact Details : Add : Fields : EmpProfile ContactNumber, EmpProfile EMailID, EmpProfile Employee Address
    Local : Field : EmpProfile PassportVisa Details : Add : Fields : EmpProfile PassportDetails, EmpProfile CountryofIssue, EmpProfile PassportExpiryDate, EmpProfile VisaNumber, EmpProfile VisaExpiryDate ;, EmpProfile WorkPermitNumber, EmpProfile ContractStartDate, EmpProfile ContractExpiryDate
    ;Local : Field : EmpProfile PassportExpiryDate: Color : if $$MachineDate >=($PassportExpiryDate-31) Then "Red" Else Black ;; Based on System Date
    Local : Field : EmpProfile PassportExpiryDate: Color : if $PassportExpiryDate <=@@CheckingBaseDate AND NOT $PassportExpiryDate <=@@MachineDate Then "Blue" Else If $PassportExpiryDate <=@@CheckingBaseDate AND $PassportExpiryDate <=@@MachineDate Then "Red" Else Black ;; Based on ToDate
    Local : Field : EmpProfile PassportExpiryDate: Style : if $PassportExpiryDate <=@@CheckingBaseDate Then "Large Bold" Else "Normal" ;; Based on ToDate
    Local : Field : EmpProfile VisaExpiryDate: Color : if $VisaExpiryDate <=@@CheckingBaseDate AND NOT $VisaExpiryDate <=@@MachineDate Then "Blue" Else If $VisaExpiryDate <=@@CheckingBaseDate AND $VisaExpiryDate <=@@MachineDate Then "Red" Else Black ;; Based on ToDate
    Local : Field : EmpProfile VisaExpiryDate: Style : if $VisaExpiryDate <=@@CheckingBaseDate Then "Large Bold" Else "Normal" ;; Based on ToDate
    Local : Field : EmpProfile ContractExpiryDate: Color : if $ContractExpiryDate <=@@CheckingBaseDate AND NOT $ContractExpiryDate <=@@MachineDate Then "Blue" Else If $ContractExpiryDate <=@@CheckingBaseDate AND $ContractExpiryDate <=@@MachineDate Then "Red" Else Black ;; Based on ToDate
    Local : Field : EmpProfile ContractExpiryDate: Style : if $ContractExpiryDate <=@@CheckingBaseDate Then "Large Bold" Else "Normal" ;; Based on ToDate

    Local : Field : EmpProfile PassportVisa Details : Width: 100% Screen
    Local : Field: EmpProfile PassportVisa Details: Full Width: Yes
    ;Local : Field: EmpProfile Statutory Details: Width: 100% Screen
    Local : Field : EmpProfile CountryofIssue : Width: 15% Screen
    Local : Field : EmpProfile PassportDetails : Width: 30% Screen
    Local : Field : EmpProfile PassportExpiryDate : Width: 20% Screen
    Local : Field : EmpProfile VisaNumber : Width: 30% Screen
    Local : Field : EmpProfile VisaExpiryDate : Width : 20% Screen
    Local : Field : EmpProfile VisaExpiryDate : Align: Right
    ;Local : Field : EmpProfile WorkPermitNumber : Width : 15% Screen
    ;Local : Field : EmpProfile ContractStartDate : Width : 12% Screen
    ;Local : Field : EmpProfile ContractExpiryDate: Width : 12% Screen
    Local : Field : EmpProfile Statutory Details : Add : Fields : EmpProfile PANNo, EmpProfile LablCardExpry, EmpProfile AadharNo, EmpProfile UANNo, EmpProfile PFAccountNo, EmpProfile FPFAccountNo, EmpProfile PFDateOfJoining, EmpProfile ESINo, EmpProfile ESIDispensaryName, EmpProfile IDNumber, EmpProfile IDExpiryDate, EmpProfile PRNo
    Local : Field : EmpProfile LablCardExpry: Width: 20% Screen
    ;Local : Field : EmpProfile IDExpiryDate: Color : if $IdentityExpiryDate <=@@CheckingBaseDate AND NOT $IdentityExpiryDate <=#SVToDate Then "Blue" Else If $IdentityExpiryDate <=#SVToDate Then "Red" Else Black ;; Based on System Date
    Local : Field : EmpProfile IDExpiryDate: Color : if $IdentityExpiryDate <=@@CheckingBaseDate AND NOT $IdentityExpiryDate <=@@MachineDate Then "Blue" Else If $IdentityExpiryDate <=@@CheckingBaseDate AND $IdentityExpiryDate <=@@MachineDate Then "Red" Else Black ;; Based on System Date
    Local : Field : EmpProfile IDExpiryDate: Style : if $IdentityExpiryDate <=@@CheckingBaseDate Then "Large Bold" Else "Normal" ;; Based on System Date
    Local : Field : EmpProfile LablCardExpry: Color : if $LabourCardExpiry <=@@CheckingBaseDate AND NOT $LabourCardExpiry <=@@MachineDate Then "Blue" Else If $LabourCardExpiry <=@@CheckingBaseDate AND $LabourCardExpiry <=@@MachineDate Then "Red" Else Black ;; Based on System Date
    Local : Field : EmpProfile LablCardExpry: Style : if $LabourCardExpiry <=@@CheckingBaseDate Then "Large Bold" Else "Normal" ;; Based on System Date
    ;Local : Field : EmpProfile IDExpiryDate: Align: Center
    ;Local : Field : EmpProfile PassportExpiryDate : Align: Center
    ;Local : Field : VisaExpiryDatee : Align:Center
    ;Local : Field : EmpProfile LablCardExpry: Align: Center
    ;Local : Field : EmpProfile LablCardExpry: Set as: #CheckBaseDate ;#SVToDate ;$CheckingBaseDate


    [Field: EmpProfileNameDisp1]

    Use : Name Field
    Set as : If NOT ($$IsCostCentre AND NOT $IsEmployeeGroup AND $ForPayroll) Then @@DSPAccName Else $$GetDispEmpName:mad:@EmpNameStyleVar:$Name
    Display : Single Emp Details
    Style : Normal Bold
    Width : 35% Screen


    [Part: EmpProfile Title1]

    Line : EmpProfileDisplayTitle1

    [Line: EmpProfileDisplayTitle1]

    Left Field : EmpProfileDisplayTitle1, TitleExpiryDate
    Right Field : Checking Base Date



    [Field: Checking Base Date]
    Use : Uni Date Field
    Set as : $CheckingBaseDate
    Set Always: Yes
    Storage : CheckingBaseDate1
    Width: 20
    Space Right: 3

    [Field: EmpProfileDisplayTitle1]

    Use : Name Field
    Set As : @@EmpProfileTitle1
    Cells : 7
    Fixed : Yes
    Skip : Yes
    ;Full Width : Yes
    Width : 160

    [Field: TitleExpiryDate]
    Use : Name Field
    Set as : #SVToDate + 30

    [System: Formulae]

    EmpProfileTitle1 : If NOT $$IsEmpty:##EPCostCentreName AND (NOT $$IsSysNameEqual:AllItems:##EPCostCentreName) AND $$NumChildren:CostCentre:##EPCostCentreName = 0 Then $$Sprintf:mad:@ForEmplyoee:##EPCostCentreName Else +
    If NOT $$IsEmpty:##EPCostCentreName AND (NOT $$IsSysNameEqual:AllItems:##EPCostCentreName) AND $$NumChildren:CostCentre:##EPCostCentreName > 0 Then $$Sprintf:mad:@ForAllEmployeeGrp:##EPCostCentreName Else +
    If NOT $$IsEmpty:##CostCategoryName AND (NOT $$IsSysNameEqual:AllItems:##CostCategoryName) Then $$Sprintf:mad:@ForAllEmpUnderCat:##CostCategoryName Else +
    $$LocaleString:"For all employees whose statutory documents expired or expiring on / before"



    [Button: All EmpProfileDefault]

    Key : Ctrl + F8
    Title : $$LocaleString:"Default Report"
    Inactive : NOT ($$AddOnInfo:payrollEnabled)
    Action List: SelectEmpProfCtg, SetEmpCostCentre, SetEmpIsGroup, ExecuteEmpProfile


    [Button: Emp Config Checkingdate]

    Key : F2
    Action : Modify Variables : Emp Config Checkingdate
    Title : $$LocaleString:"Base Date"


    [Report: Emp Config Checkingdate] ;; Auto Report

    Form : Emp Config Checkingdate
    Title : $$LocaleString:"Filtration Report"

    [Form: Emp Config Checkingdate]

    No Confirm : Yes
    Space Left : 1
    Space Right : 1
    Part : Emp Config Checkingdate
    FullWidth : No
    Local : Field : Default : Case : Normal
    Background : @@SV_UNGREY


    [Part: Emp Config Checkingdate]

    Line : Form SubTitle, Emp Config Checkingdate, Plain SubTitle
    Local : Field : Form SubTitle : Info : $$LocaleString:"Enter Base Date for Calculating Expiry Period"
    Local : Field : Form SubTitle : Background: CloseButtonBG
    Local : Field : Plain SubTitle : Info : $$LocaleString:"(Expiry Period = Base Date + 30 Days)"
    Local : Field : Plain SubTitle : Background: Light Magenta
    Local : Field : Plain SubTitle : Style: Italic
    Local : Line: Plain SubTitle: Space Top: 1



    [Line: Emp Config Checkingdate]

    Field : Short Prompt, SVToDate ;, StatToDate
    Local : Field : Short Prompt : Set as : "Base Date:"
    Local : Field : Short Prompt : Width : 20
    Local : Field : Short Prompt : Align : Center
    Local: Field: SVToDate: Set as: If $$IsEmpty:$$Value then @@MachineDate Else #SVToDatev ;; To Feed System Date by default and to enter when base preriod if required otherwise



    [System: UDF]
    CheckingBaseDate : Date: 126

    [System: Formulae]
    Checking Base Date : #SVToDate + 30
    ;Checkng Base Date : #CheckBaseDate + 30


    [Collection: EmpProfile Under MCostCentre1]

    Use : All Employees

    Compute : Employee DisplayName : $$GetDispEmpName:mad:@EmpNameStyleVar:$Name
    Filter : BelongsToMCostCentre
    Filter : EmpProfileResignedEmployee
    Filter : CatEmpButtonFilter
    Sort : @@Default : $OriginalDepth, $OriginalSortPosition, $OriginalName

    Fetch : Name, Category, Parent, IsEmployeeGroup, EMPDisplayName,AdditionalName, DateofJoin, Designation, Function, Location, Gender, DateofBirth, BloodGroup, FatherName, SpouseName, +
    BankDetails, BankBranch, BankAccountNumber, ContactNumbers, EmailID, Address.*, DeactivationDate, PFRelievingDate, ReasonsForLeaving, +
    PassportDetails, CountryofIssue, PassportExpiryDate, VisaNumber, VisaExpiryDate, WorkPermitNumber, ContractStartDate, ContractExpiryDate, +
    PANNumber,AadharNumber, UANNumber, FPFAccountNumber, PFAccountNumber, PFJoiningDate, ESINumber, ESIDispensaryName, MICRCode, IdentityNumber, IdentityExpiryDate, IFSCode, PRAccountNumber

    Filter : Next30Days


    [System: Formulae]

    Next30Days : ($IdentityExpiryDate >= ##SVToDate AND $IdentityExpiryDate <= ##SVToDate + 30)

    [#Menu: Statements of Payroll]

    Title : $$LocaleString:"Statements of Payroll"

    Add: Key Item : Before :mad:@locQuit : @@EmplStat : D : Call : Employee Stat Doc Expiry : @Allowed AND $$NumEmployees > 0
    ;Item : BLANK
    ;Item : BLANK


    [System: Formulae]
    EmplStat : $$LocaleString:"Employees Statutoy Documents Expiring Shortly"

    [Function: Employee Stat Doc Expiry]

    Variable : EPCostCentreName : String
    Variable : vIsEmpGrp : Logical

    010 : EXECUTE : EmployeeProfileCategory
    020 : WHILE : NOT $$IsEmpty:##EPCostCentreName

    030 : Call : IsEmpGroup
    040 : Display : All Employee Profile1
    050 : SET : EPCostCentreName : ""
    060 : EXECUTE : EmployeeProfileCategory

    070 : IF : $$IsEmpty:##EPCostCentreName
    080 : BREAK
    090 : END IF

    100 : END WHILE

    [Report: All Employee Profile1]

    Use : DSP Template

    Switch: Employee Details : DSPSingleEmployee1 : NOT ##vIsEmpGrp AND NOT $$IsEmpty:##vIsEmpGrp
    Switch: Employee Details : DSPAllEmpProfile1 : $$IsSysNameEqual:AllItems:##EPCostCentreName OR ##vIsEmpGrp

    [!Report: DSPSingleEmployee1]

    Use : Single Employee Details

    [!Report: DSPAllEmpProfile1]

    Use : Employee Profile1

    [Report: Employee Profile1]

    <unitgroup:empprofile>

    Use : DSP Template
    Title : $$LocaleString:"Employees Profile"
    Variable : MCostCentre
    Variables : EmpProfileVisa, EmpProfileStat
    Set : MCostCentre : ##EPCostCentreName
    Set : PayrollCostCat : ##CostCategoryName
    Set : EmpProfileBasic : Yes
    Set : EmpProfileGeneral : Yes
    Set : EmpProfileBank : Yes
    Set : EmpProfileQuit : No
    Set : EmpProfileContact : Yes
    Set : EmpProfileVisa : Yes
    Set : EmpProfileStat : Yes
    Set : EmpConfigCheckingdate : Yes
    PrintSet : PrintFileName : "Employees Profile"
    PrintSet : ReportTitle : $$LocaleString:"Employees Profile"
    Form : Employee Profile1


    [Form: Employee Profile1]

    Use : DSP Template
    Delete : Buttons
    Delete : Bottom Buttons
    Add : Buttons : PrintButton, ExportButton, UploadButton, MailButton
    Add : Button : ChangePeriod, EmployeeProfile Filters, All EmpProfileDefault, Emp Config Checkingdate
    Add : Bottom Button : EmpProfileConfiguration, FilterButton

    Width : 100% Screen
    Height : 100% Screen

    Space Top : If $$InPrintMode Then ##SVSpaceTop Else 0.05 inches
    Space Bottom : If $$InPrintMode Then 0.05 Else 0 inches
    Space Left : If $$InPrintMode AND $$InPixelMode Then 0.5 Else 0 inches
    Space Right : If $$InPrintMode AND $$InPixelMode Then 0.25 Else 0 inches

    Part : DSP AccTitles, EmpProfile Title1, Employee Profile1
    Delete : Page Break
    Add : Page Break : DSP ClPageBreak, Employee Profile OpPageBreak
    Option : Small Size Form : NOT $$InPrintMode
    ;Background : Dim Grey
    Background : MenuBgClr

    [Part: Employee Profile1]

    Part : Employee Profile Title1, Employee Profile Details1
    Vertical : Yes
    Border : Thin Top

    [Part: Employee Profile Title1]

    Line : Employee Profile TitlesOne1, Employee Profile TitlesTwo1, Employee Profile TitlesThree1
    Vertical : Yes
    Common Border : Yes
    Border : Thin Top

    [Line: Employee Profile TitlesOne1]

    Field : EmpProfile SNo, EmpProfile Name
    Local : Field: EmpProfile SNo: Width: 5% Screen
    Local : Field: EmpProfile Name: Width: 35% Screen
    ;Field : EmpProfile Basic Details
    ;Field : EmpProfile General Details
    ;Field : EmpProfile Bank Details
    ;Field : EmpProfile Separation Details
    ;Field : EmpProfile Contact Details
    ;Field : EmplDoc Expiry Status
    Field : EmpProfile PassportVisa Details, EmpProfile Statutory Details
    Local : Field: EmpProfile PassportVisa Details: Width: 100% Screen
    Local : Field: EmpProfile PassportVisa Details: Full Width: Yes
    ;Local : Field: EmpProfile Statutory Details: Width: 100% Screen
    Fixed : Yes
    ;Repeat : EmpProfile Basic Details
    Repeat : EmpProfile Statutory Details

    Local : Field : EmpProfile SNo : Set as : ""
    Local : Field : Default : Style : Normal Bold
    Local : Field : EmpProfile Name : Border : Thin Left
    ;Local : Field : EmplDoc Expiry Status : Set as: ""

    ;Local : Field : EmpProfile Basic Details : SubTitle : Yes
    ;Local : Field : EmpProfile General Details : SubTitle : Yes
    ;Local : Field : EmpProfile Bank Details : SubTitle : Yes
    ;Local : Field : EmpProfile Separation Details : SubTitle : Yes
    ;Local : Field : EmpProfile Contact Details : SubTitle : Yes
    Local : Field : EmpProfile PassportVisa Details : SubTitle : Yes
    Local : Field : EmpProfile Statutory Details : SubTitle : Yes

    ;Local : Field : EmpProfile Basic Details : Cells : If $$IsCostCategoryOn Then 7 Else 6
    ;Local : Field : EmpProfile General Details : Cells : 6
    ;Local : Field : EmpProfile Bank Details : Cells : If @@IsIndia Then 5 Else If @@IsCountryUAE Then 4 Else 3
    ;Local : Field : EmpProfile Separation Details : Cells : 3
    ;Local : Field : EmpProfile Contact Details : Cells : 3
    Local : Field : EmpProfile PassportVisa Details : Cells : 6 ; to merge cells for properly head the sub titles
    Local : Field : EmpProfile Statutory Details : Cells : If @@IsCountryUAE Then 3 Else 8 ; to merge cells for properly head the sub titles

    ;Local : Field : EmpProfile Basic Details : Border : Full Thin Bottom Left
    ;Local : Field : EmpProfile General Details : Border : Full Thin Bottom Left
    ;Local : Field : EmpProfile Bank Details : Border : Full Thin Bottom Left
    ;Local : Field : EmpProfile Separation Details : Border : Full Thin Bottom Left
    ;Local : Field : EmpProfile Contact Details : Border : Full Thin Bottom Left
    Local : Field : EmpProfile PassportVisa Details : Border : Full Thin Bottom Left
    Local : Field : EmpProfile Statutory Details : Border : Full Thin Bottom Left

    [Line: Employee Profile TitlesTwo1]

    Field : EmpProfile SNo, EmpProfile Name
    Local : Field: EmpProfile SNo: Width: 5% Screen
    Local : Field: EmpProfile Name: Width: 35% Screen
    ;Field : EmpProfile Basic Details
    ;Field : EmpProfile General Details
    ;Field : EmpProfile Bank Details
    ;Field : EmpProfile Separation Details
    ;Field : EmpProfile Contact Details
    ;Field : EmplDoc Expiry Status
    Field : EmpProfile PassportVisa Details, EmpProfile Statutory Details
    Local : Field : EmpProfile PassportVisa Details : Width: 100% Screen
    Local : Field: EmpProfile PassportVisa Details: Full Width: Yes
    ;Local : Field: EmpProfile Statutory Details: Width: 100% Screen
    ;Repeat : EmpProfile Basic Details
    Repeat : EmpProfile Statutory Details

    Fixed : Yes

    Local : Field : Default : Style : Small Bold
    Local : Field : Default : Align : Centre
    Local : Field : Default : Border : Thin Left
    Local : Field : Default : Type : String

    ;Local : Field : EmpProfile Basic Details : Add : Fields : EmpProfile Category, EmpProfile DisplayName, EmpProfile Group, EmpProfile Number, EmpProfile DOJ, EmpProfile Job, EmpProfile Function
    ;Local : Field : EmpProfile General Details : Add : Fields : EmpProfile Location, EmpProfile Gender, EmpProfile DateOfBirth, EmpProfile BloodGroup, EmpProfile FatherName, EmpProfile SpouseName
    ;Local : Field : EmpProfile Bank Details : Add : Fields : EmpProfile BankName, EmpProfile BankBranch, EmpProfile BankAccountNumber, EmpProfile BankIFSCode, EmpProfile BankMICRCode
    ;Local : Field : EmpProfile Separation Details : Add : Fields : EmpProfile ResignDate, EmpProfile PFDateOfReleiving, EmpProfile ReasonsForLeaving
    ;Local : Field : EmpProfile Contact Details : Add : Fields : EmpProfile ContactNumber, EmpProfile EMailID, EmpProfile Employee Address
    Local : Field : EmpProfile PassportVisa Details : Add : Fields : EmpProfile PassportDetails, EmpProfile CountryofIssue, EmpProfile PassportExpiryDate, EmpProfile VisaNumber, EmpProfile VisaExpiryDate ;, EmpProfile WorkPermitNumber, EmpProfile ContractStartDate, EmpProfile ContractExpiryDate
    Local : Field : EmpProfile CountryofIssue : Width: 15% Screen
    Local : Field : EmpProfile PassportDetails : Width: 30% Screen
    Local : Field : EmpProfile PassportExpiryDate : Width: 20% Screen
    Local : Field : EmpProfile VisaNumber : Width: 30% Screen
    Local : Field : EmpProfile VisaExpiryDate : Width : 20% Screen
    ;Local : Field : EmpProfile WorkPermitNumber : Width : 15% Screen
    ;Local : Field : EmpProfile ContractStartDate : Width : 12% Screen
    ;Local : Field : EmpProfile ContractExpiryDate: Width : 12% Screen
    Local : Field : EmpProfile Statutory Details : Add : Fields : EmpProfile PANNo, EmpProfile LablCardExpry, EmpProfile IDNumber, EmpProfile IDExpiryDate

    Local : Field : EmpProfile PANNo : Set as : $$StringWord:1:$$LocaleString:mad:@PANNoDisplayString + " " + $$StringWord:2:$$LocaleString:mad:@PANNoDisplayString
    Local : Field : EmpProfile LablCardExpry: Set as: $$StringWord:1:$$LocaleString:"Labour Card Expiry Date" + " Card"
    Local : Field : EmpProfile LablCardExpry: Color: Black
    Local : Field : EmpProfile LablCardExpry: Width: 20% Screen
    Local : Field : EmpProfile IDNumber : Set as : $$StringWord:1:$$LocaleString:"Emirates ID Number"
    Local : Field : EmpProfile IDExpiryDate : Set as : $$StringWord:1:$$LocaleString:"Emirates ID Expiry"
    Local : Field : EmpProfile PassportDetails : Set as : $$StringWord:1:$$LocaleString:"Passport Number"
    Local : Field : EmpProfile CountryofIssue : Set as : $$StringWord:1:$$LocaleString:"Country of Issue"
    Local : Field : EmpProfile PassportExpiryDate : Set as : $$StringWord:1:$$LocaleString:"Passport Expiry Date"
    Local : Field : EmpProfile VisaNumber : Set as : $$StringWord:1:$$LocaleString:"Visa Number"
    Local : Field : EmpProfile VisaExpiryDate : Set as : $$StringWord:1:$$LocaleString:"Visa Expiry Date"

    Local : Field : EmpProfile SNo : Set as : $$LocaleString:"S.No"
    Local : Field : EmpProfile Name : Set as : $$LocaleString:"Name of the Employee"
    Local : Field : EmpProfile DisplayName : Set as : $$LocaleString:"Display Name"


    [Line: Employee Profile TitlesThree1]

    Field : EmpProfile SNo, EmpProfile Name
    Local : Field: EmpProfile SNo: Width: 5% Screen
    Local : Field: EmpProfile Name: Width: 35% Screen
    ;Field : EmpProfile Basic Details
    ;Field : EmpProfile General Details
    ;Field : EmpProfile Bank Details
    ;Field : EmpProfile Separation Details
    ;Field : EmpProfile Contact Details
    ;Field : EmplDoc Expiry Status
    Field : EmpProfile PassportVisa Details, EmpProfile Statutory Details
    Local : Field : EmpProfile PassportVisa Details : Width: 100% Screen
    Local : Field: EmpProfile PassportVisa Details: Full Width: Yes
    ;Local : Field: EmpProfile Statutory Details: Width: 100% Screen
    ;Repeat : EmpProfile Basic Details
    Repeat : EmpProfile Statutory Details

    Border : Thin Bottom
    Fixed : Yes

    Local : Field : Default : Style : Small Bold
    Local : Field : Default : Align : Centre
    Local : Field : Default : Border : Thin Left
    Local : Field : Default : Type : String
    ;Local : Field : EmplDoc Expiry Status : Set as: ""

    ;Local : Field : EmpProfile Basic Details : Add : Fields : EmpProfile Category, EmpProfile DisplayName, EmpProfile Group, EmpProfile Number, EmpProfile DOJ, EmpProfile Job, EmpProfile Function
    ;Local : Field : EmpProfile General Details : Add : Fields : EmpProfile Location, EmpProfile Gender, EmpProfile DateOfBirth, EmpProfile BloodGroup, EmpProfile FatherName, EmpProfile SpouseName
    ;Local : Field : EmpProfile Bank Details : Add : Fields : EmpProfile BankName, EmpProfile BankBranch, EmpProfile BankAccountNumber, EmpProfile BankIFSCode, EmpProfile BankMICRCode
    ;Local : Field : EmpProfile Separation Details : Add : Fields : EmpProfile ResignDate, EmpProfile PFDateOfReleiving, EmpProfile ReasonsForLeaving
    ;Local : Field : EmpProfile Contact Details : Add : Fields : EmpProfile ContactNumber, EmpProfile EMailID, EmpProfile Employee Address
    Local : Field : EmpProfile PassportVisa Details : Add : Fields : EmpProfile PassportDetails, EmpProfile CountryofIssue, EmpProfile PassportExpiryDate, EmpProfile VisaNumber, EmpProfile VisaExpiryDate ;, EmpProfile WorkPermitNumber, EmpProfile ContractStartDate, EmpProfile ContractExpiryDate
    Local : Field : EmpProfile CountryofIssue : Width: 15% Screen
    Local : Field : EmpProfile PassportDetails : Width: 30% Screen
    Local : Field : EmpProfile PassportExpiryDate : Width: 20% Screen
    Local : Field : EmpProfile VisaNumber : Width: 30% Screen
    Local : Field : EmpProfile VisaExpiryDate : Width : 20% Screen
    ;Local : Field : EmpProfile WorkPermitNumber : Width : 15% Screen
    ;Local : Field : EmpProfile ContractStartDate : Width : 12% Screen
    ;Local : Field : EmpProfile ContractExpiryDate: Width : 12% Screen
    Local : Field : EmpProfile Statutory Details : Add : Fields : EmpProfile PANNo, EmpProfile LablCardExpry, EmpProfile AadharNo, EmpProfile UANNo, EmpProfile PFAccountNo, EmpProfile FPFAccountNo, EmpProfile PFDateOfJoining, EmpProfile ESINo, EmpProfile ESIDispensaryName, EmpProfile IDNumber, EmpProfile IDExpiryDate, EmpProfile PRNo

    Local : Field : EmpProfile SNo : Set as : ""

    Local : Field : EmpProfile PANNo : Set as : $$StringRemWord:2:$$LocaleString:mad:@PANNoDisplayString
    Local : Field : EmpProfile LablCardExpry: Set as: $$StringRemWord:2:$$LocaleString:"Labour Card Expiry Date"
    Local : Field : EmpProfile LablCardExpry: Color: Black
    Local : Field : EmpProfile LablCardExpry: Width: 20% Screen
    Local : Field : EmpProfile AadharNo : Set as : $$StringRemWord:1:$$LocaleString:"Aadhaar Number"
    Local : Field : EmpProfile UANNo : Set as : $$StringWord:3:$$LocaleString:"Universal Account Number (UAN)" + " " + $$StringWord:4:$$LocaleString:"Universal Account Number (UAN)"
    Local : Field : EmpProfile IDNumber : Set as : $$StringRemWord:1:$$LocaleString:"Emirates ID Number"
    Local : Field : EmpProfile IDExpiryDate : Set as : $$StringRemWord:1:$$LocaleString:"Emirates ID Expiry"
    Local : Field : EmpProfile PRNo : Set as : $$StringRemWord:1:$$LocaleString:"PR Account Number"

    Local : Field : EmpProfile PassportDetails : Set as : $$StringRemWord:1:$$LocaleString:"Passport Number"
    Local : Field : EmpProfile CountryofIssue : Set as : $$StringRemWord:1:$$LocaleString:"Country of Issue"
    Local : Field : EmpProfile PassportExpiryDate : Set as : $$StringRemWord:1:$$LocaleString:"Passport Expiry Date"
    Local : Field : EmpProfile VisaNumber : Set as : $$StringRemWord:1:$$LocaleString:"Visa Number"
    Local : Field : EmpProfile VisaExpiryDate : Set as : $$StringRemWord:1:$$LocaleString:"Visa Expiry Date"

    Local : Field : EmpProfile Category : Set as : ""
    Local : Field : EmpProfile DisplayName : Set as : $$LocaleString:"in Reports"
    Local : Field : EmpProfile Group : Set as : ""
    Local : Field : EmpProfile Number : Set as : $$StringRemWord:1:$$LocaleString:"Employee Number"
    Local : Field : EmpProfile DOJ : Set as : $$StringRemWord:1:$$LocaleString:"Joining Date"
    Local : Field : EmpProfile Job : Set as : ""
    Local : Field : EmpProfile Function : Set as : ""

    Local : Field : EmpProfile Location : Set as : ""
    Local : Field : EmpProfile Gender : Set as : ""
    Local : Field : EmpProfile DateOfBirth : Set as : ""
    Local : Field : EmpProfile BloodGroup : Set as : $$StringRemWord:1:$$LocaleString:"Blood Group"
    Local : Field : EmpProfile FatherName : Set as : $$StringRemWord:2:$$LocaleString:"Father / Mother Name"
    Local : Field : EmpProfile SpouseName : Set as : $$StringRemWord:1:$$LocaleString:"Spouse Name"

    Local : Field : EmpProfile BankName : Set as : ""
    Local : Field : EmpProfile BankBranch : Set as : ""
    Local : Field : EmpProfile BankAccountNumber : Set as : ""
    Local : Field : EmpProfile BankMICRCode : Set as : ""
    Local : Field : EmpProfile BankIFSCode : Set as : ""

    Local : Field : EmpProfile ResignDate : Set as : $$StringRemWord:2:$$LocaleString:"Date of Resignation/Retirement"
    Local : Field : EmpProfile PFDateOfReleiving : Set as : $$StringRemWord:1:$$LocaleString:"PF Date of Releiving"
    Local : Field : EmpProfile ReasonsForLeaving : Set as : $$StringRemWord:1:$$LocaleString:"Reason for Leaving"

    Local : Field : EmpProfile ContactNumber : Set as : ""
    Local : Field : EmpProfile EMailID : Set as : ""
    Local : Field : EmpProfile Employee Address : Set as : ""

    [Part: Employee Profile Details1]

    Line : Employee Profile Details1
    Repeat : Employee Profile Details1 : EmpProfile Under MCostCentre1
    Scroll : Vertical
    Float : No
    Common Border : Yes

    [Line: Employee Profile Details1]

    Field : EmpProfile SNo, EmpProfileNameDisp1

    Remove if: @@CheckingBaseDate <$PassportExpiryDate AND @@CheckingBaseDate <$VisaExpiryDate AND @@CheckingBaseDate <$IdentityExpiryDate AND @@CheckingBaseDate <$LabourCardExpiry

    ;Field : EmpProfile Basic Details
    ;Field : EmpProfile General Details
    ;Field : EmpProfile Bank Details
    ;Field : EmpProfile Separation Details
    ;Field : EmpProfile Contact Details
    ;Field : EmplDoc Expiry Status
    ;Local : Field: EmplDoc Expiry Status : Set as: If @@CheckingBaseDate <$PassportExpiryDate OR @@CheckingBaseDate <$VisaExpiryDate OR @@CheckingBaseDate <$ContractExpiryDate OR @@CheckingBaseDate <$IdentityExpiryDate OR @@CheckingBaseDate <$LabourCardExpiry +
    ; Then "Expired" /*Else If $ContractExpiryDate ="" OR $PassportExpiryDate ="" OR $VisaExpiryDate ="" OR $IdentityExpiryDate ="" OR $LabourCardExpiry Then "Incomlete Info"*/ Else "Expiring Shortly"
    ;Field : EmplDoc Expiry Status
    Field : EmpProfile PassportVisa Details
    Field : EmpProfile Statutory Details
    ;Local: Field: EmpProfile Statutory Details : Width : 30% Screen
    ;Repeat : EmpProfile Basic Details
    Repeat : EmpProfile Statutory Details

    Local : Field : Default : Border : Thin Left
    Local : Field : EmpProfile SNo : Fixed : Yes
    Local : Field : EmpProfile SNo : Width : 5% Screen
    Local : Field : EmpProfile Name Disp : Fixed : Yes
    Local : Field : EmpProfile Name : Fixed : Yes
    Local : Field : EmpProfile Name : Invisible : Yes
    Local : Field : EmpProfile SNo : Delete : Border

    ;Local : Field : EmpProfile Basic Details : Add : Fields : EmpProfile Category, EmpProfile DisplayName, EmpProfile Group, EmpProfile Number, EmpProfile DOJ, EmpProfile Job, EmpProfile Function
    ;Local : Field : EmpProfile General Details : Add : Fields : EmpProfile Location, EmpProfile Gender, EmpProfile DateOfBirth, EmpProfile BloodGroup, EmpProfile FatherName, EmpProfile SpouseName
    ;Local : Field : EmpProfile Bank Details : Add : Fields : EmpProfile BankName, EmpProfile BankBranch, EmpProfile BankAccountNumber, EmpProfile BankIFSCode, EmpProfile BankMICRCode
    ;Local : Field : EmpProfile Separation Details : Add : Fields : EmpProfile ResignDate, EmpProfile PFDateOfReleiving, EmpProfile ReasonsForLeaving

    ;Local : Field : EmpProfile Contact Details : Add : Fields : EmpProfile ContactNumber, EmpProfile EMailID, EmpProfile Employee Address
    Local : Field : EmpProfile PassportVisa Details : Add : Fields : EmpProfile PassportDetails, EmpProfile CountryofIssue, EmpProfile PassportExpiryDate, EmpProfile VisaNumber, EmpProfile VisaExpiryDate ;, EmpProfile WorkPermitNumber, EmpProfile ContractStartDate, EmpProfile ContractExpiryDate
    ;Local : Field : EmpProfile PassportExpiryDate: Color : if $$MachineDate >=($PassportExpiryDate-31) Then "Red" Else Black ;; Based on System Date
    Local : Field : EmpProfile PassportExpiryDate: Color : if $PassportExpiryDate <=@@CheckingBaseDate AND NOT $PassportExpiryDate <=@@MachineDate Then "Blue" Else If $PassportExpiryDate <=@@CheckingBaseDate AND $PassportExpiryDate <=@@MachineDate Then "Red" Else Black ;; Based on ToDate
    Local : Field : EmpProfile PassportExpiryDate: Style : if $PassportExpiryDate <=@@CheckingBaseDate Then "Large Bold" Else "Normal" ;; Based on ToDate
    Local : Field : EmpProfile VisaExpiryDate: Color : if $VisaExpiryDate <=@@CheckingBaseDate AND NOT $VisaExpiryDate <=@@MachineDate Then "Blue" Else If $VisaExpiryDate <=@@CheckingBaseDate AND $VisaExpiryDate <=@@MachineDate Then "Red" Else Black ;; Based on ToDate
    Local : Field : EmpProfile VisaExpiryDate: Style : if $VisaExpiryDate <=@@CheckingBaseDate Then "Large Bold" Else "Normal" ;; Based on ToDate
    Local : Field : EmpProfile ContractExpiryDate: Color : if $ContractExpiryDate <=@@CheckingBaseDate AND NOT $ContractExpiryDate <=@@MachineDate Then "Blue" Else If $ContractExpiryDate <=@@CheckingBaseDate AND $ContractExpiryDate <=@@MachineDate Then "Red" Else Black ;; Based on ToDate
    Local : Field : EmpProfile ContractExpiryDate: Style : if $ContractExpiryDate <=@@CheckingBaseDate Then "Large Bold" Else "Normal" ;; Based on ToDate

    Local : Field : EmpProfile PassportVisa Details : Width: 100% Screen
    Local : Field: EmpProfile PassportVisa Details: Full Width: Yes
    ;Local : Field: EmpProfile Statutory Details: Width: 100% Screen
    Local : Field : EmpProfile CountryofIssue : Width: 15% Screen
    Local : Field : EmpProfile PassportDetails : Width: 30% Screen
    Local : Field : EmpProfile PassportExpiryDate : Width: 20% Screen
    Local : Field : EmpProfile VisaNumber : Width: 30% Screen
    Local : Field : EmpProfile VisaExpiryDate : Width : 20% Screen
    Local : Field : EmpProfile VisaExpiryDate : Align: Right
    ;Local : Field : EmpProfile WorkPermitNumber : Width : 15% Screen
    ;Local : Field : EmpProfile ContractStartDate : Width : 12% Screen
    ;Local : Field : EmpProfile ContractExpiryDate: Width : 12% Screen
    Local : Field : EmpProfile Statutory Details : Add : Fields : EmpProfile PANNo, EmpProfile LablCardExpry, EmpProfile AadharNo, EmpProfile UANNo, EmpProfile PFAccountNo, EmpProfile FPFAccountNo, EmpProfile PFDateOfJoining, EmpProfile ESINo, EmpProfile ESIDispensaryName, EmpProfile IDNumber, EmpProfile IDExpiryDate, EmpProfile PRNo
    Local : Field : EmpProfile LablCardExpry: Width: 20% Screen
    ;Local : Field : EmpProfile IDExpiryDate: Color : if $IdentityExpiryDate <=@@CheckingBaseDate AND NOT $IdentityExpiryDate <=#SVToDate Then "Blue" Else If $IdentityExpiryDate <=#SVToDate Then "Red" Else Black ;; Based on System Date
    Local : Field : EmpProfile IDExpiryDate: Color : if $IdentityExpiryDate <=@@CheckingBaseDate AND NOT $IdentityExpiryDate <=@@MachineDate Then "Blue" Else If $IdentityExpiryDate <=@@CheckingBaseDate AND $IdentityExpiryDate <=@@MachineDate Then "Red" Else Black ;; Based on System Date
    Local : Field : EmpProfile IDExpiryDate: Style : if $IdentityExpiryDate <=@@CheckingBaseDate Then "Large Bold" Else "Normal" ;; Based on System Date
    Local : Field : EmpProfile LablCardExpry: Color : if $LabourCardExpiry <=@@CheckingBaseDate AND NOT $LabourCardExpiry <=@@MachineDate Then "Blue" Else If $LabourCardExpiry <=@@CheckingBaseDate AND $LabourCardExpiry <=@@MachineDate Then "Red" Else Black ;; Based on System Date
    Local : Field : EmpProfile LablCardExpry: Style : if $LabourCardExpiry <=@@CheckingBaseDate Then "Large Bold" Else "Normal" ;; Based on System Date
    ;Local : Field : EmpProfile IDExpiryDate: Align: Center
    ;Local : Field : EmpProfile PassportExpiryDate : Align: Center
    ;Local : Field : VisaExpiryDatee : Align:Center
    ;Local : Field : EmpProfile LablCardExpry: Align: Center
    ;Local : Field : EmpProfile LablCardExpry: Set as: #CheckBaseDate ;#SVToDate ;$CheckingBaseDate


    [Field: EmpProfileNameDisp1]

    Use : Name Field
    Set as : If NOT ($$IsCostCentre AND NOT $IsEmployeeGroup AND $ForPayroll) Then @@DSPAccName Else $$GetDispEmpName:mad:@EmpNameStyleVar:$Name
    Display : Single Emp Details
    Style : Normal Bold
    Width : 35% Screen


    [Part: EmpProfile Title1]

    Line : EmpProfileDisplayTitle1

    [Line: EmpProfileDisplayTitle1]

    Left Field : EmpProfileDisplayTitle1, TitleExpiryDate
    Right Field : Checking Base Date



    [Field: Checking Base Date]
    Use : Uni Date Field
    Set as : $CheckingBaseDate
    Set Always: Yes
    Storage : CheckingBaseDate1
    Width: 20
    Space Right: 3

    [Field: EmpProfileDisplayTitle1]

    Use : Name Field
    Set As : @@EmpProfileTitle1
    Cells : 7
    Fixed : Yes
    Skip : Yes
    ;Full Width : Yes
    Width : 160

    [Field: TitleExpiryDate]
    Use : Name Field
    Set as : #SVToDate + 30

    [System: Formulae]

    EmpProfileTitle1 : If NOT $$IsEmpty:##EPCostCentreName AND (NOT $$IsSysNameEqual:AllItems:##EPCostCentreName) AND $$NumChildren:CostCentre:##EPCostCentreName = 0 Then $$Sprintf:mad:@ForEmplyoee:##EPCostCentreName Else +
    If NOT $$IsEmpty:##EPCostCentreName AND (NOT $$IsSysNameEqual:AllItems:##EPCostCentreName) AND $$NumChildren:CostCentre:##EPCostCentreName > 0 Then $$Sprintf:mad:@ForAllEmployeeGrp:##EPCostCentreName Else +
    If NOT $$IsEmpty:##CostCategoryName AND (NOT $$IsSysNameEqual:AllItems:##CostCategoryName) Then $$Sprintf:mad:@ForAllEmpUnderCat:##CostCategoryName Else +
    $$LocaleString:"For all employees whose statutory documents expired or expiring on / before"



    [Button: All EmpProfileDefault]

    Key : Ctrl + F8
    Title : $$LocaleString:"Default Report"
    Inactive : NOT ($$AddOnInfo:payrollEnabled)
    Action List: SelectEmpProfCtg, SetEmpCostCentre, SetEmpIsGroup, ExecuteEmpProfile


    [Button: Emp Config Checkingdate]

    Key : F2
    Action : Modify Variables : Emp Config Checkingdate
    Title : $$LocaleString:"Base Date"


    [Report: Emp Config Checkingdate] ;; Auto Report

    Form : Emp Config Checkingdate
    Title : $$LocaleString:"Filtration Report"

    [Form: Emp Config Checkingdate]

    No Confirm : Yes
    Space Left : 1
    Space Right : 1
    Part : Emp Config Checkingdate
    FullWidth : No
    Local : Field : Default : Case : Normal
    Background : @@SV_UNGREY


    [Part: Emp Config Checkingdate]

    Line : Form SubTitle, Emp Config Checkingdate, Plain SubTitle
    Local : Field : Form SubTitle : Info : $$LocaleString:"Enter Base Date for Calculating Expiry Period"
    Local : Field : Form SubTitle : Background: CloseButtonBG
    Local : Field : Plain SubTitle : Info : $$LocaleString:"(Expiry Period = Base Date + 30 Days)"
    Local : Field : Plain SubTitle : Background: Light Magenta
    Local : Field : Plain SubTitle : Style: Italic
    Local : Line: Plain SubTitle: Space Top: 1



    [Line: Emp Config Checkingdate]

    Field : Short Prompt, SVToDate ;, StatToDate
    Local : Field : Short Prompt : Set as : "Base Date:"
    Local : Field : Short Prompt : Width : 20
    Local : Field : Short Prompt : Align : Center
    Local: Field: SVToDate: Set as: If $$IsEmpty:$$Value then @@MachineDate Else #SVToDatev ;; To Feed System Date by default and to enter when base preriod if required otherwise



    [System: UDF]
    CheckingBaseDate : Date: 126

    [System: Formulae]
    Checking Base Date : #SVToDate + 30
    ;Checkng Base Date : #CheckBaseDate + 30


    [Collection: EmpProfile Under MCostCentre1]

    Use : All Employees

    Compute : Employee DisplayName : $$GetDispEmpName:mad:@EmpNameStyleVar:$Name
    Filter : BelongsToMCostCentre
    Filter : EmpProfileResignedEmployee
    Filter : CatEmpButtonFilter
    Sort : @@Default : $OriginalDepth, $OriginalSortPosition, $OriginalName

    Fetch : Name, Category, Parent, IsEmployeeGroup, EMPDisplayName,AdditionalName, DateofJoin, Designation, Function, Location, Gender, DateofBirth, BloodGroup, FatherName, SpouseName, +
    BankDetails, BankBranch, BankAccountNumber, ContactNumbers, EmailID, Address.*, DeactivationDate, PFRelievingDate, ReasonsForLeaving, +
    PassportDetails, CountryofIssue, PassportExpiryDate, VisaNumber, VisaExpiryDate, WorkPermitNumber, ContractStartDate, ContractExpiryDate, +
    PANNumber,AadharNumber, UANNumber, FPFAccountNumber, PFAccountNumber, PFJoiningDate, ESINumber, ESIDispensaryName, MICRCode, IdentityNumber, IdentityExpiryDate, IFSCode, PRAccountNumber

    Filter : Next30Days


    [System: Formulae]

    Next30Days : ($IdentityExpiryDate >= ##SVToDate AND $IdentityExpiryDate <= ##SVToDate + 30)
     

    Attached Files:



  4. Amit Kamdar

    Amit Kamdar Administrator Staff Member


    Dear Jacob,

    Has this code been made by you??

    Furthermore, what you have done is simply copy-pasted the whole code and really made no sincere attempts at understanding / implementing it.

    Secondly, I cannot nor do I have the time to scan your whole code and make amends.

    Thirdly I have no Data set-up for employees, where I can check the code for working. And I do not have time nor inclination to setup a new Tally company data to test your code.

    If you have made this code then you are best bet to try and implement it or ask the person who has made the code in the first place.
     


  5. Devaki

    Devaki Member


    Amit Sir you are right. This is copy and pasted, last two months i am not able to visit this site. Because of busy schedule in finalization of Accounts. Apart from that all we have engaged in our own work. It is not our duty to check complete code. Just we can give some suggestion.
     


  6. Amit Kamdar

    Amit Kamdar Administrator Staff Member


    Copy paste is okay as long as people learn from it............... and expand it further to make it better.

    solving queries from part code is okay....but looking at whole and full code to find out what is wrong takes valuable time which can be better used for one own's projects.

    And then there are people who just copy-paste code as their own and which has got no relevance to the problem, just to show that they have done coding and having errors, so that other experts correct it for them for free...........

    My personal experience has taught me to be cautious and not waste time over such matters. Better I spend time on my own projects.

    And i Agree..... we can give suggestions only..............
     


  7. Shabin Jacob

    Shabin Jacob New Member


    Dear Mr. Amit Kamdar,

    The employee profile report is an existing report in Tally. But I wanted to filter only those employees whose statutory documents getting expired in a short while. Hence I copied, and edited wherever changes required and achieved the goal. In addition I wanted to get a reminder in Tally which I was not aware of.

    What you said is absolutely correct. I know that no one has time to check others coding.

    Your suggestions are highly appreciable and the inconvenience caused is highly regretted..
     
    panam likes this.


  8. Amit Kamdar

    Amit Kamdar Administrator Staff Member


    Yes...absolutely right..... But what i was referring to was that you have copied your code and pasted it once again at the bottom.......... that is not what i meant.

    And so I direct your attention once back to my Post # 2.......... please read it carefully and implement it............

    I see no function which is triggered at system start..............
     
    panam likes this.


  9. Amit Kamdar

    Amit Kamdar Administrator Staff Member


    It is working already..... as per the code...............

    After going in there.......press F2 and set the date.....e.g. 6-Nov-2018........... and it will give u the report of all expiring dates 30 days hence...

    Use the below code only.......

    Code:
    [#Menu: Statements of Payroll]
    
    Title : $$LocaleString:"Statements of Payroll"
    
    Add: Key Item : Before :mad:@locQuit : @@EmplStat : D : Call : Employee Stat Doc Expiry : @Allowed AND $$NumEmployees > 0
    ;Item : BLANK
    ;Item : BLANK
    
    
    [System: Formulae]
    EmplStat : $$LocaleString:"Employees Statutoy Documents Expiring Shortly"
    
    [Function: Employee Stat Doc Expiry]
    
    Variable : EPCostCentreName : String
    Variable : vIsEmpGrp : Logical
    
    010 : EXECUTE : EmployeeProfileCategory
    020 : WHILE : NOT $$IsEmpty:##EPCostCentreName
    
    030 : Call : IsEmpGroup
    040 : Display : All Employee Profile1
    050 : SET : EPCostCentreName : ""
    060 : EXECUTE : EmployeeProfileCategory
    
    070 : IF : $$IsEmpty:##EPCostCentreName
    080 : BREAK
    090 : END IF
    
    100 : END WHILE
    
    [Report: All Employee Profile1]
    
    Use : DSP Template
    
    Switch: Employee Details : DSPSingleEmployee1 : NOT ##vIsEmpGrp AND NOT $$IsEmpty:##vIsEmpGrp
    Switch: Employee Details : DSPAllEmpProfile1 : $$IsSysNameEqual:AllItems:##EPCostCentreName OR ##vIsEmpGrp
    
    [!Report: DSPSingleEmployee1]
    
    Use : Single Employee Details
    
    [!Report: DSPAllEmpProfile1]
    
    Use : Employee Profile1
    
    [Report: Employee Profile1]
    
    <unitgroup:empprofile>
    
    Use : DSP Template
    Title : $$LocaleString:"Employees Profile"
    Variable : MCostCentre
    Variables : EmpProfileVisa, EmpProfileStat
    Set : MCostCentre : ##EPCostCentreName
    Set : PayrollCostCat : ##CostCategoryName
    Set : EmpProfileBasic : Yes
    Set : EmpProfileGeneral : Yes
    Set : EmpProfileBank : Yes
    Set : EmpProfileQuit : No
    Set : EmpProfileContact : Yes
    Set : EmpProfileVisa : Yes
    Set : EmpProfileStat : Yes
    Set : EmpConfigCheckingdate : Yes
    PrintSet : PrintFileName : "Employees Profile"
    PrintSet : ReportTitle : $$LocaleString:"Employees Profile"
    Form : Employee Profile1
    
    
    [Form: Employee Profile1]
    
    Use : DSP Template
    Delete : Buttons
    Delete : Bottom Buttons
    Add : Buttons : PrintButton, ExportButton, UploadButton, MailButton
    Add : Button : ChangePeriod, EmployeeProfile Filters, All EmpProfileDefault, Emp Config Checkingdate
    Add : Bottom Button : EmpProfileConfiguration, FilterButton
    
    Width : 100% Screen
    Height : 100% Screen
    
    Space Top : If $$InPrintMode Then ##SVSpaceTop Else 0.05 inches
    Space Bottom : If $$InPrintMode Then 0.05 Else 0 inches
    Space Left : If $$InPrintMode AND $$InPixelMode Then 0.5 Else 0 inches
    Space Right : If $$InPrintMode AND $$InPixelMode Then 0.25 Else 0 inches
    
    Part : DSP AccTitles, EmpProfile Title1, Employee Profile1
    Delete : Page Break
    Add : Page Break : DSP ClPageBreak, Employee Profile OpPageBreak
    Option : Small Size Form : NOT $$InPrintMode
    ;Background : Dim Grey
    Background : MenuBgClr
    
    [Part: Employee Profile1]
    
    Part : Employee Profile Title1, Employee Profile Details1
    Vertical : Yes
    Border : Thin Top
    
    [Part: Employee Profile Title1]
    
    Line : Employee Profile TitlesOne1, Employee Profile TitlesTwo1, Employee Profile TitlesThree1
    Vertical : Yes
    Common Border : Yes
    Border : Thin Top
    
    [Line: Employee Profile TitlesOne1]
    
    Field : EmpProfile SNo, EmpProfile Name
    Local : Field: EmpProfile SNo: Width: 5% Screen
    Local : Field: EmpProfile Name: Width: 35% Screen
    ;Field : EmpProfile Basic Details
    ;Field : EmpProfile General Details
    ;Field : EmpProfile Bank Details
    ;Field : EmpProfile Separation Details
    ;Field : EmpProfile Contact Details
    ;Field : EmplDoc Expiry Status
    Field : EmpProfile PassportVisa Details, EmpProfile Statutory Details
    Local : Field: EmpProfile PassportVisa Details: Width: 100% Screen
    Local : Field: EmpProfile PassportVisa Details: Full Width: Yes
    ;Local : Field: EmpProfile Statutory Details: Width: 100% Screen
    Fixed : Yes
    ;Repeat : EmpProfile Basic Details
    Repeat : EmpProfile Statutory Details
    
    Local : Field : EmpProfile SNo : Set as : ""
    Local : Field : Default : Style : Normal Bold
    Local : Field : EmpProfile Name : Border : Thin Left
    ;Local : Field : EmplDoc Expiry Status : Set as: ""
    
    ;Local : Field : EmpProfile Basic Details : SubTitle : Yes
    ;Local : Field : EmpProfile General Details : SubTitle : Yes
    ;Local : Field : EmpProfile Bank Details : SubTitle : Yes
    ;Local : Field : EmpProfile Separation Details : SubTitle : Yes
    ;Local : Field : EmpProfile Contact Details : SubTitle : Yes
    Local : Field : EmpProfile PassportVisa Details : SubTitle : Yes
    Local : Field : EmpProfile Statutory Details : SubTitle : Yes
    
    ;Local : Field : EmpProfile Basic Details : Cells : If $$IsCostCategoryOn Then 7 Else 6
    ;Local : Field : EmpProfile General Details : Cells : 6
    ;Local : Field : EmpProfile Bank Details : Cells : If @@IsIndia Then 5 Else If @@IsCountryUAE Then 4 Else 3
    ;Local : Field : EmpProfile Separation Details : Cells : 3
    ;Local : Field : EmpProfile Contact Details : Cells : 3
    Local : Field : EmpProfile PassportVisa Details : Cells : 6 ; to merge cells for properly head the sub titles
    Local : Field : EmpProfile Statutory Details : Cells : If @@IsCountryUAE Then 3 Else 8 ; to merge cells for properly head the sub titles
    
    ;Local : Field : EmpProfile Basic Details : Border : Full Thin Bottom Left
    ;Local : Field : EmpProfile General Details : Border : Full Thin Bottom Left
    ;Local : Field : EmpProfile Bank Details : Border : Full Thin Bottom Left
    ;Local : Field : EmpProfile Separation Details : Border : Full Thin Bottom Left
    ;Local : Field : EmpProfile Contact Details : Border : Full Thin Bottom Left
    Local : Field : EmpProfile PassportVisa Details : Border : Full Thin Bottom Left
    Local : Field : EmpProfile Statutory Details : Border : Full Thin Bottom Left
    
    [Line: Employee Profile TitlesTwo1]
    
    Field : EmpProfile SNo, EmpProfile Name
    Local : Field: EmpProfile SNo: Width: 5% Screen
    Local : Field: EmpProfile Name: Width: 35% Screen
    ;Field : EmpProfile Basic Details
    ;Field : EmpProfile General Details
    ;Field : EmpProfile Bank Details
    ;Field : EmpProfile Separation Details
    ;Field : EmpProfile Contact Details
    ;Field : EmplDoc Expiry Status
    Field : EmpProfile PassportVisa Details, EmpProfile Statutory Details
    Local : Field : EmpProfile PassportVisa Details : Width: 100% Screen
    Local : Field: EmpProfile PassportVisa Details: Full Width: Yes
    ;Local : Field: EmpProfile Statutory Details: Width: 100% Screen
    ;Repeat : EmpProfile Basic Details
    Repeat : EmpProfile Statutory Details
    
    Fixed : Yes
    
    Local : Field : Default : Style : Small Bold
    Local : Field : Default : Align : Centre
    Local : Field : Default : Border : Thin Left
    Local : Field : Default : Type : String
    
    ;Local : Field : EmpProfile Basic Details : Add : Fields : EmpProfile Category, EmpProfile DisplayName, EmpProfile Group, EmpProfile Number, EmpProfile DOJ, EmpProfile Job, EmpProfile Function
    ;Local : Field : EmpProfile General Details : Add : Fields : EmpProfile Location, EmpProfile Gender, EmpProfile DateOfBirth, EmpProfile BloodGroup, EmpProfile FatherName, EmpProfile SpouseName
    ;Local : Field : EmpProfile Bank Details : Add : Fields : EmpProfile BankName, EmpProfile BankBranch, EmpProfile BankAccountNumber, EmpProfile BankIFSCode, EmpProfile BankMICRCode
    ;Local : Field : EmpProfile Separation Details : Add : Fields : EmpProfile ResignDate, EmpProfile PFDateOfReleiving, EmpProfile ReasonsForLeaving
    ;Local : Field : EmpProfile Contact Details : Add : Fields : EmpProfile ContactNumber, EmpProfile EMailID, EmpProfile Employee Address
    Local : Field : EmpProfile PassportVisa Details : Add : Fields : EmpProfile PassportDetails, EmpProfile CountryofIssue, EmpProfile PassportExpiryDate, EmpProfile VisaNumber, EmpProfile VisaExpiryDate ;, EmpProfile WorkPermitNumber, EmpProfile ContractStartDate, EmpProfile ContractExpiryDate
    Local : Field : EmpProfile CountryofIssue : Width: 15% Screen
    Local : Field : EmpProfile PassportDetails : Width: 30% Screen
    Local : Field : EmpProfile PassportExpiryDate : Width: 20% Screen
    Local : Field : EmpProfile VisaNumber : Width: 30% Screen
    Local : Field : EmpProfile VisaExpiryDate : Width : 20% Screen
    ;Local : Field : EmpProfile WorkPermitNumber : Width : 15% Screen
    ;Local : Field : EmpProfile ContractStartDate : Width : 12% Screen
    ;Local : Field : EmpProfile ContractExpiryDate: Width : 12% Screen
    Local : Field : EmpProfile Statutory Details : Add : Fields : EmpProfile PANNo, EmpProfile LablCardExpry, EmpProfile IDNumber, EmpProfile IDExpiryDate
    
    Local : Field : EmpProfile PANNo : Set as : $$StringWord:1:$$LocaleString:mad:@PANNoDisplayString + " " + $$StringWord:2:$$LocaleString:mad:@PANNoDisplayString
    Local : Field : EmpProfile LablCardExpry: Set as: $$StringWord:1:$$LocaleString:"Labour Card Expiry Date" + " Card"
    Local : Field : EmpProfile LablCardExpry: Color: Black
    Local : Field : EmpProfile LablCardExpry: Width: 20% Screen
    Local : Field : EmpProfile IDNumber : Set as : $$StringWord:1:$$LocaleString:"Emirates ID Number"
    Local : Field : EmpProfile IDExpiryDate : Set as : $$StringWord:1:$$LocaleString:"Emirates ID Expiry"
    Local : Field : EmpProfile PassportDetails : Set as : $$StringWord:1:$$LocaleString:"Passport Number"
    Local : Field : EmpProfile CountryofIssue : Set as : $$StringWord:1:$$LocaleString:"Country of Issue"
    Local : Field : EmpProfile PassportExpiryDate : Set as : $$StringWord:1:$$LocaleString:"Passport Expiry Date"
    Local : Field : EmpProfile VisaNumber : Set as : $$StringWord:1:$$LocaleString:"Visa Number"
    Local : Field : EmpProfile VisaExpiryDate : Set as : $$StringWord:1:$$LocaleString:"Visa Expiry Date"
    
    Local : Field : EmpProfile SNo : Set as : $$LocaleString:"S.No"
    Local : Field : EmpProfile Name : Set as : $$LocaleString:"Name of the Employee"
    Local : Field : EmpProfile DisplayName : Set as : $$LocaleString:"Display Name"
    
    
    [Line: Employee Profile TitlesThree1]
    
    Field : EmpProfile SNo, EmpProfile Name
    Local : Field: EmpProfile SNo: Width: 5% Screen
    Local : Field: EmpProfile Name: Width: 35% Screen
    ;Field : EmpProfile Basic Details
    ;Field : EmpProfile General Details
    ;Field : EmpProfile Bank Details
    ;Field : EmpProfile Separation Details
    ;Field : EmpProfile Contact Details
    ;Field : EmplDoc Expiry Status
    Field : EmpProfile PassportVisa Details, EmpProfile Statutory Details
    Local : Field : EmpProfile PassportVisa Details : Width: 100% Screen
    Local : Field: EmpProfile PassportVisa Details: Full Width: Yes
    ;Local : Field: EmpProfile Statutory Details: Width: 100% Screen
    ;Repeat : EmpProfile Basic Details
    Repeat : EmpProfile Statutory Details
    
    Border : Thin Bottom
    Fixed : Yes
    
    Local : Field : Default : Style : Small Bold
    Local : Field : Default : Align : Centre
    Local : Field : Default : Border : Thin Left
    Local : Field : Default : Type : String
    ;Local : Field : EmplDoc Expiry Status : Set as: ""
    
    ;Local : Field : EmpProfile Basic Details : Add : Fields : EmpProfile Category, EmpProfile DisplayName, EmpProfile Group, EmpProfile Number, EmpProfile DOJ, EmpProfile Job, EmpProfile Function
    ;Local : Field : EmpProfile General Details : Add : Fields : EmpProfile Location, EmpProfile Gender, EmpProfile DateOfBirth, EmpProfile BloodGroup, EmpProfile FatherName, EmpProfile SpouseName
    ;Local : Field : EmpProfile Bank Details : Add : Fields : EmpProfile BankName, EmpProfile BankBranch, EmpProfile BankAccountNumber, EmpProfile BankIFSCode, EmpProfile BankMICRCode
    ;Local : Field : EmpProfile Separation Details : Add : Fields : EmpProfile ResignDate, EmpProfile PFDateOfReleiving, EmpProfile ReasonsForLeaving
    ;Local : Field : EmpProfile Contact Details : Add : Fields : EmpProfile ContactNumber, EmpProfile EMailID, EmpProfile Employee Address
    Local : Field : EmpProfile PassportVisa Details : Add : Fields : EmpProfile PassportDetails, EmpProfile CountryofIssue, EmpProfile PassportExpiryDate, EmpProfile VisaNumber, EmpProfile VisaExpiryDate ;, EmpProfile WorkPermitNumber, EmpProfile ContractStartDate, EmpProfile ContractExpiryDate
    Local : Field : EmpProfile CountryofIssue : Width: 15% Screen
    Local : Field : EmpProfile PassportDetails : Width: 30% Screen
    Local : Field : EmpProfile PassportExpiryDate : Width: 20% Screen
    Local : Field : EmpProfile VisaNumber : Width: 30% Screen
    Local : Field : EmpProfile VisaExpiryDate : Width : 20% Screen
    ;Local : Field : EmpProfile WorkPermitNumber : Width : 15% Screen
    ;Local : Field : EmpProfile ContractStartDate : Width : 12% Screen
    ;Local : Field : EmpProfile ContractExpiryDate: Width : 12% Screen
    Local : Field : EmpProfile Statutory Details : Add : Fields : EmpProfile PANNo, EmpProfile LablCardExpry, EmpProfile AadharNo, EmpProfile UANNo, EmpProfile PFAccountNo, EmpProfile FPFAccountNo, EmpProfile PFDateOfJoining, EmpProfile ESINo, EmpProfile ESIDispensaryName, EmpProfile IDNumber, EmpProfile IDExpiryDate, EmpProfile PRNo
    
    Local : Field : EmpProfile SNo : Set as : ""
    
    Local : Field : EmpProfile PANNo : Set as : $$StringRemWord:2:$$LocaleString:mad:@PANNoDisplayString
    Local : Field : EmpProfile LablCardExpry: Set as: $$StringRemWord:2:$$LocaleString:"Labour Card Expiry Date"
    Local : Field : EmpProfile LablCardExpry: Color: Black
    Local : Field : EmpProfile LablCardExpry: Width: 20% Screen
    Local : Field : EmpProfile AadharNo : Set as : $$StringRemWord:1:$$LocaleString:"Aadhaar Number"
    Local : Field : EmpProfile UANNo : Set as : $$StringWord:3:$$LocaleString:"Universal Account Number (UAN)" + " " + $$StringWord:4:$$LocaleString:"Universal Account Number (UAN)"
    Local : Field : EmpProfile IDNumber : Set as : $$StringRemWord:1:$$LocaleString:"Emirates ID Number"
    Local : Field : EmpProfile IDExpiryDate : Set as : $$StringRemWord:1:$$LocaleString:"Emirates ID Expiry"
    Local : Field : EmpProfile PRNo : Set as : $$StringRemWord:1:$$LocaleString:"PR Account Number"
    
    Local : Field : EmpProfile PassportDetails : Set as : $$StringRemWord:1:$$LocaleString:"Passport Number"
    Local : Field : EmpProfile CountryofIssue : Set as : $$StringRemWord:1:$$LocaleString:"Country of Issue"
    Local : Field : EmpProfile PassportExpiryDate : Set as : $$StringRemWord:1:$$LocaleString:"Passport Expiry Date"
    Local : Field : EmpProfile VisaNumber : Set as : $$StringRemWord:1:$$LocaleString:"Visa Number"
    Local : Field : EmpProfile VisaExpiryDate : Set as : $$StringRemWord:1:$$LocaleString:"Visa Expiry Date"
    
    Local : Field : EmpProfile Category : Set as : ""
    Local : Field : EmpProfile DisplayName : Set as : $$LocaleString:"in Reports"
    Local : Field : EmpProfile Group : Set as : ""
    Local : Field : EmpProfile Number : Set as : $$StringRemWord:1:$$LocaleString:"Employee Number"
    Local : Field : EmpProfile DOJ : Set as : $$StringRemWord:1:$$LocaleString:"Joining Date"
    Local : Field : EmpProfile Job : Set as : ""
    Local : Field : EmpProfile Function : Set as : ""
    
    Local : Field : EmpProfile Location : Set as : ""
    Local : Field : EmpProfile Gender : Set as : ""
    Local : Field : EmpProfile DateOfBirth : Set as : ""
    Local : Field : EmpProfile BloodGroup : Set as : $$StringRemWord:1:$$LocaleString:"Blood Group"
    Local : Field : EmpProfile FatherName : Set as : $$StringRemWord:2:$$LocaleString:"Father / Mother Name"
    Local : Field : EmpProfile SpouseName : Set as : $$StringRemWord:1:$$LocaleString:"Spouse Name"
    
    Local : Field : EmpProfile BankName : Set as : ""
    Local : Field : EmpProfile BankBranch : Set as : ""
    Local : Field : EmpProfile BankAccountNumber : Set as : ""
    Local : Field : EmpProfile BankMICRCode : Set as : ""
    Local : Field : EmpProfile BankIFSCode : Set as : ""
    
    Local : Field : EmpProfile ResignDate : Set as : $$StringRemWord:2:$$LocaleString:"Date of Resignation/Retirement"
    Local : Field : EmpProfile PFDateOfReleiving : Set as : $$StringRemWord:1:$$LocaleString:"PF Date of Releiving"
    Local : Field : EmpProfile ReasonsForLeaving : Set as : $$StringRemWord:1:$$LocaleString:"Reason for Leaving"
    
    Local : Field : EmpProfile ContactNumber : Set as : ""
    Local : Field : EmpProfile EMailID : Set as : ""
    Local : Field : EmpProfile Employee Address : Set as : ""
    
    [Part: Employee Profile Details1]
    
    Line : Employee Profile Details1
    Repeat : Employee Profile Details1 : EmpProfile Under MCostCentre1
    Scroll : Vertical
    Float : No
    Common Border : Yes
    
    [Line: Employee Profile Details1]
    
    Field : EmpProfile SNo, EmpProfileNameDisp1
    
    Remove if: @@CheckingBaseDate <$PassportExpiryDate AND @@CheckingBaseDate <$VisaExpiryDate AND @@CheckingBaseDate <$IdentityExpiryDate AND @@CheckingBaseDate <$LabourCardExpiry
    
    ;Field : EmpProfile Basic Details
    ;Field : EmpProfile General Details
    ;Field : EmpProfile Bank Details
    ;Field : EmpProfile Separation Details
    ;Field : EmpProfile Contact Details
    ;Field : EmplDoc Expiry Status
    ;Local : Field: EmplDoc Expiry Status : Set as: If @@CheckingBaseDate <$PassportExpiryDate OR @@CheckingBaseDate <$VisaExpiryDate OR @@CheckingBaseDate <$ContractExpiryDate OR @@CheckingBaseDate <$IdentityExpiryDate OR @@CheckingBaseDate <$LabourCardExpiry +
    ; Then "Expired" /*Else If $ContractExpiryDate ="" OR $PassportExpiryDate ="" OR $VisaExpiryDate ="" OR $IdentityExpiryDate ="" OR $LabourCardExpiry Then "Incomlete Info"*/ Else "Expiring Shortly"
    ;Field : EmplDoc Expiry Status
    Field : EmpProfile PassportVisa Details
    Field : EmpProfile Statutory Details
    ;Local: Field: EmpProfile Statutory Details : Width : 30% Screen
    ;Repeat : EmpProfile Basic Details
    Repeat : EmpProfile Statutory Details
    
    Local : Field : Default : Border : Thin Left
    Local : Field : EmpProfile SNo : Fixed : Yes
    Local : Field : EmpProfile SNo : Width : 5% Screen
    Local : Field : EmpProfile Name Disp : Fixed : Yes
    Local : Field : EmpProfile Name : Fixed : Yes
    Local : Field : EmpProfile Name : Invisible : Yes
    Local : Field : EmpProfile SNo : Delete : Border
    
    ;Local : Field : EmpProfile Basic Details : Add : Fields : EmpProfile Category, EmpProfile DisplayName, EmpProfile Group, EmpProfile Number, EmpProfile DOJ, EmpProfile Job, EmpProfile Function
    ;Local : Field : EmpProfile General Details : Add : Fields : EmpProfile Location, EmpProfile Gender, EmpProfile DateOfBirth, EmpProfile BloodGroup, EmpProfile FatherName, EmpProfile SpouseName
    ;Local : Field : EmpProfile Bank Details : Add : Fields : EmpProfile BankName, EmpProfile BankBranch, EmpProfile BankAccountNumber, EmpProfile BankIFSCode, EmpProfile BankMICRCode
    ;Local : Field : EmpProfile Separation Details : Add : Fields : EmpProfile ResignDate, EmpProfile PFDateOfReleiving, EmpProfile ReasonsForLeaving
    
    ;Local : Field : EmpProfile Contact Details : Add : Fields : EmpProfile ContactNumber, EmpProfile EMailID, EmpProfile Employee Address
    Local : Field : EmpProfile PassportVisa Details : Add : Fields : EmpProfile PassportDetails, EmpProfile CountryofIssue, EmpProfile PassportExpiryDate, EmpProfile VisaNumber, EmpProfile VisaExpiryDate ;, EmpProfile WorkPermitNumber, EmpProfile ContractStartDate, EmpProfile ContractExpiryDate
    ;Local : Field : EmpProfile PassportExpiryDate: Color : if $$MachineDate >=($PassportExpiryDate-31) Then "Red" Else Black ;; Based on System Date
    Local : Field : EmpProfile PassportExpiryDate: Color : if $PassportExpiryDate <=@@CheckingBaseDate AND NOT $PassportExpiryDate <=@@MachineDate Then "Blue" Else If $PassportExpiryDate <=@@CheckingBaseDate AND $PassportExpiryDate <=@@MachineDate Then "Red" Else Black ;; Based on ToDate
    Local : Field : EmpProfile PassportExpiryDate: Style : if $PassportExpiryDate <=@@CheckingBaseDate Then "Large Bold" Else "Normal" ;; Based on ToDate
    Local : Field : EmpProfile VisaExpiryDate: Color : if $VisaExpiryDate <=@@CheckingBaseDate AND NOT $VisaExpiryDate <=@@MachineDate Then "Blue" Else If $VisaExpiryDate <=@@CheckingBaseDate AND $VisaExpiryDate <=@@MachineDate Then "Red" Else Black ;; Based on ToDate
    Local : Field : EmpProfile VisaExpiryDate: Style : if $VisaExpiryDate <=@@CheckingBaseDate Then "Large Bold" Else "Normal" ;; Based on ToDate
    Local : Field : EmpProfile ContractExpiryDate: Color : if $ContractExpiryDate <=@@CheckingBaseDate AND NOT $ContractExpiryDate <=@@MachineDate Then "Blue" Else If $ContractExpiryDate <=@@CheckingBaseDate AND $ContractExpiryDate <=@@MachineDate Then "Red" Else Black ;; Based on ToDate
    Local : Field : EmpProfile ContractExpiryDate: Style : if $ContractExpiryDate <=@@CheckingBaseDate Then "Large Bold" Else "Normal" ;; Based on ToDate
    
    Local : Field : EmpProfile PassportVisa Details : Width: 100% Screen
    Local : Field: EmpProfile PassportVisa Details: Full Width: Yes
    ;Local : Field: EmpProfile Statutory Details: Width: 100% Screen
    Local : Field : EmpProfile CountryofIssue : Width: 15% Screen
    Local : Field : EmpProfile PassportDetails : Width: 30% Screen
    Local : Field : EmpProfile PassportExpiryDate : Width: 20% Screen
    Local : Field : EmpProfile VisaNumber : Width: 30% Screen
    Local : Field : EmpProfile VisaExpiryDate : Width : 20% Screen
    Local : Field : EmpProfile VisaExpiryDate : Align: Right
    ;Local : Field : EmpProfile WorkPermitNumber : Width : 15% Screen
    ;Local : Field : EmpProfile ContractStartDate : Width : 12% Screen
    ;Local : Field : EmpProfile ContractExpiryDate: Width : 12% Screen
    Local : Field : EmpProfile Statutory Details : Add : Fields : EmpProfile PANNo, EmpProfile LablCardExpry, EmpProfile AadharNo, EmpProfile UANNo, EmpProfile PFAccountNo, EmpProfile FPFAccountNo, EmpProfile PFDateOfJoining, EmpProfile ESINo, EmpProfile ESIDispensaryName, EmpProfile IDNumber, EmpProfile IDExpiryDate, EmpProfile PRNo
    Local : Field : EmpProfile LablCardExpry: Width: 20% Screen
    ;Local : Field : EmpProfile IDExpiryDate: Color : if $IdentityExpiryDate <=@@CheckingBaseDate AND NOT $IdentityExpiryDate <=#SVToDate Then "Blue" Else If $IdentityExpiryDate <=#SVToDate Then "Red" Else Black ;; Based on System Date
    Local : Field : EmpProfile IDExpiryDate: Color : if $IdentityExpiryDate <=@@CheckingBaseDate AND NOT $IdentityExpiryDate <=@@MachineDate Then "Blue" Else If $IdentityExpiryDate <=@@CheckingBaseDate AND $IdentityExpiryDate <=@@MachineDate Then "Red" Else Black ;; Based on System Date
    Local : Field : EmpProfile IDExpiryDate: Style : if $IdentityExpiryDate <=@@CheckingBaseDate Then "Large Bold" Else "Normal" ;; Based on System Date
    Local : Field : EmpProfile LablCardExpry: Color : if $LabourCardExpiry <=@@CheckingBaseDate AND NOT $LabourCardExpiry <=@@MachineDate Then "Blue" Else If $LabourCardExpiry <=@@CheckingBaseDate AND $LabourCardExpiry <=@@MachineDate Then "Red" Else Black ;; Based on System Date
    Local : Field : EmpProfile LablCardExpry: Style : if $LabourCardExpiry <=@@CheckingBaseDate Then "Large Bold" Else "Normal" ;; Based on System Date
    ;Local : Field : EmpProfile IDExpiryDate: Align: Center
    ;Local : Field : EmpProfile PassportExpiryDate : Align: Center
    ;Local : Field : VisaExpiryDatee : Align:Center
    ;Local : Field : EmpProfile LablCardExpry: Align: Center
    ;Local : Field : EmpProfile LablCardExpry: Set as: #CheckBaseDate ;#SVToDate ;$CheckingBaseDate
    
    
    [Field: EmpProfileNameDisp1]
    
    Use : Name Field
    Set as : If NOT ($$IsCostCentre AND NOT $IsEmployeeGroup AND $ForPayroll) Then @@DSPAccName Else $$GetDispEmpName:mad:@EmpNameStyleVar:$Name
    Display : Single Emp Details
    Style : Normal Bold
    Width : 35% Screen
    
    
    [Part: EmpProfile Title1]
    
    Line : EmpProfileDisplayTitle1
    
    [Line: EmpProfileDisplayTitle1]
    
    Left Field : EmpProfileDisplayTitle1, TitleExpiryDate
    Right Field : Checking Base Date
    
    
    
    [Field: Checking Base Date]
    Use : Uni Date Field
    Set as : $CheckingBaseDate
    Set Always: Yes
    Storage : CheckingBaseDate1
    Width: 20
    Space Right: 3
    
    [Field: EmpProfileDisplayTitle1]
    
    Use : Name Field
    Set As : @@EmpProfileTitle1
    Cells : 7
    Fixed : Yes
    Skip : Yes
    ;Full Width : Yes
    Width : 160
    
    [Field: TitleExpiryDate]
    Use : Name Field
    Set as : #SVToDate + 30
    
    [System: Formulae]
    
    EmpProfileTitle1 : If NOT $$IsEmpty:##EPCostCentreName AND (NOT $$IsSysNameEqual:AllItems:##EPCostCentreName) AND $$NumChildren:CostCentre:##EPCostCentreName = 0 Then $$Sprintf:mad:@ForEmplyoee:##EPCostCentreName Else +
    If NOT $$IsEmpty:##EPCostCentreName AND (NOT $$IsSysNameEqual:AllItems:##EPCostCentreName) AND $$NumChildren:CostCentre:##EPCostCentreName > 0 Then $$Sprintf:mad:@ForAllEmployeeGrp:##EPCostCentreName Else +
    If NOT $$IsEmpty:##CostCategoryName AND (NOT $$IsSysNameEqual:AllItems:##CostCategoryName) Then $$Sprintf:mad:@ForAllEmpUnderCat:##CostCategoryName Else +
    $$LocaleString:"For all employees whose statutory documents expired or expiring on / before"
    
    
    
    [Button: All EmpProfileDefault]
    
    Key : Ctrl + F8
    Title : $$LocaleString:"Default Report"
    Inactive : NOT ($$AddOnInfo:payrollEnabled)
    Action List: SelectEmpProfCtg, SetEmpCostCentre, SetEmpIsGroup, ExecuteEmpProfile
    
    
    [Button: Emp Config Checkingdate]
    
    Key : F2
    Action : Modify Variables : Emp Config Checkingdate
    Title : $$LocaleString:"Base Date"
    
    
    [Report: Emp Config Checkingdate] ;; Auto Report
    
    Form : Emp Config Checkingdate
    Title : $$LocaleString:"Filtration Report"
    
    [Form: Emp Config Checkingdate]
    
    No Confirm : Yes
    Space Left : 1
    Space Right : 1
    Part : Emp Config Checkingdate
    FullWidth : No
    Local : Field : Default : Case : Normal
    Background : @@SV_UNGREY
    
    
    [Part: Emp Config Checkingdate]
    
    Line : Form SubTitle, Emp Config Checkingdate, Plain SubTitle
    Local : Field : Form SubTitle : Info : $$LocaleString:"Enter Base Date for Calculating Expiry Period"
    Local : Field : Form SubTitle : Background: CloseButtonBG
    Local : Field : Plain SubTitle : Info : $$LocaleString:"(Expiry Period = Base Date + 30 Days)"
    Local : Field : Plain SubTitle : Background: Light Magenta
    Local : Field : Plain SubTitle : Style: Italic
    Local : Line: Plain SubTitle: Space Top: 1
    
    
    
    [Line: Emp Config Checkingdate]
    
    Field : Short Prompt, SVToDate ;, StatToDate
    Local : Field : Short Prompt : Set as : "Base Date:"
    Local : Field : Short Prompt : Width : 20
    Local : Field : Short Prompt : Align : Center
    Local: Field: SVToDate: Set as: If $$IsEmpty:$$Value then @@MachineDate Else #SVToDatev ;; To Feed System Date by default and to enter when base preriod if required otherwise
    
    
    
    [System: UDF]
    CheckingBaseDate : Date: 126
    
    [System: Formulae]
    Checking Base Date : #SVToDate + 30
    ;Checkng Base Date : #CheckBaseDate + 30
    
    
    [Collection: EmpProfile Under MCostCentre1]
    
    Use : All Employees
    
    Compute : Employee DisplayName : $$GetDispEmpName:mad:@EmpNameStyleVar:$Name
    Filter : BelongsToMCostCentre
    Filter : EmpProfileResignedEmployee
    Filter : CatEmpButtonFilter
    Sort : @@Default : $OriginalDepth, $OriginalSortPosition, $OriginalName
    
    Fetch : Name, Category, Parent, IsEmployeeGroup, EMPDisplayName,AdditionalName, DateofJoin, Designation, Function, Location, Gender, DateofBirth, BloodGroup, FatherName, SpouseName, +
    BankDetails, BankBranch, BankAccountNumber, ContactNumbers, EmailID, Address.*, DeactivationDate, PFRelievingDate, ReasonsForLeaving, +
    PassportDetails, CountryofIssue, PassportExpiryDate, VisaNumber, VisaExpiryDate, WorkPermitNumber, ContractStartDate, ContractExpiryDate, +
    PANNumber,AadharNumber, UANNumber, FPFAccountNumber, PFAccountNumber, PFJoiningDate, ESINumber, ESIDispensaryName, MICRCode, IdentityNumber, IdentityExpiryDate, IFSCode, PRAccountNumber
    
    Filter : Next30Days
    
    
    [System: Formulae]
    
    Next30Days : ($IdentityExpiryDate >= ##SVToDate AND $IdentityExpiryDate <= ##SVToDate + 30)
    
     


  10. Maulik Patel

    Maulik Patel Active Member


    I am totally agreed with you Sir, as I am also facing same issue. Due to my busy schedule, I was inactive in this forum for a long period. Because whenever, I used to login, somebody provides me code saying that it was made by him/her and actually, it was mixed up from randomly 3-4 codes and surprisingly, the code doent met with their requirements.
     


  11. Amit Kamdar

    Amit Kamdar Administrator Staff Member


    Now all you need is to introduce the function as explained by me in Post # 2, so that at start time it triggers the reminder................... Happy coding.
     


  12. Amit Kamdar

    Amit Kamdar Administrator Staff Member


    Right... and I have made it a point to ignore such users...........even if in future there is a genuine problem with genuine code.... it is a good penalty for them for trying to be over smart.
    And also when anyone sends me a code, I make it a point to research if it is genuine or pirated............

    Sort of....Aesop Fable tale...of cry wolf............ when real wolf comes, the cries are ignored............

    We like minded members should really be proactive in this manner, so that the wheat is separated from the chaff.... and then only this site will have only genuine and learning members.
     


  13. Amit Kamdar

    Amit Kamdar Administrator Staff Member


    And then there is this member "Nasir" amongst others.... who has 150+ posts.....but no posts of any relevance.... all posts are of..........

    a...not working..... (even if it works for all others)
    b...provide code/tdl
    c... uses pirated software.... (and since no codes works for him, there is no point in solving his queries)

    And then he has the temerity to call me a LIAR....... too bad I do not have any banning rights, else would have banned such user and his IP address.
     


  14. Maulik Patel

    Maulik Patel Active Member


    Horrible behave
    @admin
    Now it is time to take some action on such misbehave, earlier I have also faced it and might be some others have faced the same. I exactly not remember the name of that member. If things will be same then forum will lose its charm. Earlier I have seen few minded users are now not being seen over here.
     


  15. Amit Kamdar

    Amit Kamdar Administrator Staff Member


    Also you can use in your BaseDate ........... BaseDate=$Machinedate ......... so every time your report opens it will take the BaseDate as Today's date and no user input is required, unless the user wants to change the date, then he can do so.
     


  16. Amit Kamdar

    Amit Kamdar Administrator Staff Member


    Have you made any progress???
     


  17. nasir

    nasir Member


    @locQuit is not active how to do this
     


  18. Shabin Jacob

    Shabin Jacob New Member


    I was on other urgent customization for tax invoice, packing list etc. Hence I couldn't try for this..

    Will inform you once done.
     



  19. Dear Amit sir,
    I am kamalakannan from Rajapalayam, Tamilnadu. I am 56.I don't know the abc of tdl. But now I go through all of your postings and I have also interest to make any module for any one of the business. So No I select Transport company. Basically I am a computer programmer in C++(DOS Based). Now a days I am only working in tally as an accountant. My mail ID is 'kamalrsandco@gmail.com'. I want a help from your side is only one form creation of driver details, view and report. Out of that I create the rest I can with the help of this site and you. I am awaiting your valuable guidence and mail. Thanking you, Kamalakannan
     


  20. Amit Kamdar

    Amit Kamdar Administrator Staff Member


    You have come to the right forum to learn TDL...........

    Here, experts can help you in achieving your goals, but you have to make the efforts. Not all are full time developers and coders. Your requirements are not clear, but you need to develop on your own and if you are stuck with something, experts can guide you through.

    Most experts are busy with their main job, just like you are as an Accountant, so experts will help as and when they are able to. That is the whole purpose and essence of this forum.
     


Share This Page