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

    • Search
    • Guides

      • بعض المعلومات عن استعمال هذا الموقع
      • Utility Links
      • System Minimum Requirements
      • Nama ERP Installation Guide
      • Reports Guide (Jasper Reports)
      • Keyboard Shortcuts
      • Layout Names:
      • Entity Flows

        • مقدمة عن مسارات الكيان
        • Field Values Calculator
        • Importing Data from Excel or Queries
        • EAGenerateEntityFromEntityAction
      • دليل استخدام أداة إنشاء التقارير ونماذج الطباعة
      • الفواتير والضرائب والخصومات

        • ربط سندات الدفع بالفواتير
        • دليل استعمال وتشغيل الضرائب والخصومات بنظام Nama ERP وتأثيرها على حساب قيم الفواتير
        • دليل ربط Nama ERP بأنظمة الفاتورة الإلكترونية
        • الربط مع هيئة الزكاة والدخل بالسعودية
        • Electronic Receipt (Egypt Tax eInvoice) تفعيل الإيصال الإلكتروني - الفاتورة الإلكترونية - مصر
      • Tempo Language Manual
      • Sending Invoices and Documents to Customers
      • SMS and WhatsApp Configuration in Nama ERP
      • Field Filter with Criteria
      • تعديل الترجمات في نظام نما
      • Criteria Based Validation
      • صيغ الحضور والانصراف
      • الربط مع ماكينات الحضور والانصراف
      • Email By Parameterized Reports In Task Scheduler
      • Nama Properties
      • Customer Reward Points (Loyalty Points)
      • دليل استعمال النقاط الفنية في نقاط البيع
      • تطبيق الهواتف المحمولة
      • ORACLE JDBC Integration Connection in context.xml for integration purposes
      • Nama ERP REST API
      • Criteria from Text Parser
      • ضوابط إنشاء طلبات تطوير من قبل أقسام الدعم الفني والتجهيز بالشركة
    • Examples

      • أمثلة لمسارات كيان
    • Reprocessing Transactions

      • Reprocessing Quantity, Cost, and Stock Ages
      • Accounting Utilities - Ledger and Debt Ages Reprocessing
      • Queries to Check for (and Fix) Cost And Qty Problems
      • Inventory Related Utility Queries
      • Manufacturing Utilities
      • Fixed Assets Module Utilities
      • Real Estate Utilities
      • Database Related Operations
      • Suggest Indexes for Large Detail Tables
      • General Purpose Utility Queries
      • Replication Utilities
    • Frequently Asked Questions

      • أسئلة عامة
      • أسئلة شائعة حول تعديل الشاشات
      • أسئلة شائعة عن التنبيهات والرسائل
      • أسئلة عامة عن GUI Post Actions
      • أسئلة شائعة عن مسارات الكيان
      • أسئلة شائعة حول الفواتير والدفع
      • أسئلة في موديول التوزيع والمخازن والمبيعات والمشتريات
      • أسئلة شائعة حول موديول التصنيع في نظام Nama ERP
      • أسئلة شائعة حول نقاط البيع
      • أسئلة شائعة في موديول الرواتب والموارد البشرية
      • أسئلة شائعة عن تصميم التقارير
      • أسئلة شائعة حول أداة إنشاء التقارير
      • أسئلة شائعة عن الموافقات
      • أسئلة شائعة حول تطبيقات الهواتف المحمولة في نظام Nama ERP
      • أسئلة شائعة حول فلترة الحقول
      • Database Related Errors FAQ
    • AI Generated Entity Flows Documentation

      • Core

        • DeleteRelatedEntityAction
        • EAAllowUseAsFromDocOfAField
        • EAAltCodeValidator
        • EAAttachReportResultToRecord
        • EAAutoCollectSignAndSentEInvoice
        • EAAutoEscalateApprovalToFallBackEmployee
        • EAAutoEscalateApprovalToSupervisor
        • EAAutoSendEInvoice
        • EAAutomaticGenerateEntityFromEntityAction
        • EAAutomaticGenerateEntityFromEntityActionWithApproval
        • EACacheEvicter
        • EACalcCurrencyRate
        • EACalcCurrencyRateInDetails
        • EACheckAndUpdateLinkAtOnlinePaymentTransactionSysEntry
        • EACheckDailyBackupOnGoogleDrive
        • EAClearGoogleDriveTrash
        • EACloseFiscalPeriodsInRange
        • EACodeValidator
        • EACopyEmptyAccountsFromBag
        • EADeleteFromAnotherServer
        • EADeleteFromQuery
        • EADeleteOldFiles
        • EADetailsRemover
        • EAEmptifyTomcatTemp
        • EAErrorIfQueryNotMatched
        • EAExecuteUpdateQuery
        • EAExecuteUpdateQueryOnDifferentDatasource
        • EAExportAttachments
        • EAFieldsValuesCalculator
        • EAForceApplyInstallmentEffects
        • EAGenerateDraftEntityFromEntityAction
        • EAGenerateDraftEntityFromEntityActionNoFlush
        • EAGenerateEntityFromEntityAction
        • EAGenerateEntityFromEntityActionNoFlush
        • EAGenerateEntityFromEntityActionNoFlushWithApproval
        • EAGenerateEntityFromEntityActionWithApproval
        • EAGenerateKNetPaymentURLs
        • EAGenerateMyFatoorahPaymentURLs
        • EAGroovyAction
        • EAGuessEntityFromNames
        • EAIgnoringNotFoundTargetFieldsValuesCalculator
        • EAJsonRecordExporter
        • EALoyalityEarnReward
        • EAMakeCreationDateAlwaysAfter
        • EAMakeCreationDateAlwaysBefore
        • EAMakeCreationDateAlwaysBetween
        • EAMakeCreationDateInValueDate
        • EANamaCloudBackupPrepare
        • EAOpenFiscalPeriodsInRange
        • EAPostGoPayOfflinePayment
        • EAPreventChangingFields
        • EAPreventFromDocOfUsageAgain
        • EAPreventUpdateDetailedRemarkLines
        • EAPreventUseAsFromDocOfAField
        • EAPrintFormToPrinter
        • EAPrintReportToPrinter
        • EARecommitFromQuery
        • EARefreshCriticalErrors
        • EARefreshGoogleDriveOrMailToken
        • EARegenAccEffects
        • EARegenAccFromQuery
        • EAReviseUnReviseFromQuery
        • EARevokeApproval
        • EARunEntityFlow
        • EARunEntityFlowFromQuery
        • EARunManualNotification
        • EARunManualNotificationFromQuery
        • EARunTaskSchedule
        • EASQLToCSVEmail
        • EASQLToCSVFile
        • EASaveDraftsFromQuery
        • EASaveRecordsFromQuery
        • EASaveToAnotherServer
        • EASaveToAnotherServerUsingJSON
        • EAScaleImage
        • EAScaleMasterFileImage
        • EASendHttpRequestByTempo
        • EASetCreationDateToEndOfDay
        • EASetCreationDateToStartOfDay
        • EASetFieldByTemplate
        • EASortFields
        • EAWathqAddressFetcher
        • EAWathqBasicInfoFetcher
        • EAWathqCommercialInfoFetcher
        • EAWordTemplate
        • SQLDraftImporter
        • SQLDraftImporterFromDifferentDataSource
        • SQLImporter
        • SQLImporterFromDifferentDataSource
      • Accounting Module

        • EAAddAccountingEffect
        • EAClearLedgerLines
        • EAGenInvestmentDocClaimingDoc
        • EAGenJournalEntry
        • EAGenTreasuryBillCloseDoc
        • EARVPVControlJournal
        • EAReverseLedgerTrans
        • EAShortenLedger
        • EAShortenLedgerChangeToAccountCurrency
        • EASortLedger
      • AI Module

        • EAEmbedFileToAIDB
      • Contracting Module

        • EAUpdateExtractsEffectsOnPaymentDocs
        • EAUpdateRemarksInContractorExtractFromProjectContractTermDescription
        • EAUpdateRemarksInExtractFromContractTermDescription
      • CRM Module

        • EACRMContractBodyShapersCheckIn
        • EACRMDevReqPadLeftRelativeWeight
      • EGTax Reader Module

        • EAReadRecentTaxEInvoices
      • Freight Management System Module

        • EAKWSendIPSEvents
      • Hospital Management System Module

        • EACreateAccommodationInvoice
      • HR Module

        • CalcBasicSalaryForNetSalary
        • EACalComponentFromLoan
        • EAChangeEmployeeStateHandler
        • EAClearFromDateIfFromTimeEmpty
        • EAClearToDateIfToTimeEmpty
        • EACopySalaryStructureToJobOffer
        • EACopySalaryStructureToUpdateEmpInfo
        • EADSCNormalizeTimeAttendance
        • EAEmpAttendanceSysEntryCalculator
        • EAHealthInsuranceOfferReqAction
        • EALiptisSetComponentFromAnotherWithMax
        • EAMakeSingleCheckInCheckOutIfNeeded
        • EAOyoonWorkPlaceUpdateToUpdateInfo
        • EASalaryCostCalculator
        • EASalaryNormalizeAdditions
        • EASalaryNormalizeDeductions
        • EATimeAttendanceFromDBImportIntoDocument
        • EATimeAttendanceFromDBImporter
        • EATimeAttendanceSetDefaultFromTime
        • EATimeAttendanceSetDefaultToTime
        • EAUpdateEmployeeResidencyRenewDate
        • SetAttendanceToFixedTimeIfEmpty
        • TimeAttendanceAddExtraHoursToEmpty
        • TimeAttendanceRemoveEmptyTimeLines
      • e-commerce Integration Module

        • EAEcommerceAddItemToLinker
        • EAEcommerceGuessItemBySKU
        • EAEcommerceReadAbandonedCarts
        • EAEcommerceReadOrders
        • EAEcommerceReadOrdersFromDate
        • EAEcommerceShippingHandler
        • EAEcommerceUploadQuantityCSVFileToFTPServer
        • EASalesRecalculateFreeAndRelatedItems
      • Manufacturing Module

        • EAStartOrderIfNotStarted
      • POS Module

        • EADarTibaServiceInvoiceTermSetter
      • Real Estate Module

        • EAAutoExtendExpiredRentContracts
        • EAAutoGenerateREFineDoc
        • EACancelReservationOFSalesInitialDoc
        • EAFixNextAndPreviousFromQuery
      • Service Center Module

        • EACopyMotorAndChassisSerialsAndLotsToAssembledItemInCoProds
        • EARecalculateSrvcOperationsAndMaterialsPrices
        • EARecalculateSrvcOperationsAndMaterialsPricesFromQuery
        • EASRVCCopyExecutionRemarksToJobOrder
        • EAUpdateAssemblyDocWithAssembledItemSold
        • EAUseReceiptPaperForEngineOrChassisItems
      • Supply Chain Module

        • EAApplyReservationOfDocsByQuery
        • EAAutoCreateSCDocSecondSerial
        • EAAutoCreateSCDocSerial
        • EAAutoGenSCDocFromDocWithFieldsMap
        • EAAutoGroupCloneItemFromPO
        • EAAutoSerialNumberCalculator
        • EACancelReservationOfDocsByQuery
        • EACollectAlItem
        • EACollectByItemDimension
        • EACollectLot
        • EACollectStockDocsIfEmpty
        • EACopyItemAssortmentToSCLine
        • EACopyRackCodeFromStockTaking
        • EACopyRevisionFromFromDoc
        • EACopyTaxesFromFromDoc
        • EACopyUnitCostFromInvoiceToIssueDoc
        • EAEGBRASSFixCreationDates
        • EAFillSCDetailsByBarCodeSpecs
        • EAGenAndItemSizesAndColorsAndRevisions
        • EAGenSCDocFromDocWithFieldsMap
        • EAGenSCDocFromDocWithFieldsMapWithoutFlush
        • EAGuessSourceLineByItemIdAndFreeItem
        • EAGuessSourceLineIdByItem
        • EAImportItemsFromLongTextField
        • EALotCalculator
        • EAMultiCustomerSalesOfferCreator
        • EANotifyIfSSLCertificateAboutToExpire
        • EAPreventChangingSCDocumentCriticalFields
        • EAPreventQtyLessThan
        • EAPreventQtyMoreThan
        • EAPreventRepeatedItems
        • EAPreventRepeatedValuesAtDetail
        • EAReApplyQtyTrackingEffects
        • EARecalcFreeLinesUnitPriceIfZero
        • EARecalcPurchasePrices
        • EARecalcSalesDocDiscounts
        • EARecalcSalesDocUnitPrices
        • EARecalcSalesDocUnitPricesAndDiscounts
        • EARecalculateAdditionalCost
        • EARegenAssemblyDocumentDetailsFromBOM
        • EARegenInvTransReq
        • EARegenInvTransReqFromQuery
        • EAReplaceItemBoxInSystem
        • EAReplaceItemColorInSystem
        • EAReplaceItemSizeInSystem
        • EASCDocFromDocCreator
        • EASCDocFromDocDeleter
        • EASCPreventChangingFromDocFields
        • EASalesRecalculateFreeAndRelatedItems
        • EASendCustomerToDatanuum
        • EASendInvItemToDatanuum
        • EASendInvoiceToDatanuum
        • EASendReturnedInvoiceToDatanuum
        • EASetDefaultWarehouseForServiceItems
        • EASpreadAssemblyComponents
        • EASubolSetMasterRowIdOfFreeItems
        • EASupplyChainMergeDocLines
        • EASupplyChainMergeStockTakingElectronicDocLines
        • EAUnZipSerialsInLines
        • EAUniCreteGenAssemblyBOM
        • EAUniCreteGenItems
        • EAUniCreteGenSalesInvoiceFromStockIssue
        • EAUniCreteSetQtyOfSlaveRowsAsMaster
        • EAUnicreteGenItemsAllAllowMustApply
        • EAUpdateDeliveryStatusFromSalesDocToFromDoc
        • EAUpdateLotIdDates
        • SetQuantityToOneAction
        • SetSecondUOMToDefaultIfEmpty
        • UniqueBOXInsideStockReceipt
        • ValidateSorceLinesOfFromDocAction
    • Video Tutorials

      • توثيق فيديو تنصيب Nama ERP والبرامج المساعدة
      • Supply Chain Videos

        • فيديو طريقة عمل التكاليف - 1
        • فيديو طريقة عمل التكاليف - 2
        • فيديو طريقة عمل التكاليف - 3
      • توثيق شرح التكاليف غير المباشرة والفعلي في نظام تصنيع
      • Report Wizard Videos

        • فيديو (1) شرح أداة انشاء التقار
        • شرح تفصيلي لجروبنج (Grouping) ومصادر البيانات وترتيب التقارير في Nama ERP
        • توثيق كامل لإنشاء تقارير الكروس تاب، كشف الحساب، وحركة المخزون باستخدام أداة إنشاء التقارير
        • توثيق فيديو تدريب تقرير فاتورة المبيعات وميزات الجيو الجديدة
        • شرح إنشاء نموذج طباعة شاشة مستند تصفية
        • توثيق شامل لمحتوى الفيديو حول إعداد تقارير الريبورت ويزرد وإدارة الصلاحيات

