To implement this hotfix, you must have a developer license.
You do not have to have rights to the data stores unless you have to perform data repair.
...
Correction:=GenJnlLine.Correction;
GetCurrency;
// Delete the following lines.
CASE TRUE OF
CBGStatement.Currency=GenJnlLine."Currency Code":
BEGIN
"Amount Settled" := GenJnlLine.Amount;
VALIDATE(Amount,GenJnlLine.Amount);
END;
(CBGStatement.Currency='') AND (GenJnlLine."Currency Code"<>''):
BEGIN
UseCurrencyFactor := CurrencyExchangeRate.ExchangeRate(Date,GenJnlLine."Currency Code");
Amount:=ROUND(CurrencyExchangeRate.ExchangeAmtFCYToLCY(Date,GenJnlLine."Currency Code",GenJnlLine.Amount,UseCurrencyFactor),
Currency."Amount Rounding Precision");
"Amount Settled" := Amount;
VALIDATE(Amount);
END;
(CBGStatement.Currency<>'') AND (GenJnlLine."Currency Code"=''):
BEGIN
UseCurrencyFactor := CurrencyExchangeRate.ExchangeRate(Date,CBGStatement.Currency);
Amount:=ROUND(CurrencyExchangeRate.ExchangeAmtLCYToFCY(Date,CBGStatement.Currency,GenJnlLine.Amount,UseCurrencyFactor),
"Amount Settled" := Amount;
VALIDATE(Amount);
END;
(CBGStatement.Currency<>'') AND (GenJnlLine."Currency Code"<>''):
BEGIN
Amount:=ROUND(CurrencyExchangeRate.ExchangeAmtFCYToFCY(Date,GenJnlLine."Currency Code",CBGStatement.Currency,GenJnlLine.
Amount
),
Currency."Amount Rounding Precision");
"Amount Settled" := Amount;
VALIDATE(Amount);
END;
END;
// End of the deleted lines.
"Applies-to Doc. Type":=GenJnlLine."Applies-to Doc. Type";
"Applies-to Doc. No.":=GenJnlLine."Applies-to Doc. No.";
...
...
Correction:=GenJnlLine.Correction;
GetCurrency;
// Add the following lines.
IF (GenJnlLine."Account Type" = GenJnlLine."Account Type"::Customer) OR
(GenJnlLine."Account Type" = GenJnlLine."Account Type"::Vendor) THEN BEGIN
CASE TRUE OF
CBGStatement.Currency = GenJnlLine."Currency Code":
Amount := GenJnlLine.Amount;
(CBGStatement.Currency = '') AND (GenJnlLine."Currency Code" <> ''):
BEGIN
UseCurrencyFactor := CurrencyExchangeRate.ExchangeRate(Date,GenJnlLine."Currency Code");
Amount :=
ROUND(CurrencyExchangeRate.ExchangeAmtFCYToLCY(Date,GenJnlLine."Currency Code",GenJnlLine.Amount,UseCurrencyFactor),
Currency."Amount Rounding Precision");
END;
(CBGStatement.Currency <> '') AND (GenJnlLine."Currency Code" = ''):
BEGIN
UseCurrencyFactor := CurrencyExchangeRate.ExchangeRate(Date,CBGStatement.Currency);
Amount := ROUND(CurrencyExchangeRate.ExchangeAmtLCYToFCY(Date,CBGStatement.Currency,GenJnlLine.Amount,UseCurrencyFactor),
Currency."Amount Rounding Precision");
END;
(CBGStatement.Currency <> '') AND (GenJnlLine."Currency Code" <> ''):
Amount := ROUND(CurrencyExchangeRate.ExchangeAmtFCYToFCY(Date,GenJnlLine."Currency Code",CBGStatement.Currency,
GenJnlLine.Amount),Currency."Amount Rounding Precision");
END;
"Amount Settled" := Amount;
VALIDATE(Amount);
END;
// End of the added lines.
"Applies-to Doc. Type":=GenJnlLine."Applies-to Doc. Type";
"Applies-to Doc. No.":=GenJnlLine."Applies-to Doc. No.";
...
installed.