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
        • توثيق كامل لإنشاء تقارير الكروس تاب، كشف الحساب، وحركة المخزون باستخدام أداة إنشاء التقارير
        • توثيق فيديو تدريب تقرير فاتورة المبيعات وميزات الجيو الجديدة
        • شرح إنشاء نموذج طباعة شاشة مستند تصفية
        • توثيق شامل لمحتوى الفيديو حول إعداد تقارير الريبورت ويزرد وإدارة الصلاحيات

EACalcCurrencyRateInDetails

This document was generated using AI Tools

Purpose

This action automatically calculates and sets exchange rates for foreign currencies in document detail lines. It processes each detail line individually, looking up exchange rates for currencies found in detail lines and storing the calculated rates in the specified rate fields.

When to Use This Action

  • Multi-Currency Detail Lines: When document details have different currencies per line
  • Line-Level Currency Processing: When each detail line needs its own exchange rate
  • Mixed Currency Documents: Documents where different detail lines use different currencies
  • Automatic Detail Rate Calculation: To avoid manual entry of exchange rates in detail lines

How It Works

  1. Detail Line Processing: Iterates through all detail lines in the specified detail collection
  2. Currency Field Reading: For each detail line, reads the currency from the specified currency field
  3. Currency Resolution: Converts currency references to actual Currency entities
  4. Rate Calculation: Uses the system's exchange rate utility to calculate current rates
  5. Rate Setting: Stores calculated rates in the specified rate field for each detail line

Entity Type Restrictions

This action can ONLY be used with DocumentFile entities (documents) that have detail line collections. It will not work with other entity types.

Parameters Required

Parameter 1: Currency Field (Required)

  • What it is: The full property path to the currency field in the detail lines
  • Format: [detailCollectionName].[currencyPropertyName]
  • Purpose: Specifies where to find the currency in each detail line
  • Validation: Must start with the detail collection name from Parameter 3

Parameter 2: Rate Field (Required)

  • What it is: The full property path to the rate field in the detail lines
  • Format: [detailCollectionName].[ratePropertyName]
  • Purpose: Specifies where to store the calculated exchange rate in each detail line
  • Validation: Must start with the detail collection name from Parameter 3

Parameter 3: Detail Collection Name (Required)

  • What it is: The name of the detail line collection property
  • Format: Property name (like details, lines, items)
  • Purpose: Specifies which detail collection to process
  • Validation: Must be the prefix for both currency and rate field parameters

Parameter Validation Rules

The system enforces strict parameter validation:

  • Parameter 1 must start with the detail collection name from Parameter 3
  • Parameter 2 must start with the detail collection name from Parameter 3
  • All three parameters are required and cannot be empty

Parameter Format Examples

Template Format

Parameter 1: [detailCollectionName].[currencyPropertyName]
Parameter 2: [detailCollectionName].[ratePropertyName]  
Parameter 3: [detailCollectionName]

Note: Replace bracketed placeholders with actual property names from your entity documentation. Verify that the properties exist before using them.

How Detail Processing Works

Processing Flow

  1. Collection Access: Gets the detail line collection using Parameter 3
  2. Line Iteration: Processes each detail line in the collection individually
  3. Field Path Resolution: Removes the collection prefix to get relative field paths
  4. Currency Lookup: For each line, gets currency value from the currency field
  5. Rate Calculation: Calculates exchange rate for each line's currency
  6. Rate Storage: Sets the calculated rate in each line's rate field

Field Path Processing

The system automatically handles field path conversion:

  • Input: [collection].[currencyField] becomes [currencyField] for detail line processing
  • Input: [collection].[rateField] becomes [rateField] for detail line processing
  • This allows the action to work with the relative field names within each detail line

Important Notes

⚠️ CRITICAL WARNINGS:

  1. DocumentFile Only: Can only be used with document entities, not master files
  2. Detail Collection Required: Document must have a detail line collection
  3. Currency Required: Each detail line's currency field must contain valid Currency entity
  4. Rate Field Type: Rate fields must be decimal type capable of storing exchange rates
  5. Parameter Consistency: All parameters must reference the same detail collection
  6. Null Currency Handling: Lines with null/empty currency are skipped (no error)

Common Use Cases

This action is used when document detail lines contain currency fields that need corresponding exchange rates calculated. Examples include:

  • Multi-Currency Sales Documents: When each line item may have different currencies
  • Purchase Documents with Mixed Currencies: When detail lines use various supplier currencies
  • Expense Reports: When individual expense lines are in different currencies

The specific property names depend on your entity structure and must be verified in the entity documentation before use.

Monitoring and Troubleshooting

Success Indicators

  • Rates Calculated: Exchange rate fields populated in detail lines with currencies
  • Selective Processing: Only detail lines with valid currencies get rates calculated
  • Consistent Rates: Similar currencies on same date should get similar rates

Common Issues

"Some detail lines missing rates"

  • Check if those lines have valid currency values
  • Lines with null/empty currency are intentionally skipped
  • Verify currency references are properly set

"Parameter validation errors"

  • Ensure Parameter 1 starts with Parameter 3 value
  • Ensure Parameter 2 starts with Parameter 3 value
  • Check parameter spelling and format

"Action fails with error"

  • Verify entity is DocumentFile type with detail collections
  • Check that detail collection name (Parameter 3) exists on entity
  • Confirm currency and rate field paths are valid within detail lines

"Rates are zero or incorrect"

  • Check exchange rate table configuration
  • Verify system base currency is properly configured
  • Review rate calculation logic and currency setup

Field Path Examples

Valid Parameter Combinations

✅ Correct Format:
Parameter 1: [collection].[currencyProperty]
Parameter 2: [collection].[rateProperty]
Parameter 3: [collection]

Invalid Parameter Combinations

❌ Wrong - Parameter 1 doesn't start with Parameter 3:
Parameter 1: [currencyProperty]
Parameter 2: [collection].[rateProperty]
Parameter 3: [collection]

❌ Wrong - Inconsistent collection names:
Parameter 1: [collection1].[currencyProperty]
Parameter 2: [collection2].[rateProperty]
Parameter 3: [collection1]

SQL Queries for Troubleshooting

-- Check detail lines with currencies but no rates
SELECT d.id, d.code, dl.[currencyField], dl.[rateField]
FROM [DocumentTable] d
JOIN [DetailTable] dl ON d.id = dl.parentId
WHERE dl.[currencyField] IS NOT NULL 
  AND (dl.[rateField] IS NULL OR dl.[rateField] = 0)

-- Check available exchange rates
SELECT fromCurrency_id, toCurrency_id, rate, effectiveDate
FROM ExchangeRate
WHERE effectiveDate <= GETDATE()
ORDER BY effectiveDate DESC

Related Actions

  • EACalcCurrencyRate: For calculating rates at document header level
  • Multi-Currency Validation: For validating currency and rate combinations
  • Detail Line Processing: For other detail line calculations

Module: core
Full Class Name: com.namasoft.infor.domainbase.util.actions.EACalcCurrencyRateInDetails

Edit On github
Last Updated:: 7/23/25, 10:05 AM
Prev
EACalcCurrencyRate
Next
EACheckAndUpdateLinkAtOnlinePaymentTransactionSysEntry