صيغ الحضور والانصراف

في العادة يقوم الموظفون بتسجيل الحضور والانصراف عن طريق البصمة بواسطة أحد ماكينات الحضور المخصصة لذلك Time Attendance Machine. بالطبع يختلف شكل البيانات الخارج من ماكينة لأخرى. فعلى سبيل المثال، بعض الماكينات تقوم بإخراج الوقت مثلاً بطريقة 24 ساعة والبعض بطريقة 12 ساعة صباحاً ومساءً، ويمكن أن تخرج البيانات على شكل ملف إكسل والبعض بملف نصي على أن تستخدم فاصلة محددة للفصل بين الحقول المستوردة. وتختلف هذه الفاصلة من ماكينة لأخرى، وهكذا.

لاحظ أنه إذا كان الملف الخارج من الماكينة يخرج بإصدار إكسل قديم بالامتداد xls، فلابد من إعادة تخزين هذا الملف بالامتداد الحديث xlsx، وذلك تجنباً لحدوث أخطاء عند استيراد البيانات.

من خلال مستند الحضور والإنصراف يتم استيراد ملفات الدوام الخاصة بالموظفين وذلك عن طريق تحديد ماكينة الحضور والانصراف المستخدمة ثم تحديد الملفات التي سيتم استيرادها والتي سيتم تحديدها من خلال حقول المرفقات، حيث يسمح النظام باستيراد حتى 5 مرفقات. أنظر الشكل التالي:

