LOCAL PROCEDURE GetVendOriginalAmtLCY@1100004(VendLedgEntry4@1100001 : Record 25;VendLedgEntry3@1100002 : Record 25;VendLedgEntry2@1100000 : Record 25) : Decimal;
BEGIN
WITH VendLedgEntry4 DO BEGIN
IF IsVendBillDoc(VendLedgEntry4) THEN
EXIT(VendLedgEntry3."Original Amt. (LCY)");
EXIT(VendLedgEntry2."Original Amt. (LCY)");
END;
END;
LOCAL PROCEDURE GetCustOriginalAmtLCY@1100010(CustLedgEntry4@1100001 : Record 21;CustLedgEntry3@1100002 : Record 21;CustLedgEntry2@1100000 : Record 21) : Decimal;
BEGIN
WITH CustLedgEntry4 DO BEGIN
IF IsCustBillDoc(CustLedgEntry4) THEN
EXIT(CustLedgEntry3."Original Amt. (LCY)");
EXIT(CustLedgEntry2."Original Amt. (LCY)");
END;
END;
LOCAL PROCEDURE GetVendSettledAmount@1100014(SettledAmt@1100000 : Decimal;VendLedgEntry4@1100003 : Record 25;VendLedgEntry3@1100002 : Record 25;VendLedgEntry2@1100001 : Record 25) : Decimal;
BEGIN
WITH VendLedgEntry4 DO BEGIN
IF IsVendBillDoc(VendLedgEntry4) THEN
EXIT(ROUND(SettledAmt / VendLedgEntry3.GetOriginalCurrencyFactor));
EXIT(ROUND(SettledAmt / VendLedgEntry2.GetOriginalCurrencyFactor));
END;
END;
LOCAL PROCEDURE GetCustSettledAmount@1100019(SettledAmt@1100003 : Decimal;CustLedgEntry4@1100002 : Record 21;CustLedgEntry3@1100001 : Record 21;CustLedgEntry2@1100000 : Record 21) : Decimal;
BEGIN
WITH CustLedgEntry4 DO BEGIN
IF IsCustBillDoc(CustLedgEntry4) THEN
EXIT(ROUND(SettledAmt / CustLedgEntry3.GetOriginalCurrencyFactor));
EXIT(ROUND(SettledAmt / CustLedgEntry2.GetOriginalCurrencyFactor));
END;
END;
LOCAL PROCEDURE IsVendBillDoc@1100015(VendLedgEntry4@1100000 : Record 25) : Boolean;
BEGIN
WITH VendLedgEntry4 DO
EXIT("Document Type" = "Document Type"::Bill);
END;
LOCAL PROCEDURE IsCustBillDoc@1100016(CustLedgEntry4@1100000 : Record 21) : Boolean;
BEGIN
WITH CustLedgEntry4 DO
EXIT("Document Type" = "Document Type"::Bill);
END;
LOCAL PROCEDURE CalcVendRealizedVATAmt@1100032(VAR VATBase@1100001 : Decimal;VAR VATAmount@1100000 : Decimal;VAR VATBaseAddCurr@1100005 : Decimal;VAR VATAmountAddCurr@1100006 : Decimal;VATEntry2@1100002 : Record 254;VendLedgEntry4@1100003 : Record 25;VATPart@1100004 : Decimal);
BEGIN
CalcRealizedVATAmt(
VATBase,VATAmount,
VATBaseAddCurr,VATAmountAddCurr,
VATEntry2,
IsVendBillDoc(VendLedgEntry4),
VATPart);
END;
LOCAL PROCEDURE CalcCustRealizedVATAmt@1100029(VAR VATBase@1100001 : Decimal;VAR VATAmount@1100000 : Decimal;VAR VATBaseAddCurr@1100006 : Decimal;VAR VATAmountAddCurr@1100005 : Decimal;VATEntry2@1100002 : Record 254;CustLedgEntry4@1100003 : Record 21;VATPart@1100004 : Decimal);
BEGIN
CalcRealizedVATAmt(
VATBase,VATAmount,
VATBaseAddCurr,VATAmountAddCurr,
VATEntry2,
IsCustBillDoc(CustLedgEntry4),
VATPart);
END;
LOCAL PROCEDURE CalcRealizedVATAmt@1100036(VAR VATBase@1100002 : Decimal;VAR VATAmount@1100001 : Decimal;VAR VATBaseAddCurr@1100008 : Decimal;VAR VATAmountAddCurr@1100007 : Decimal;VATEntry2@1100003 : Record 254;UseUnrealAmt@1100000 : Boolean;VATPart@1100004 : Decimal);
VAR
UnrealAmt@1100006 : Decimal;
UnrealBase@1100005 : Decimal;
UnrealAmtACY@1100009 : Decimal;
UnrealBaseACY@1100010 : Decimal;
BEGIN
WITH VATEntry2 DO
IF UseUnrealAmt THEN BEGIN
UnrealAmt := "Unrealized Amount";
UnrealBase := "Unrealized Base";
UnrealAmtACY := "Add.-Currency Unrealized Amt.";
UnrealBaseACY := "Add.-Currency Unrealized Base";
END ELSE BEGIN
UnrealAmt := "Remaining Unrealized Amount";
UnrealBase := "Remaining Unrealized Base";
UnrealAmtACY := "Add.-Curr. Rem. Unreal. Amount";
UnrealBaseACY := "Add.-Curr. Rem. Unreal. Base";
END;
VATAmount := ROUND(UnrealAmt * VATPart);
VATBase := ROUND(UnrealBase * VATPart);
VATAmountAddCurr := ROUND(UnrealAmtACY * VATPart,AddCurrency."Amount Rounding Precision");
VATBaseAddCurr := ROUND(UnrealBaseACY * VATPart,AddCurrency."Amount Rounding Precision");
END;