Codeunit "Sales-Calc. Discount"

ID 60
Namespace: Microsoft.Sales.Document

Properties

Name Value
Permissions tabledata "Sales Header" = rm, tabledata "Sales Line" = rm
TableNo Table Microsoft.Sales.Document."Sales Line"

Methods

CustInvDiscRecExists

procedure CustInvDiscRecExists(InvDiscCode: Code[20]): Boolean

Parameters

Name Type Description
InvDiscCode Code[20]

Returns

Type Description
Boolean

CalculateWithSalesHeader

procedure CalculateWithSalesHeader(var TempSalesHeader: Record "Sales Header", var TempSalesLine: Record "Sales Line")

Parameters

Name Type Description
TempSalesHeader Table Microsoft.Sales.Document."Sales Header"
TempSalesLine Table Microsoft.Sales.Document."Sales Line"

CalculateInvoiceDiscountOnLine

procedure CalculateInvoiceDiscountOnLine(var SalesLineToUpdate: Record "Sales Line")

Parameters

Name Type Description
SalesLineToUpdate Table Microsoft.Sales.Document."Sales Line"

CalculateIncDiscForHeader

procedure CalculateIncDiscForHeader(var TempSalesHeader: Record "Sales Header")

Parameters

Name Type Description
TempSalesHeader Table Microsoft.Sales.Document."Sales Header"

UpdatePrepmtLineAmount

procedure UpdatePrepmtLineAmount(SalesHeader: Record "Sales Header")

Parameters

Name Type Description
SalesHeader Table Microsoft.Sales.Document."Sales Header"

Events

OnBeforeCalcSalesDiscount

[IntegrationEvent(False,False)]
local procedure OnBeforeCalcSalesDiscount(var SalesHeader: Record "Sales Header", var IsHandled: Boolean, var SalesLine: Record "Sales Line", var UpdateHeader: Boolean)

Parameters

Name Type Description
SalesHeader Table Microsoft.Sales.Document."Sales Header"
IsHandled Boolean
SalesLine Table Microsoft.Sales.Document."Sales Line"
UpdateHeader Boolean

OnAfterCalcSalesDiscount

[IntegrationEvent(False,False)]
local procedure OnAfterCalcSalesDiscount(var SalesHeader: Record "Sales Header", var TempVATAmountLine: Record "VAT Amount Line" temporary, var SalesLine2: Record "Sales Line")

Parameters

Name Type Description
SalesHeader Table Microsoft.Sales.Document."Sales Header"
TempVATAmountLine Table Microsoft.Finance.VAT.Calculation."VAT Amount Line"
SalesLine2 Table Microsoft.Sales.Document."Sales Line"

OnAfterCustInvDiscRecExists

[IntegrationEvent(False,False)]
local procedure OnAfterCustInvDiscRecExists(var SalesHeader: Record "Sales Header", var CustInvDisc: Record "Cust. Invoice Disc.", InvDiscBase: Decimal, ChargeBase: Decimal, var ShouldGetCustInvDisc: Boolean)

Parameters

Name Type Description
SalesHeader Table Microsoft.Sales.Document."Sales Header"
CustInvDisc Table Microsoft.Sales.Pricing."Cust. Invoice Disc."
InvDiscBase Decimal
ChargeBase Decimal
ShouldGetCustInvDisc Boolean

OnAfterValidateSalesLine2Quantity

[IntegrationEvent(False,False)]
local procedure OnAfterValidateSalesLine2Quantity(SalesHeader: Record "Sales Header", var SalesLine: Record "Sales Line", CustInvoiceDisc: Record "Cust. Invoice Disc.")

Parameters

Name Type Description
SalesHeader Table Microsoft.Sales.Document."Sales Header"
SalesLine Table Microsoft.Sales.Document."Sales Line"
CustInvoiceDisc Table Microsoft.Sales.Pricing."Cust. Invoice Disc."

OnBeforeCalculateIncDiscForHeader

