Nama ERP DocsNama ERP Docs
Home
Namasoft.com
Data Model
GitHub
Home
Namasoft.com
Data Model
GitHub
  • Home

    • Search
    • Guides

      • List Views
      • Entity Flows
      • الفواتير والضرائب والخصومات
      • Supply Chain
      • Manufacturing
      • e-commerce integration (Magento)
      • .
    • Examples
    • Reprocessing Transactions
    • Frequently Asked Questions
    • AI Generated Entity Flows Documentation

      • Core
      • Accounting Module
      • AI Module
      • Contracting Module
      • CRM Module
      • EGTax Reader Module
      • Freight Management System Module
      • Hospital Management System Module
      • HR Module

        • CalcBasicSalaryForNetSalary
        • EACalComponentFromLoan
        • EAChangeEmployeeStateFromFiringHandler
        • EAChangeEmployeeStateHandler
        • EAClearFromDateIfFromTimeEmpty
        • EAClearToDateIfToTimeEmpty
        • EACopySalaryStructureToJobOffer
        • EACopySalaryStructureToUpdateEmpInfo
        • EADSCNormalizeTimeAttendance
        • EAEmpAttendanceSysEntryCalculator
        • EAGenSalarySheet
        • EAHealthInsuranceOfferReqAction
        • EALiptisSetComponentFromAnotherWithMax
        • EAMakeSingleCheckInCheckOutIfNeeded
        • EAOyoonWorkPlaceUpdateToUpdateInfo
        • EASalaryCostCalculator
        • EASalaryNormalizeAdditions
        • EASalaryNormalizeDeductions
        • EATimeAttendanceFromDBImportIntoDocument
        • EATimeAttendanceFromDBImporter
        • EATimeAttendanceSetDefaultFromTime
        • EATimeAttendanceSetDefaultToTime
        • EAUpdateEmployeeResidencyRenewDate
        • SetAttendanceToFixedTimeIfEmpty
        • TimeAttendanceAddExtraHoursToEmpty
        • TimeAttendanceRemoveEmptyTimeLines
        • .
      • e-commerce Integration Module
      • Manufacturing Module
      • POS Module
      • Real Estate Module
      • Service Center Module
      • Supply Chain Module
      • .
    • Release Notes

      • 2016
      • 2017
      • 2018
      • 2019
      • 2020
      • 2021
      • 2022
      • 2025
      • .
    • Video Tutorials

      • Supply Chain Videos
      • Report Wizard Videos
      • Human Resources Videos
      • .

EATimeAttendanceFromDBImporter

This document was generated using Claude.ai

Overview

Creates or updates time attendance documents by importing data from external databases. Automatically generates one attendance document per period based on SQL query results, typically used for bulk import from biometric attendance systems.

When This Action Runs

Manual execution or scheduled tasks for regular attendance data imports. Commonly used for monthly imports from attendance machines, creating new documents or updating existing ones based on period.

How It Works

  1. Executes attendance query - Runs SQL to retrieve attendance records from external database
  2. Processes data - Transforms results using format formula and optional Groovy preprocessing
  3. Maps to employees - Matches records to employees using attendance machine codes
  4. Finds or creates document - Uses initialization query to determine document properties
  5. Imports attendance lines - Adds processed attendance records to the document
  6. Saves document - Either commits (if previously committed) or saves as draft based on parameter
  7. Disables versioning - Temporarily disables entity versioning during save to improve performance

Parameters

Parameter 1: Query (Required) - SQL query to retrieve attendance data

Parameter 2: Format Formula (Required) - Transformation rules for data mapping

Parameter 3: Document Initialization Query (Required) - SQL to determine document properties

Parameter 4: Save as Draft (Required) - true to save as draft, false to commit

Parameter 5: Data Pre-processor (Optional) - Groovy script for custom data processing

Parameter 6: Ignore Unfound Employees (Required) - true/false to skip unmatched records

Example Attendance Query

SELECT USERID, CHECKTIME, CHECKTYPE
FROM [DSCATM].dbo.CHECKINOUT atm 
LEFT JOIN dsc.dbo.Employee e ON e.attendanceMachineCode = CAST(atm.USERID AS nvarchar(50))
WHERE MONTH(atm.CHECKTIME) = MONTH(GETDATE()) 
  AND YEAR(atm.CHECKTIME) = YEAR(GETDATE())

Example Document Initialization Query

SELECT 
  'TA' + CAST(YEAR(GETDATE()) * 100 + MONTH(GETDATE()) AS nvarchar(6)) AS code,
  'TAB' AS book,
  YEAR(GETDATE()) * 100 + MONTH(GETDATE()) AS fiscalPeriod,
  CAST(DATEADD(month, DATEDIFF(month, 0, GETDATE()), 0) AS date) AS valueDate

Database Tables Affected

  • TimeAttendance - Creates new documents or updates existing ones
  • TimeAttendanceLine - Creates attendance line records
  • Employee - References employees by attendance machine code (read-only)
  • External Database - Source of attendance data

Module: hr

Full Class Name: com.namasoft.modules.humanresource.utils.actions.EATimeAttendanceFromDBImporter

Edit On github
Last Updated:: 3/18/26, 11:30 PM
Prev
EATimeAttendanceFromDBImportIntoDocument
Next
EATimeAttendanceSetDefaultFromTime