ملف الحضور والانصراف

قامت شركة نما سوفت، ومن خلال ملف إعدادات الرواتب بتصميم آلية لمساعدة المستخدم في استيراد البيانات من ملف الدوام، وبالمناسبة فإن نظام نما يتعامل فقط مع ملف الدوام الخارج من ماكينة الحضور والانصراف، ولا يقوم بالإتصال بماكينة الحضور والانصراف نفسها بأي حال من الأحوال.

لذا فالغرض من صيغ الحضور والانصراف - التي سنقوم بشرحها - هو إعلام نظام نما بشكل و تنسيق البيانات بالملف التي سيتم استيرادها، مثل كيفية صياغة التاريخ هل سيتم إدراج اليوم كرقم واحد (1،2،3)، أم كرقمين (01,02,03).

فيما يلي سنقوم بشرح كيفية توصيف الصيغة المستخدمة في توصيف بيانات الحضور والانصراف، وذلك من خلال شرح الآلية التي تحدثنا عنها بالفقرة السابقة.

الصيغة العامة لتعريف شكل الحقول المستوردة يمكن فهمها من المثال المذكور بالصورة التالية :

إعدادات صيغة الحضور والانصراف باعدادات الموارد البشرية

حيث AA هو اسم يعبرعن الماكينة التي يراد استخدام الصيغة لها، ويمكن استبداله بأي نص آخر، ومن ثم فعند استيراد بيانات هذه الماكينة من خلال ملف الدوام، يتم اختيار (AA) بالحقل آلة الحضور والإنصراف.

