KVSKBAServiceLine
Extends #437dbf0e84ff417a965ded2bb9650972#Service Line
Fields
| Name | Type | Note |
|---|---|---|
| KVSKBAUnitPricePriceUnit | Decimal | |
| KVSKBAPriceUnit | Decimal | |
| KVSKBAItemPriceGroup | Code[10] | |
| KVSKBAItemDiscGroup | Code[20] | |
| KVSKBADocumentProcessID | Code[20] | |
| KVSKBAAlternative | Enum (KVSKBAAlternative) | |
| KVSKBAIndentation | Integer | |
| KVSKBASubtotal | Decimal | FlowField |
| KVSKBATotaling | Text[20] | |
| KVSKBAPrintLine | Boolean | |
| KVSKBAPrintPageBreak | Boolean | |
| KVSKBAFontStyle | Enum (KVSKBAFontStyle) | |
| KVSKBAPrintCalenderWeek | Boolean | |
| KVSKBANullPosition | Enum (KVSKBANullPosition) | Warning: Obsolete |
| KVSKBANotBillable | Code[20] | |
| KVSKBASaveAllowInvDisc | Boolean | |
| KVSKBAApplyToDispHandlingOrder | Boolean | |
| KVSKBAPriceCalcExist | Boolean | FlowField |
| KVSKBADiscountCalcExist | Boolean | FlowField |
| KVSKBAPriceOrigin | Enum (KVSKBAServicePriceOrigin) | |
| KVSKBALineDiscountOrigin | Enum (KVSKBAServLineDiscountOrigin) | |
| KVSKBAPurchasingCode | Code[10] | |
| KVSKBASpecialOrder | Boolean | |
| KVSKBADropShipment | Boolean | |
| KVSKBAPurchaseOrderNo | Code[20] | |
| KVSKBAPurchOrderLineNo | Integer | |
| KVSKBASpecialOrderPurchaseNo | Code[20] | |
| KVSKBASpecialOrderPurchLineNo | Integer |
Procedures
KVSKBAIsPriceUpdateOfOtherItemLinesRequired(Record Service Line) : Boolean
Summary: Checks if a Price Update is required and return the check
procedure KVSKBAIsPriceUpdateOfOtherItemLinesRequired(OldServiceLine: Record "Service Line"): Boolean
Parameters:
OldServiceLine: Line to Check
Returns: Is Price Update Required
Remarks: The procedure checks if a price update of other lines with the same item is required based on the changes in the current line compared to the old line.
KVSKBAUpdateOtherItemLinesUnitPrice(Record Service Line) :
Summary: Update Unit Price of other lines with same item if the price calculation relevant fields are updated
procedure KVSKBAUpdateOtherItemLinesUnitPrice(OldServiceLine: Record "Service Line"):
Parameters:
OldServiceLine: Line to Check
Remarks: The procedure updates the unit price of other lines with the same item if any of the fields that impact price calculation are updated.
KVSKBACheckPriceCalculationMethod() : Boolean
Summary: Checks if the price calculation method is using KBA changes
procedure KVSKBACheckPriceCalculationMethod(): Boolean
Returns: true if the price calculation method is using KBA changes; otherwise, false.
Remarks: This procedure checks if the price calculation method is using KBA changes by calling the corresponding methods in the price helper codeunit. It returns true if both checks for extended price calculation and KBA changes are enabled; otherwise, it returns false.
KVSKBASetPriceOrigin(Enum KVSKBAServicePriceOrigin) :
Summary: Sets the price origin for the current service line.
procedure KVSKBASetPriceOrigin(NewServicePriceOrigin: Enum "KVSKBAServicePriceOrigin"):
Parameters:
NewServicePriceOrigin: The new price origin to set.
Remarks: This procedure sets the price origin for the current service line. Sets the KVSKBAPriceOrigin field to the new price origin. This can prevent the price from being overwritten by the price calculation, for example, if the origin is set to External or Manual.
KVSKBASetLineDiscountOrigin(Enum KVSKBAServLineDiscountOrigin) :
Summary: Sets the line discount origin for the current service line.
procedure KVSKBASetLineDiscountOrigin(NewServLineDiscountOrigin: Enum "KVSKBAServLineDiscountOrigin"):
Parameters:
NewServLineDiscountOrigin: The new line discount origin to set.
Remarks: This procedure sets the line discount origin for the current service line. Sets the KVSKBALineDiscountOrigin field to the new line discount origin. This can prevent the line discount from being overwritten by the line discount calculation, for example, if the origin is set to External or Manual.
KVSKBASetDeletedInPage(Boolean) :
Summary: Set the global Delete in Page
procedure KVSKBASetDeletedInPage(NewDeletedInPage: Boolean):
Parameters:
NewDeletedInPage: New Value to set
KVSKBATestQuoteReleaseStatusOpen() :
Summary: The function checks whether the current service quote header is released.
procedure KVSKBATestQuoteReleaseStatusOpen():
Remarks: This function is used to check if the quote header is released before allowing certain operations on the quote lines, such as modifying or adding new lines. If the quote header is not released, it may prevent users from making changes to the quote lines until the header is released.
KVSKBASetSuppressTestQuoteReleaseStatusOpen() :
Summary: Suppress Test QuoteReleaseStatus Open
procedure KVSKBASetSuppressTestQuoteReleaseStatusOpen():
Remarks: This procedure is used in the scenario where we want to suppress the check for quote release status being open. For example, during certain operations or processes, we might want to bypass the check that ensures the quote is in an open state before allowing modifications to the quote lines. By calling this procedure, it sets a flag that can be used to skip the quote release status check in the relevant code sections.
Events
KVSKBAOnBeforeAddCustomerNoAtKBATypes(Boolean) :
Summary: Integration event that is raised before adding customer number at KBA types.
[IntegrationEvent(false, false)]
local procedure KVSKBAOnBeforeAddCustomerNoAtKBATypes(var IsHandled: Boolean):
Parameters:
IsHandled: Set to true if the event has been handled and the default behavior should be skipped.
Remarks: This event allows subscribers to add custom logic before the customer number is added to KBA types (Heading, Subtotal, Bundle, End Subtotal Bundle). For example, subscribers can set the customer number based on custom conditions or perform additional actions when a service line of these types is being processed. If the subscriber sets IsHandled to true, the default logic for adding the customer number will be skipped, allowing for complete customization of the behavior when processing KBA types.
KVSKBAOnBeforeUpdServicePriceDiscCalcLine(Record Service Line, Record KVSKBAServicePriceDiscCalcLine) :
Summary: Integration event that is raised before updating the service price and discount calculation lines for a service line.
[IntegrationEvent(false, false)]
local procedure KVSKBAOnBeforeUpdServicePriceDiscCalcLine(ServiceLine: Record "Service Line"; var TempKVSKBAServicePriceDiscCalcLine: Record "KVSKBAServicePriceDiscCalcLine" temporary):
Parameters:
ServiceLine: The Service Line record.TempKVSKBAServicePriceDiscCalcLine: The temporary record for KVSKBAServicePriceDiscCalcLine.
Remarks: This event allows subscribers to add custom logic before the service price and discount calculation lines are updated for a service line. Subscribers can manipulate the temporary record of KVSKBAServicePriceDiscCalcLine before it is used to update the actual calculation lines. This can be useful for scenarios where custom price or discount calculation logic is needed, or when additional data needs to be added to the calculation lines before they are updated.
KVSKBAOnBeforeCheckAllowFindNewServiceLinePrice(Record Service Line, Boolean) :
Summary: Integration event that is raised before checking if the system should find a new price for the service line.
[IntegrationEvent(false, false)]
local procedure KVSKBAOnBeforeCheckAllowFindNewServiceLinePrice(ServiceLine: Record "Service Line"; var SkipPriceCalc: Boolean):
Parameters:
ServiceLine: The Service Line record.SkipPriceCalc: Set to true if the price calculation should be skipped.
Remarks: This event allows subscribers to add custom logic before the system checks if it should find a new price for the service line. Subscribers can set the SkipPriceCalc parameter to true to prevent the system from performing the price calculation, which can be useful in scenarios where the price should not be changed based on certain conditions. If the subscriber sets SkipPriceCalc to true, the system will skip the logic that determines whether to find a new price for the service line, allowing for complete customization of the behavior when determining if a new price should be found.
KVSKBAOnBeforeCheckAllowFindNewServiceLineDiscount(Record Service Line, Boolean) :
Summary: Integration event that is raised before checking if the system should find a new line discount for the service line.
[IntegrationEvent(false, false)]
local procedure KVSKBAOnBeforeCheckAllowFindNewServiceLineDiscount(ServiceLine: Record "Service Line"; var SkipLineDiscountCalc: Boolean):
Parameters:
ServiceLine: The Service Line record.SkipLineDiscountCalc: Set to true if the line discount calculation should be skipped.
Remarks: This event allows subscribers to add custom logic before the system checks if it should find a new line discount for the service line. Subscribers can set the SkipLineDiscountCalc parameter to true to prevent the system from performing the line discount calculation, which can be useful in scenarios where the line discount should not be changed based on certain conditions. If the subscriber sets SkipLineDiscountCalc to true, the system will skip the logic that determines whether to find a new line discount for the service line, allowing for complete customization of the behavior when determining if a new line discount should be found.
KVSKBAOnKVSKBANotBillableOnBeforeValidate(Record Service Line, Boolean) :
Summary: Integration event that is raised before validating the 'Not Billable' field on the service line.
[IntegrationEvent(false, false)]
local procedure KVSKBAOnKVSKBANotBillableOnBeforeValidate(ServiceLine: Record "Service Line"; var IsHandled: Boolean):
Parameters:
ServiceLine: The Service Line record.IsHandled: Set to true if the event has been handled and the default behavior should be skipped.
Remarks: This event allows subscribers to add custom logic before the 'Not Billable' field is validated. For example, subscribers can set the field to 'Not Billable' based on custom conditions, or they can perform additional validations. If the subscriber sets IsHandled to true, the default validation logic for the 'Not Billable' field will be skipped, allowing for complete customization of the behavior when this field is validated.
KVSKBAOnValidateNotBillableOnBeforeSelectAskBillableHandlingType(Record Service Line, Integer, Boolean) :
Summary: Integration event that is raised before selecting the handling type for 'Not Billable' when 'Ask' option is chosen.
[IntegrationEvent(false, false)]
local procedure KVSKBAOnValidateNotBillableOnBeforeSelectAskBillableHandlingType(ServiceLine: Record "Service Line"; var DefaultSelectOption: Integer; var IsHandled: Boolean):
Parameters:
ServiceLine: The Service Line record.DefaultSelectOption: The default option to select (1 for 'Full Discount', 2 for 'Empty Price and Discount').IsHandled: Set to true if the event has been handled and the default behavior should be skipped.
Remarks: This event allows subscribers to add custom logic before the system selects the handling type for 'Not Billable' when the user has chosen to be asked. Subscribers can set the DefaultSelectOption to determine which option is selected by default when the prompt appears, or they can implement custom logic to determine the handling type based on specific conditions. If the subscriber sets IsHandled to true, the default logic for selecting the handling type will be skipped, allowing for complete customization of the behavior when the user is prompted for handling 'Not Billable' lines.
KVSKBAOnBeforeCheckPurchaseLineLink(Record Service Line, Text, Boolean) :
Summary: Integration event that is raised before checking the purchase link on the service line.
[IntegrationEvent(false, false)]
local procedure KVSKBAOnBeforeCheckPurchaseLineLink(ServiceLine: Record "Service Line"; FieldText: Text; var IsHandled: Boolean):
Parameters:
ServiceLine: The Service Line record.FieldText: The field text being validated.IsHandled: Set to true if the event has been handled and the default behavior should be skipped.
Remarks: This event allows subscribers to add custom logic before the system checks if the service line is linked to a purchase order line. Subscribers can implement custom validation logic based on the field being validated or other conditions related to the service line. If the subscriber sets IsHandled to true, the default check for purchase line links will be skipped, allowing for complete customization of the behavior when validating fields that may be linked to purchase orders.