/**
* Function to get the latest currency exchange rate based on base currency (HKD) and transaction currency(USD)
* @param baseCurrency
* @param sourceCurrency
* @return exchangeRate
**/
function getExchangeRate(baseCurrency, sourceCurrency) {
try {
let exchangeRate = 0;
let currencyrateSearchObj = search.create({
type: "currencyrate",
filters:
[
["basecurrency", "anyof", baseCurrency],
"AND",
["transactioncurrency", "anyof", sourceCurrency]
],
columns:
[
search.createColumn({
name: "exchangerate",
summary: "MAX",
label: "Exchange Rate",
}).setWhenOrderedBy({ name: 'effectivedate', join: 'currencyrate' })
]
});
let searchResultCount = currencyrateSearchObj.runPaged().count;
log.debug('searchResultCount', searchResultCount);
if (searchResultCount == 0) {
return false;
} else {
currencyrateSearchObj.run().each(function (result) {
exchangeRate = result.getValue({
name: "exchangerate",
summary: "MAX",
label: "Exchange Rate"
});
});
}
return exchangeRate;
} catch (e) {
log.error("Error @ getExchangeRate", e);
return false;
}
}