يتم استخدام الرمز "#" قبل صيغة أي حقل - أنظر الصورة.

تعبر عن كود المستخدم على ماكينة الحضور والانصراف. #empid

تعبر عن صيغة التاريخ الخاص بهذا الموظف. #date{dd-MM-yyyy}

تعبر عن صيغة الوقت الأول (وقت الدخول) الخاص بهذا الموظف. #time{HH:mm}

ويتم سرد أي بيانات أخرى يراد إضافتها مثل نص 1 وغير ذلك.

يمكن استخدام أي من الأزرار الموجودة بأسفل النافذة لإدراج أي من صيغ الدوام مثل التاريخ والوقت، وهو يقوم آلياً بوضع الرمز # متبوعاً بالصيغة المطلوبة بشكل صحيح، ولذلك فالشركة المطورة تنصح باستخدام هذه الأزرار تجنباً للأخطاء اليدوية.

عند ضبط الصيغة بهذه الطريقة فإن نظام نما يتوقع أن تكون البيانات الموجودة بالملف المستورد بالشكل التالي:

مثال على شكل البيانات المتوقعة

صيغ أزرار استيراد الحضور والانصراف

فيما يلي شرح لجميع صيغ الحقول التي يمكن استخدامها عند استيراد بيانات الحضور والانصراف في نظام نما.