[IntegrationEvent(False,False)]
local procedure OnBeforeCalculateIncDiscForHeader(var TempSalesHeader: Record "Sales Header" temporary, var IsHandled: Boolean, var SalesLine: Record "Sales Line", var TempSalesLine: Record "Sales Line" temporary, var UpdateHeader: Boolean)

Parameters

Name Type Description
TempSalesHeader Table Microsoft.Sales.Document."Sales Header"
IsHandled Boolean
SalesLine Table Microsoft.Sales.Document."Sales Line"
TempSalesLine Table Microsoft.Sales.Document."Sales Line"
UpdateHeader Boolean

OnBeforeSetSalesLineServiceCharge

[IntegrationEvent(False,False)]
local procedure OnBeforeSetSalesLineServiceCharge(SalesHeader: Record "Sales Header", var SalesLine: Record "Sales Line", CustInvoiceDisc: Record "Cust. Invoice Disc.", var IsHandled: Boolean)

Parameters

Name Type Description
SalesHeader Table Microsoft.Sales.Document."Sales Header"
SalesLine Table Microsoft.Sales.Document."Sales Line"
CustInvoiceDisc Table Microsoft.Sales.Pricing."Cust. Invoice Disc."
IsHandled Boolean

OnBeforeUpdateSalesHeaderInvoiceDiscount

[IntegrationEvent(False,False)]
local procedure OnBeforeUpdateSalesHeaderInvoiceDiscount(var CustInvoiceDisc: Record "Cust. Invoice Disc.", var SalesHeader: Record "Sales Header", var TempVATAmountLine: Record "VAT Amount Line" temporary, var UpdateHeader: Boolean, var IsHandled: Boolean)

Parameters

Name Type Description
CustInvoiceDisc Table Microsoft.Sales.Pricing."Cust. Invoice Disc."
SalesHeader Table Microsoft.Sales.Document."Sales Header"
TempVATAmountLine Table Microsoft.Finance.VAT.Calculation."VAT Amount Line"
UpdateHeader Boolean
IsHandled Boolean

OnCalculateInvoiceDiscountOnBeforeCurrencyInitialize

[IntegrationEvent(False,False)]
local procedure OnCalculateInvoiceDiscountOnBeforeCurrencyInitialize(var CustomerPostingGroup: Record "Customer Posting Group")

Parameters

Name Type Description
CustomerPostingGroup Table Microsoft.Sales.Customer."Customer Posting Group"

OnCalculateInvoiceDiscountOnBeforeCheckCustInvDiscServiceCharge

[IntegrationEvent(False,False)]
local procedure OnCalculateInvoiceDiscountOnBeforeCheckCustInvDiscServiceCharge(var CustInvoiceDisc: Record "Cust. Invoice Disc.", var SalesHeader: Record "Sales Header", CurrencyDate: Date, ChargeBase: Decimal)

Parameters

Name Type Description
CustInvoiceDisc Table Microsoft.Sales.Pricing."Cust. Invoice Disc."
SalesHeader Table Microsoft.Sales.Document."Sales Header"
CurrencyDate Date
ChargeBase Decimal

OnCalculateInvoiceDiscountOnBeforeCustInvDiscRecExists

[IntegrationEvent(False,False)]
local procedure OnCalculateInvoiceDiscountOnBeforeCustInvDiscRecExists(var SalesHeader: Record "Sales Header", var SalesLine2: Record "Sales Line", var UpdateHeader: Boolean, var InvDiscBase: Decimal, var ChargeBase: Decimal, var TempVATAmountLine: Record "VAT Amount Line" temporary, var IsHandled: Boolean)

Parameters

Name Type Description
SalesHeader Table Microsoft.Sales.Document."Sales Header"
SalesLine2 Table Microsoft.Sales.Document."Sales Line"
UpdateHeader Boolean
InvDiscBase Decimal
ChargeBase Decimal
TempVATAmountLine Table Microsoft.Finance.VAT.Calculation."VAT Amount Line"
IsHandled Boolean

OnCalculateInvoiceDiscountOnBeforeSalesLine2FindFirst

[IntegrationEvent(False,False)]
local procedure OnCalculateInvoiceDiscountOnBeforeSalesLine2FindFirst(var SalesLine2: Record "Sales Line")

