ExchangeRateCurrencyPair pair;
//TCMB : Exchange rate type (ExchangeRateType) tablle Name key field
select firstOnly pair
where pair.ExchangeRateType == ExchangeRateType::findByName("TCMB").RecId &&
pair.FromCurrencyCode == "USD" &&
pair.ToCurrencyCode == Ledger::accountingCurrency(CompanyInfo::current());
this.ExchangeRate = ExchangeRate::findByDate(pair.RecId,systemDateGet()).ExchangeRate;
Edit method for exchange rate entry ( There're a lot of samples at default forms like SalesTable ) :
public edit CurrencyExchangeRate editExchRate(boolean set, CurrencyExchangeRate _exchRate)
{
ExchangeRateHelper exchangeRateHelper = ExchangeRateHelper::newCurrency(Ledger::primaryLedger(CompanyInfo::findDataArea(curext()).RecId), this.Currency);
if (set)
{
this.ExchangeRate = exchangeRateHelper.prepareExchangeRateForStorage(_exchRate);
}
else
{
_exchRate = exchangeRateHelper.displayStoredExchangeRate(this.ExchangeRate);
}
return _exchRate;
}
Calculate default currency amount from exchange rate:
ExchangeRateHelper exchangeRateHelper = ExchangeRateHelper::newCurrency(Ledger::primaryLedger(CompanyInfo::findDataArea(curext()).RecId), Ledger::accountingCurrency(CompanyInfo::current()));
CurrencyExchangeHelper cur = CurrencyExchangeHelper::construct();
cur.parmLedgerRecId(Ledger::primaryLedger(CompanyInfo::current()));
cur.parmExchangeDate(today());
//If you want to find daily currency rate from system, delete next two lines
cur.parmExchangeRate1(exchangeRateHelper.prepareExchangeRateForStorage(1));
cur.parmExchangeRate2(this.ExchangeRate);
this.BudgetAmountMST = cur.calculateTransactionToAccounting(this.Currency,this.BudgetAmount,true);
or short type of upper:
info(strFmt("%1", Currency::curAmount(100,"usd",today(),UnknownNoYes::Yes,500,100)));
info(strFmt("%1", Currency::curAmount2CurAmount(100,"usd","try",today())));
Hiç yorum yok:
Yorum Gönder