جدول شرح لكل مكونات صيغ الحضور و الانصراف

بالطبع، إليك النسخة المعاد تنسيقها من المستند الأصلي، بدون استخدام جداول، وبنفس المستوى من التفاصيل والأمثلة:


صيغ أزرار استيراد الحضور والانصراف

Employee ID

الصيغة: #empid

يُستخدم لإدراج كود الموظف على ماكينة الحضور والانصراف.


Date

الصيغة: #date{dd-MM-yyyy}

يُستخدم لإدراج التاريخ (سواء كان للدخول أو الخروج). تفاصيل التنسيق:

  • dd: اليوم. إذا استُخدم حرفان، يُتوقع أن تكون البيانات مثل 01, 02, ..., 31. أما إذا استُخدم حرف واحد d، فيُتوقع أن تكون مثل 1, 2, ..., 31.

  • MM: الشهر بحرفين، مثل 01, 02, ..., 12. مهم: يجب استخدام حرف كبير M لأن الحرف الصغير m يُشير إلى الدقائق.

  • yyyy: السنة بأربعة أرقام، مثل 2024, 2025.


In Date

الصيغة: #indate{dd-MM-yyyy}

تُستخدم لإدراج تاريخ الدخول في عمود مستقل. عند استخدامها، يجب استخدام Out Date معها لوجود تاريخي الحضور والانصراف في نفس السطر.


