Codeunit 18004265 EOS037 Detailed Discounts
Codeunit 18004265 EOS037 Detailed Discounts
Methods
GetDiscountString
procedure GetDiscountString(Document: Variant): Text
Parameters / Return Value
Document
Variant
Returns
Text[]
GetDiscountCalcParameters
procedure GetDiscountCalcParameters(DocVariant: Variant): JsonObject
Returns a JSON object with all parameters that are required to calculate detailed discounts for the given record. Please refer to the documentation for details.
Parameters / Return Value
DocVariant
Variant
The record for which to retrieve the parameters.
Returns
JsonObject
A flat JSON object containing all the parameters.
GetDiscountSetId
procedure GetDiscountSetId(DocVariant: Variant): Guid
Returns the discount set ID that is currently in use for the given record. If the record is not supported, an empty GUID is returned. this will search only for field named EOS Discount Set ID or EOS037 Discount Set ID If you have different field name, subscribe to the event: OnGetDiscountSetIdOnBeforeFind
Parameters / Return Value
DocVariant
Variant
The record for which to retrieve the discount set ID.
Returns
Guid
The discount set ID.
EditDiscountSet
procedure EditDiscountSet(var SetId: Guid; Editable: Boolean): Boolean
Opens a page (modal) to allow the user to view or modify the given discount set interactively.
This method issues a Commit()
before opening the page.
Parameters / Return Value
SetId
Guid
The ID of the set to be modified. This will be overwritten with the new set ID if the set is modified.
Editable
Boolean
Specifies if the page will be editable.
Returns
Boolean
true
if the discount was changed,false
otherwise.
EditDiscountSet
procedure EditDiscountSet(var SetId: Guid; Editable: Boolean; source: Variant): Boolean
Opens a page (modal) to allow the user to view or modify the given discount set interactively.
This method issues a Commit()
before opening the page.
Parameters / Return Value
SetId
Guid
The ID of the set to be modified. This will be overwritten with the new set ID if the set is modified.
Editable
Boolean
Specifies if the page will be editable.
source
Variant
The source record for which to open this page.
Returns
Boolean
true
if the discount was changed,false
otherwise.
ParseDetailedDiscountString
procedure ParseDetailedDiscountString(var SetId: Guid; DetaildDiscountValue: Decimal)
Parameters / Return Value
SetId
Guid
DetaildDiscountValue
Decimal
ParseDetailedDiscountString
procedure ParseDetailedDiscountString(var SetId: Guid; DetaildDiscountValue: Text)
Parameters / Return Value
SetId
Guid
DetaildDiscountValue
Text[]
CalcDiscountSetId
procedure CalcDiscountSetId(var TempDiscSetEntry: Record "EOS037 Discount Set Entry"): Guid
Parameters / Return Value
TempDiscSetEntry
Record "EOS037 Discount Set Entry"
Returns
Guid
ReadDiscountSet
procedure ReadDiscountSet(SetId: Guid; var TempDiscSetEntry: Record "EOS037 Discount Set Entry"): Boolean
Parameters / Return Value
SetId
Guid
TempDiscSetEntry
Record "EOS037 Discount Set Entry"
Returns
Boolean
WriteDiscountSet
procedure WriteDiscountSet(var TempDiscSetEntry: Record "EOS037 Discount Set Entry"): Guid
Parameters / Return Value
TempDiscSetEntry
Record "EOS037 Discount Set Entry"
Returns
Guid
MergeDiscountSets
procedure MergeDiscountSets(var SetId: Guid; NewSetId: Guid; SourceCode: Code[10]): Boolean
Parameters / Return Value
SetId
Guid
NewSetId
Guid
SourceCode
Code[10]
Returns
Boolean
CalcTotalDiscountPercentage
procedure CalcTotalDiscountPercentage(SetId: Guid; Params: JsonObject): Decimal
Parameters / Return Value
SetId
Guid
Params
JsonObject
Returns
Decimal
CalcDiscountAmount
procedure CalcDiscountAmount(SetId: Guid; Params: JsonObject; ExcludePosted: enum "EOS066 TriState Boolean"): Decimal
Parameters / Return Value
SetId
Guid
Params
JsonObject
ExcludePosted
enum "EOS066 TriState Boolean"
Returns
Decimal
CalcRoundedDiscountAmount
procedure CalcRoundedDiscountAmount(SetId: Guid; Params: JsonObject; ExcludePosted: enum "EOS066 TriState Boolean"): Decimal
Parameters / Return Value
SetId
Guid
Params
JsonObject
ExcludePosted
enum "EOS066 TriState Boolean"
Returns
Decimal
InitCurrency
procedure InitCurrency(var Currency: Record Currency; CalcParams: JsonObject)
Initializes a currency from a discount calculation parameter object.
Parameters / Return Value
Currency
Record "Currency"
The output currency.
CalcParams
JsonObject
The discount calculation parameter object.
ApplyPurchHeaderDiscSet
procedure ApplyPurchHeaderDiscSet(var PurchHeader: Record "Purchase Header"; DiscSetId: Guid)
Applies a given discount set to a purchase header, recalculating discounts as needed. Use this instead of directly validating the “EOS Discount Set ID” field on the header.
Parameters / Return Value
PurchHeader
Record "Purchase Header"
The purchase header to apply the discount set to.
DiscSetId
Guid
The ID of the discount set to apply.
ApplySalesHeaderDiscSet
procedure ApplySalesHeaderDiscSet(var SalesHeader: Record "Sales Header"; DiscSetId: Guid)
Applies a given discount set to a sales header, recalculating discounts as needed. Use this instead of directly validating the “EOS Discount Set ID” field on the header.
Parameters / Return Value
SalesHeader
Record "Sales Header"
The sales header to apply the discount set to.
DiscSetId
Guid
The ID of the discount set to apply.
CalculateDiscountLinesPreview
procedure CalculateDiscountLinesPreview(var TempDiscSetEntry: Record "EOS037 Discount Set Entry"; SourceRec: Variant)
Parameters / Return Value
TempDiscSetEntry
Record "EOS037 Discount Set Entry"
SourceRec
Variant
Events
OnBeforeParseDiscountValue
local procedure OnBeforeParseDiscountValue(var TmpDiscSetEntry: Record "EOS037 Discount Set Entry"; StringValue: Text; var Parsed: Boolean; var Handled: Boolean)
Parameters / Return Value
TmpDiscSetEntry
Record "EOS037 Discount Set Entry"
StringValue
Text[]
Parsed
Boolean
Handled
Boolean
OnGetDiscountCalcParameters
local procedure OnGetDiscountCalcParameters(DocumentLine: Variant; var Parameters: JsonObject; var Handled: Boolean)
Parameters / Return Value
DocumentLine
Variant
Parameters
JsonObject
Handled
Boolean
OnAfterGetDiscountCalcParameters
local procedure OnAfterGetDiscountCalcParameters(DocumentLine: Variant; var Parameters: JsonObject)
Parameters / Return Value
DocumentLine
Variant
Parameters
JsonObject
OnBeforeParseDetailedDiscountString
local procedure OnBeforeParseDetailedDiscountString(var SetId: Guid; DetaildDiscountValue: Text; FromUserUpdate: Boolean)
Raised before parsing the discount % value(s) in order to search for or insert the discount set.
Parameters / Return Value
SetId
Guid
The Discount Set Id for the parsed discounts.
DetaildDiscountValue
Text[]
The string with the detailed discount percents (ex. ‘10 + 5’ or ‘20’).
FromUserUpdate
Boolean
Specifies whether the parsing was triggered by a system update or by user input.
OnGetDiscountSetIdOnBeforeFind
local procedure OnGetDiscountSetIdOnBeforeFind(DocVariant: Variant; var ReturnValue: Guid; var Handled: Boolean)
Raised before find on getting the discount set Id. Use this for getting your custom discount set id
Parameters / Return Value
DocVariant
Variant
ReturnValue
Guid
Handled
Boolean
OnAfterAssignUniqueId
local procedure OnAfterAssignUniqueId(var DiscSetEntry: Record "EOS037 Discount Set Entry")
Raised after a unique ID (if necessary) has been assigned to a discount set entry. Use this to override the default unique ID assignment behaviour. Be extra careful to ensure uniqueness when uniqueness is required.
Parameters / Return Value
DiscSetEntry
Record "EOS037 Discount Set Entry"
The discount set entry.
OnAfterWriteDiscountSet
local procedure OnAfterWriteDiscountSet(SetId: Guid)
Raised after a discount set has been written to the database.
Parameters / Return Value
SetId
Guid
The ID of the set that was written.
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.