Parameters

Name Type Description
SalesLine2 Table Microsoft.Sales.Document."Sales Line"

OnCalculateInvoiceDiscountOnBeforeSalesLineInsert

[IntegrationEvent(False,False)]
local procedure OnCalculateInvoiceDiscountOnBeforeSalesLineInsert(var SalesLine: Record "Sales Line", SalesHeader: Record "Sales Header")

Parameters

Name Type Description
SalesLine Table Microsoft.Sales.Document."Sales Line"
SalesHeader Table Microsoft.Sales.Document."Sales Header"

OnBeforeCalculateWithSalesHeader

[IntegrationEvent(False,False)]
local procedure OnBeforeCalculateWithSalesHeader(var SalesLine: Record "Sales Line", var TempSalesHeader: Record "Sales Header" temporary, var TempSalesLine: Record "Sales Line", var UpdateHeader: Boolean, var IsHandled: Boolean)

Parameters

Name Type Description
SalesLine Table Microsoft.Sales.Document."Sales Line"
TempSalesHeader Table Microsoft.Sales.Document."Sales Header"
TempSalesLine Table Microsoft.Sales.Document."Sales Line"
UpdateHeader Boolean
IsHandled Boolean

OnCalculateInvoiceDiscountOnBeforeSalesLine2DeleteTrue

[IntegrationEvent(False,False)]
local procedure OnCalculateInvoiceDiscountOnBeforeSalesLine2DeleteTrue(UpdateHeader: Boolean, var SalesLine2: Record "Sales Line", var IsHandled: Boolean)

Parameters

Name Type Description
UpdateHeader Boolean
SalesLine2 Table Microsoft.Sales.Document."Sales Line"
IsHandled Boolean

OnRunOnBeforeCalculateInvoiceDiscount

[IntegrationEvent(False,False)]
local procedure OnRunOnBeforeCalculateInvoiceDiscount(var SalesLine: Record "Sales Line", var TempSalesHeader: Record "Sales Header" temporary, var TempSalesLine: Record "Sales Line" temporary, var UpdateHeader: Boolean, var IsHandled: Boolean)

Parameters

Name Type Description
SalesLine Table Microsoft.Sales.Document."Sales Line"
TempSalesHeader Table Microsoft.Sales.Document."Sales Header"
TempSalesLine Table Microsoft.Sales.Document."Sales Line"
UpdateHeader Boolean
IsHandled Boolean

OnCalculateInvoiceDiscountOnBeforeUpdateSalesLine2

[IntegrationEvent(False,False)]
local procedure OnCalculateInvoiceDiscountOnBeforeUpdateSalesLine2(var SalesHeader: Record "Sales Header", var SalesLine2: Record "Sales Line", UpdateHeader: Boolean, CustInvDisc: Record "Cust. Invoice Disc.", var IsHandled: Boolean)

Parameters

Name Type Description
SalesHeader Table Microsoft.Sales.Document."Sales Header"
SalesLine2 Table Microsoft.Sales.Document."Sales Line"
UpdateHeader Boolean
CustInvDisc Table Microsoft.Sales.Pricing."Cust. Invoice Disc."
IsHandled Boolean

OnBeforeCustInvDiscRecExists

[IntegrationEvent(False,False)]
local procedure OnBeforeCustInvDiscRecExists(InvDiscCode: Code[20], var Result: Boolean, var IsHandled: Boolean)

Parameters

Name Type Description
InvDiscCode Code[20]
Result Boolean
IsHandled Boolean

OnBeforeCalculateInvoiceDiscount

[IntegrationEvent(False,False)]
local procedure OnBeforeCalculateInvoiceDiscount(var SalesHeader: Record "Sales Header", var SalesLine: Record "Sales Line", var UpdateHeader: Boolean)

Parameters

Name Type Description
SalesHeader Table Microsoft.Sales.Document."Sales Header"
SalesLine Table Microsoft.Sales.Document."Sales Line"
UpdateHeader Boolean

See also