Out Date

الصيغة: #outdate{dd-MM-yyyy}

تُستخدم لإدراج تاريخ الخروج في عمود مستقل. تُستخدم مع In Date.


Time

الصيغة: #time{HH:mm} أو #time{hh:mm a}

  • HH: الساعة بصيغة 24 ساعة. إذا استُخدم H فقط، فيُتوقع الشكل 1, 2, ..., 24.

  • hh: الساعة بصيغة 12 ساعة، ويجب إضافة a لتحديد الفترة (AM/PM أو صباحاً/مساءً).

  • mm: الدقائق، مثل 01, 02, ..., 59.

أمثلة:

  • 10:42 am
  • 10:42 pm

In Time

الصيغة: #intime{HH:mm:ss}

تُستخدم لإدراج وقت الدخول في عمود مستقل. يُستخدم معها Out Time.


Out Time

الصيغة: #outtime{HH:mm:ss}

تُستخدم لإدراج وقت الخروج في عمود مستقل. يُستخدم معها In Time.


Date Time

الصيغة: #datetime{dd-MM-yyyy HH:mm:ss}

تُستخدم لإدراج التاريخ والوقت في عمود واحد.


In Date Time

الصيغة: #indatetime{dd-MM-yyyy HH:mm:ss}

تُستخدم لإدراج تاريخ ووقت الدخول في عمود واحد.


Out Date Time

الصيغة: #outdatetime{dd-MM-yyyy HH:mm:ss}

تُستخدم لإدراج تاريخ ووقت الخروج في عمود واحد.


Alternating Punch

الصيغة: #alternatingPunch

تعتبر أول قراءة خلال اليوم "دخول"، وآخر قراءة "خروج". تُستخدم لتبسيط بيانات الاستيراد من الماكينة.


Alternating With Attendance Plan Punch

الصيغة: #alternatingWithAttendancePlanPunch{2.5}

تُستخدم هذه الصيغة للتعامل مع البيانات المستوردة بذكاء، بحيث يقوم النظام بتحديد ما إذا كانت البصمة تمثل دخولاً أو خروجاً، وذلك بناءً على خطة الدوام الخاصة بالموظف.

