/// <summary> /// Here you can add a Foreign currency Journal /// </summary> /// <param name="ACurrencyCode">The currency code is defined by a string and the /// TCurrencyInfo object is created internally</param> /// <param name="AExchangeRateToBase"></param> public void AddForeignCurrencyJournal(string ACurrencyCode, decimal AExchangeRateToBase) { FForeignJournal = true; if (FForeignCurrencyInfo == null) { FForeignCurrencyInfo = new TCurrencyInfo(ACurrencyCode); } AddAJournal(AExchangeRateToBase); }
private void TCommonAccountingTool_(string ABatchDescription) { FBatchTDS = TGLPosting.CreateABatch(FLedgerInfo.LedgerNumber); FBaseCurrencyInfo = new TCurrencyInfo(FLedgerInfo.BaseCurrency); FBatchRow = FBatchTDS.ABatch[0]; FBatchRow.BatchDescription = ABatchDescription; FBatchRow.BatchStatus = MFinanceConstants.BATCH_UNPOSTED; FBatchNumber = FBatchRow.BatchNumber; FJournalCount = 0; blnReadyForTransaction = false; blnInitBatchDate = true; }
/// <summary> /// Here you can add a Foreign currency Journal /// </summary> /// <param name="ATCurrencyInfo">A TCurrencyInfo is created extern and /// can be included as a parameter</param> /// <param name="AExchangeRateToBase"></param> public void AddForeignCurrencyJournal(TCurrencyInfo ATCurrencyInfo, decimal AExchangeRateToBase) { FForeignJournal = true; FForeignCurrencyInfo = ATCurrencyInfo; AddAJournal(AExchangeRateToBase); }
/// <summary> /// Run the revaluation and set the flag for the ledger /// </summary> public Boolean RunRevaluation() { try { TLedgerInfo ledger = new TLedgerInfo(F_LedgerNum); F_BaseCurrency = ledger.BaseCurrency; F_BaseCurrencyDigits = new TCurrencyInfo(F_BaseCurrency).digits; F_RevaluationAccCode = ledger.RevaluationAccount; F_FinancialYear = ledger.CurrentFinancialYear; F_AccountingPeriod = ledger.CurrentPeriod; if (!RunRevaluationIntern()) { return false; } if (F_resultSeverity != TResultSeverity.Resv_Critical) { new TLedgerInitFlagHandler(F_LedgerNum, TLedgerInitFlagEnum.Revaluation).Flag = true; // Set the REVALUATION flag on the Ledger. THIS FLAG IS NOW IGNORED. } } catch (EVerificationException terminate) { FVerificationCollection = terminate.ResultCollection(); } return F_resultSeverity == TResultSeverity.Resv_Critical; }
public void Test_05_TCurrencyInfo_2() { TCurrencyInfo getCurrencyInfo = new TCurrencyInfo("EUR", "JPY"); Assert.AreEqual(1.23m, getCurrencyInfo.RoundBaseCurrencyValue(1.23456m), "Round to 2 digits"); Assert.AreEqual(1.0m, getCurrencyInfo.RoundForeignCurrencyValue(1.23456m), "Round to 0 digits"); decimal exchangeRate = 1 / 119.7295m; Assert.AreEqual(0.84m, getCurrencyInfo.ToBaseValue(100.00m, exchangeRate), "Conversion from 100 YEN to 0.83 EUR"); Assert.AreEqual(11973, getCurrencyInfo.ToForeignValue(100.00m, exchangeRate), "Conversion from 100 EUR to 11983 YEN"); Assert.AreEqual(120, getCurrencyInfo.ToForeignValue(1.00m, exchangeRate), "Conversion from 1 EUR to 120 YEN"); getCurrencyInfo.ForeignCurrencyCode = "GBP"; // Change foreign Currency to Pound ... exchangeRate = 1 / 0.8801m; Assert.AreEqual(113.62m, getCurrencyInfo.ToBaseValue(100.00m, exchangeRate), "Conversion from 100 GBP to 113.62 EUR"); Assert.AreEqual(88.01m, getCurrencyInfo.ToForeignValue(100.00m, exchangeRate), "Conversion from 100 EUR to 88.01 GBP"); }