يعتمد هذا التحديد على مدى زمني (بالساعات) يتم تحديده داخل الأقواس {}. ضمن هذا المدى، يتم اعتبار البصمة إما دخولًا أو خروجًا بناءً على قربها من وقت الدوام المحدد.

مثال توضيحي:

AA=#empid#date{dd-MM-yyyy}#time{hh:mm}#alternatingWithAttendancePlanPunch{2}

الشرح:

  • خطة دوام الموظف: من الساعة 8:00 صباحًا إلى 4:00 مساءً.
  • تم تحديد المدى {2} في الصيغة.

بالتالي:

  • أي بصمة بين 6:00 صباحًا إلى 10:00 صباحًا → تعتبر بصمة دخول.
  • أي بصمة بين 2:00 مساءً إلى 6:00 مساءً → تعتبر بصمة خروج.

متى تستخدم هذه الصيغة؟

تفيد هذه الصيغة بشكل خاص عندما:

  • يكون لدى الموظف أكثر من وردية عمل في اليوم الواحد.
  • يتم تسجيل أكثر من دخول وخروج فعلي في نفس اليوم.

بفضل هذه الصيغة، يتم تفسير البيانات بشكل مرن وذكي دون الحاجة لتعريف نوع البصمة بشكل صريح داخل الملف.


Exact Alternating

الصيغة: #exactAlternating

تعتبر القراءة الأولى دخول، الثانية خروج، الثالثة دخول، ...وهكذا. إذا بدأ يوم جديد، تُعتبر القراءة دخول تلقائيًا.


Exact Alternating With Different Days

الصيغة: #exactAlternatingWithDifferentDays

نفس فكرة Exact Alternating لكن عبر أيام متعددة.


Exact With Different Days

الصيغة: #exactWithDifferentDays

تعتبر كل قراءتين متتاليتين دخول وخروج بغض النظر عن التواريخ.


Ignore Consecutive Punches

الصيغة: #ignoreConsecutivePunches{5}

تُستخدم لتجاهل البصمات المتقاربة خلال عدد دقائق معين (مثلاً 5 دقائق).


Add Hours: Time Zone Diff

الصيغة: #addhours{2} أو #addhours{-2}

تُستخدم لترحيل الوقت بإضافة أو طرح عدد ساعات معين.


Type: In or Out

الصيغة: #type{I-O} أو #type{C/In-C/Out}

تُستخدم لتحديد نوع البصمة (دخول أو خروج) إذا كانت موجودة كقيمة في الملف.


Copy Lines

الصيغة:#copylines{intime=Checkin2,outtime=Checkout2|intime=Checkin3,outtime=Checkout3}

في بعض الأحيان، يتم استيراد بيانات الحضور والانصراف لأكثر من ورديّة (ورديتين أو ثلاث) في نفس السطر داخل الملف المصدر.

طريقة التمثيل:

1. إدراج التاريخ والوقت للوردية الأولى:

AA=#date{dd-MM-yyyy}#intime{HH:mm:ss}#outtime{HH:mm:ss}

2. إدراج الحقول الإضافية للورديات الثانية والثالثة (مثلاً):

AA=#date{dd-MM-yyyy}#intime{HH:mm:ss}#outtime{HH:mm:ss}#Checkin2#Checkout2#Checkin3#Checkout3

3. استخدام الصيغة copylines لنسخ الورديات الأخرى إلى سطور مستقلة:

AA=#date{dd-MM-yyyy}#intime{HH:mm:ss}#outtime{HH:mm:ss}#Checkin2#Checkout2#Checkin3#Checkout3#copylines{intime=Checkin2,outtime=Checkout2|intime=Checkin3,outtime=Checkout3}

ملاحظات:

  • إذا كان هناك وردية إضافية واحدة فقط، يمكن حذف الجزء الخاص بـ Checkin3 و Checkout3.
  • هذه الصيغة تجعل النظام يُعامل كل زوج من (وقت دخول ووقت خروج) كوردية مستقلة، ويقوم بتحويلها إلى سطر مستقل عند الاستيراد.

Separator

الصيغة: #sep{,}

تُستخدم لتحديد الفاصل بين الحقول في الملف النصي (مثل , أو تبويب \\t أو مسافة).


Empty Column

الصيغة: #ignore

لتجاهل عمود معين في الملف.


Ignore Lines From Top

الصيغة: #ignoreLinesFromTop{1}

لتجاهل عدد معين من السطور من أعلى الملف.


Ignore Lines From End

الصيغة: #ignoreLinesFromEnd{1}

لتجاهل عدد معين من السطور من أسفل الملف.


Text 1

الصيغة: #text1

لاستيراد حقل نصي إضافي، مثل الجنسية.


Machine Code

الصيغة: #machinecode

لاستيراد كود الماكينة في تفاصيل الحضور والانصراف.


Ref1 Code & Ref1 Entity Type

الصيغ:

  • #ref1Code
  • #ref1EntityType{Project}

تُستخدم لاستيراد كود ونوع مرجع 1 (مثل المشروع، الإدارة، الفرع...).


Ref2 Code & Ref2 Entity Type

الصيغ:

  • #ref2Code
  • #ref2EntityType{Branch}

تُستخدم لاستيراد كود ونوع مرجع 2.


Remove Empty Columns

الصيغة: #removeEmptyColumns

تُستخدم لإزالة الأعمدة الفارغة التي تنتج من فراغات متكررة في الملف النصي.


AM / PM

الصيغة: #am_pm{صباحاً-مساءاً}

تُستخدم عند استخدام تنسيق 12 ساعة مع تعبيرات صباحاً/مساءاً بدلاً من AM/PM.


Merge With Previous With Separator

الصيغة: #mergeWithPreviousWithSeparator{-}

تُستخدم هذه الصيغة في الحالات النادرة التي يتم فيها إدراج أحد الحقول مقسومًا على عدة أعمدة في ملف نصي، كما في حالة التاريخ المكتوب بالشكل التالي:

2019 01 15

في هذه الحالة، يقرأ النظام هذه القيم كثلاثة أعمدة منفصلة، وليس كقيمة واحدة.

الحل:

يمكن استخدام #mergeWithPreviousWithSeparator{-} لدمج هذه الأعمدة الثلاثة في قيمة واحدة مفصولة بعلامة مثل -، لتصبح:

2019-01-15

مثال تطبيقي:

AA=#empid#date#mergeWithPreviousWithSeparator{-}#mergeWithPreviousWithSeparator{-}#time{HH:mm}

ملاحظات:

  • تم استخدام الصيغة مرتين لأن هناك مسافتين بين أجزاء التاريخ.
  • داخل الأقواس {} يتم تحديد الفاصل الجديد الذي سيُستخدم عند الدمج (في هذا المثال -).
  • تُفيد هذه الصيغة عند الاستيراد من ملفات غير منظمة أو يتم تنسيقها يدويًا بفواصل غير موحدة.

Merge With Previous With No Separator

الصيغة: #mergeWithPreviousNoSeparator

تُستخدم لدمج القيم دون استخدام أي فاصل.


Merge With Previous With Space

الصيغة: #mergeWithPreviousWithSpace

تُستخدم لدمج القيم وفصلها بمسافة بدلًا من فاصل آخر.


Tips

📌 يمكن الاستعانة بالأزرار المتوفرة في شاشة إعداد الصيغة داخل النظام لإدراج الصيغة الصحيحة تلقائيًا وتجنب الأخطاء اليدوية.

Edit On github
Last Updated:: 6/9/25, 8:23 AM
Prev
Criteria Based Validation
Next
الربط مع ماكينات الحضور والانصراف