KVSKBASalesLine#
Extends #437dbf0e84ff417a965ded2bb9650972#Sales Line
Fields#
| Name | Type | Note |
|---|---|---|
| KVSKBAUnitPricePriceUnit | Decimal | |
| KVSKBAPriceUnit | Decimal | |
| KVSKBAItemPriceGroup | Code[10] | |
| KVSKBAItemDiscGroup | Code[20] | |
| KVSKBADocumentProcessID | Code[20] | |
| KVSKBAPreviousText | Boolean | FlowField |
| KVSKBAAfterText | Boolean | FlowField |
| KVSKBAAlternative | Enum (KVSKBAAlternative) | |
| KVSKBAIndentation | Integer | |
| KVSKBASubtotal | Decimal | FlowField |
| KVSKBASubtotalPrepmtLineAmount | Decimal | FlowField |
| KVSKBASubtotalPrepmtAmtInv | Decimal | FlowField |
| KVSKBAPositionNo | Code[20] | |
| KVSKBATotaling | Text[20] | |
| KVSKBAPrintLine | Boolean | |
| KVSKBAPrintPrice | Boolean | |
| KVSKBAPrintPageBreak | Boolean | |
| KVSKBAFontStyle | Enum (KVSKBAFontStyle) | |
| KVSKBANullPosition | Enum (KVSKBANullPosition) | Warning: Obsolete |
| KVSKBANotBillable | Code[20] | |
| KVSKBAPostingCode | Code[10] | Warning: Obsolete |
| KVSKBAOldPlannedDeliveryDate | Date | |
| KVSKBASaveAllowInvDisc | Boolean | |
| KVSKBAProductCommGrpCode | Code[10] | |
| KVSKBAInvoiceRoundingLine | Boolean | |
| KVSKBAPriceCalcExist | Boolean | FlowField |
| KVSKBADiscountCalcExist | Boolean | FlowField |
| KVSKBAPriceOrigin | Enum (KVSKBASalesPriceOrigin) | |
| KVSKBALineDiscountOrigin | Enum (KVSKBASalesLineDiscountOrigin) | |
| KVSKBAOrderBacklogLCY | Decimal | |
| KVSKBAAmountNetLCY | Decimal | |
| KVSKBAInvoicedNetLCY | Decimal | |
| KVSKBAShippednotInvoicedNetLCY | Decimal | |
| KVSKBAContractNo | Code[20] | |
| KVSKBAContractLineNo | Integer | |
| KVSKBARelMinProfitCheckedOn | DateTime | |
| KVSKBARelMinProfitCheckedBy | Code[50] | |
| KVSKBAOrderBacklog | Decimal | |
| KVSKBAOrderNoInvoiceCorrect | Code[20] | |
| KVSKBAOrderLineNoInvCorrect | Integer | |
| KVSKBADeliveryPricingDate | Date | |
| KVSKBATempChangeQtySuspended | Boolean |
Procedures#
KVSKBASetTempSalesPriceDiscCalcLine(Record KVSKBASalesPriceDiscCalcLine, Enum KVSKBAPriceDiscLineType) :#
Summary: Sets temporary sales price and discount calculation lines based on the specified type.
procedure KVSKBASetTempSalesPriceDiscCalcLine(var TempSalesPriceDiscCalcLine: Record "KVSKBASalesPriceDiscCalcLine"; PriceDiscLineType: Enum "KVSKBAPriceDiscLineType"):
Parameters:
TempSalesPriceDiscCalcLine: Temporary record containing the price or discount calculation lines to copy.PriceDiscLineType: Specifies whether the lines are for Price or Line Discount.
Remarks: This procedure clears any existing records of that type from the global TempKVSKBASalesPriceDiscCalcLine0 variable, and then copies the specified records into it.
KVSKBANavigateDocProcID() :#
procedure KVSKBANavigateDocProcID():
KVSKBASetDeletedInPage(Boolean) :#
procedure KVSKBASetDeletedInPage(NewDeletedInPagePar: Boolean):
KVSKBAIsPriceUpdateOfOtherItemLinesRequired(Record Sales Line) : Boolean#
procedure KVSKBAIsPriceUpdateOfOtherItemLinesRequired(OldSalesLinePar: Record "Sales Line"): Boolean
KVSKBAUpdateOtherItemLinesUnitPrice(Record Sales Line) :#
procedure KVSKBAUpdateOtherItemLinesUnitPrice(OldSalesLinePar: Record "Sales Line"):
KVSKBACheckPriceCalculationMethod() : Boolean#
procedure KVSKBACheckPriceCalculationMethod(): Boolean
KVSKBABlanketOrderLookupFromExternal() :#
procedure KVSKBABlanketOrderLookupFromExternal():
KVSKBASearchItemByAttributes() :#
procedure KVSKBASearchItemByAttributes():
KVSKBASetUpdPriceDiscountFromBlankOrder(Enum KVSKBABlankYesNo) :#
procedure KVSKBASetUpdPriceDiscountFromBlankOrder(UpdPriceDiscountFromBlankOrderPar: Enum "KVSKBABlankYesNo"):
KVSKBAUpdSalesPriceDiscCalcLine() :#
Summary: Updates the sales price and discount calculation lines for the current sales line.
procedure KVSKBAUpdSalesPriceDiscCalcLine():
Remarks: This procedure checks for existing sales price and discount calculation lines, updates them, and manages temporary price/discount calculation lines based on certain conditions: - Only processes if Line No. is not zero - Removes line discount calculations if Allow Line Disc. is false - Updates calculated fields for price and discount existence - Cleans up temporary calculation lines when finished
KVSKBASetPriceOrigin(Enum KVSKBASalesPriceOrigin) :#
Summary: Sets the price origin for the current sales line.
procedure KVSKBASetPriceOrigin(KVSKBANewPriceOrigin: Enum "KVSKBASalesPriceOrigin"):
Parameters:
KVSKBANewPriceOrigin: The new price origin to set.
Remarks: This procedure sets the price origin for the current sales 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 KVSKBASalesLineDiscountOrigin) :#
Summary: Sets the line discount origin for the current sales line.
procedure KVSKBASetLineDiscountOrigin(KVSKBANewLineDiscountOrigin: Enum "KVSKBASalesLineDiscountOrigin"):
Parameters:
KVSKBANewLineDiscountOrigin: The new line discount origin to set.
Remarks: This procedure sets the line discount origin for the current sales line. Sets the KVSKBALineDiscountOrigin field to the new line discount origin. This can prevent the line discount from being overwritten by the price calculation, for example, if the origin is set to External or Manual.
Events#
KVSKBAOnBeforeTestJobPlanningLine(Record Sales Line, Boolean) :#
[IntegrationEvent(false, false)]
local procedure KVSKBAOnBeforeTestJobPlanningLine(var SalesLine: Record "Sales Line"; var IsHandled: Boolean):
[EventSubscriber(ObjectType::TableExtension, TableExtension::"KVSKBASalesLine", 'KVSKBAOnBeforeTestJobPlanningLine', '', false, false)]
local procedure DoSomethingKVSKBAOnBeforeTestJobPlanningLine(var SalesLine: Record "Sales Line"; var IsHandled: Boolean)
begin
end;
KVSKBAOnAfterBlanketOrderLookup(Record Sales Line) :#
[IntegrationEvent(false, false)]
local procedure KVSKBAOnAfterBlanketOrderLookup(var SalesLine: Record "Sales Line"):
[EventSubscriber(ObjectType::TableExtension, TableExtension::"KVSKBASalesLine", 'KVSKBAOnAfterBlanketOrderLookup', '', false, false)]
local procedure DoSomethingKVSKBAOnAfterBlanketOrderLookup(var SalesLine: Record "Sales Line")
begin
end;
KVSKBAOnBeforeBlanketOrderLookupWithVar(Record Sales Line, Boolean) :#
[IntegrationEvent(false, false)]
local procedure KVSKBAOnBeforeBlanketOrderLookupWithVar(var SalesLine: Record "Sales Line"; var IsHandled: Boolean):
[EventSubscriber(ObjectType::TableExtension, TableExtension::"KVSKBASalesLine", 'KVSKBAOnBeforeBlanketOrderLookupWithVar', '', false, false)]
local procedure DoSomethingKVSKBAOnBeforeBlanketOrderLookupWithVar(var SalesLine: Record "Sales Line"; var IsHandled: Boolean)
begin
end;
KVSKBAOnBlanketOrderLookupOnBeforeAssignFields(Record Sales Line) :#
[IntegrationEvent(false, false)]
local procedure KVSKBAOnBlanketOrderLookupOnBeforeAssignFields(var SalesLine: Record "Sales Line"):
[EventSubscriber(ObjectType::TableExtension, TableExtension::"KVSKBASalesLine", 'KVSKBAOnBlanketOrderLookupOnBeforeAssignFields', '', false, false)]
local procedure DoSomethingKVSKBAOnBlanketOrderLookupOnBeforeAssignFields(var SalesLine: Record "Sales Line")
begin
end;
KVSKBAOnBeforeCheckAllowFindNewSalesLinePrice(Record Sales Line, Boolean) :#
[IntegrationEvent(false, false)]
local procedure KVSKBAOnBeforeCheckAllowFindNewSalesLinePrice(SalesLine: Record "Sales Line"; var SkipItemSalesPriceCalc: Boolean):
[EventSubscriber(ObjectType::TableExtension, TableExtension::"KVSKBASalesLine", 'KVSKBAOnBeforeCheckAllowFindNewSalesLinePrice', '', false, false)]
local procedure DoSomethingKVSKBAOnBeforeCheckAllowFindNewSalesLinePrice(SalesLine: Record "Sales Line"; var SkipItemSalesPriceCalc: Boolean)
begin
end;
KVSKBAOnBeforeCheckAllowFindNewSalesLineDisc(Record Sales Line, Boolean) :#
[IntegrationEvent(false, false)]
local procedure KVSKBAOnBeforeCheckAllowFindNewSalesLineDisc(SalesLine: Record "Sales Line"; var SkipItemSalesDiscCalc: Boolean):
[EventSubscriber(ObjectType::TableExtension, TableExtension::"KVSKBASalesLine", 'KVSKBAOnBeforeCheckAllowFindNewSalesLineDisc', '', false, false)]
local procedure DoSomethingKVSKBAOnBeforeCheckAllowFindNewSalesLineDisc(SalesLine: Record "Sales Line"; var SkipItemSalesDiscCalc: Boolean)
begin
end;
KVSKBAOnBeforeUpdSalesPriceDiscCalcLine(Record Sales Line, Record KVSKBASalesPriceDiscCalcLine, Boolean) :#
Summary: Integration event that is raised before updating sales price and discount calculation lines.
[IntegrationEvent(false, false)]
local procedure KVSKBAOnBeforeUpdSalesPriceDiscCalcLine(SalesLine: Record "Sales Line"; var TempKVSKBASalesPriceDiscCalcLine: Record "KVSKBASalesPriceDiscCalcLine" temporary; var IsHandled: Boolean):
[EventSubscriber(ObjectType::TableExtension, TableExtension::"KVSKBASalesLine", 'KVSKBAOnBeforeUpdSalesPriceDiscCalcLine', '', false, false)]
local procedure DoSomethingKVSKBAOnBeforeUpdSalesPriceDiscCalcLine(SalesLine: Record "Sales Line"; var TempKVSKBASalesPriceDiscCalcLine: Record "KVSKBASalesPriceDiscCalcLine" temporary; var IsHandled: Boolean)
begin
end;
Parameters:
SalesLine: The Sales Line record.TempKVSKBASalesPriceDiscCalcLine: The temporary sales price and discount calculation lines.IsHandled: Set to true if the event has been handled and the default behavior should be skipped.
Remarks: This event allows customization before updating sales price and discount calculation lines. Set IsHandled to true to skip the default update behavior.
KVSKBAOnValidateNullPositionOnBeforeSelectTypeofNullPositionChangeWithIsHandled(Record Sales Line, Integer, Boolean) :#
Obsolete
This Element will be removed or changed with a future Version of the App.
[Obsolete('This event is only longer supported until BC29, please use KVSKBAOnValidateNotBillableOnBeforeSelectAskBillableHandlingType for the new Feature KVSKBANOTBILLABLE', '26.3')]
[IntegrationEvent(false, false)]
local procedure KVSKBAOnValidateNullPositionOnBeforeSelectTypeofNullPositionChangeWithIsHandled(SalesLine: Record "Sales Line"; var KVSKBADefaultSelectOption: Integer; var IsHandled: Boolean):
[EventSubscriber(ObjectType::TableExtension, TableExtension::"KVSKBASalesLine", 'KVSKBAOnValidateNullPositionOnBeforeSelectTypeofNullPositionChangeWithIsHandled', '', false, false)]
local procedure DoSomethingKVSKBAOnValidateNullPositionOnBeforeSelectTypeofNullPositionChangeWithIsHandled(SalesLine: Record "Sales Line"; var KVSKBADefaultSelectOption: Integer; var IsHandled: Boolean)
begin
end;
KVSKBAOnValidateNotBillableOnBeforeSelectAskBillableHandlingType(Record Sales 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(SalesLine: Record "Sales Line"; var DefaultSelectOption: Integer; var IsHandled: Boolean):
[EventSubscriber(ObjectType::TableExtension, TableExtension::"KVSKBASalesLine", 'KVSKBAOnValidateNotBillableOnBeforeSelectAskBillableHandlingType', '', false, false)]
local procedure DoSomethingKVSKBAOnValidateNotBillableOnBeforeSelectAskBillableHandlingType(SalesLine: Record "Sales Line"; var DefaultSelectOption: Integer; var IsHandled: Boolean)
begin
end;
Parameters:
SalesLine: The Sales 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.
KVSKBAOnValidateNullPositionOnAfterSetUnitPriceAndLineDiscounttoZero(Record Sales Line) :#
[IntegrationEvent(false, false)]
local procedure KVSKBAOnValidateNullPositionOnAfterSetUnitPriceAndLineDiscounttoZero(var SalesLine: Record "Sales Line"):
[EventSubscriber(ObjectType::TableExtension, TableExtension::"KVSKBASalesLine", 'KVSKBAOnValidateNullPositionOnAfterSetUnitPriceAndLineDiscounttoZero', '', false, false)]
local procedure DoSomethingKVSKBAOnValidateNullPositionOnAfterSetUnitPriceAndLineDiscounttoZero(var SalesLine: Record "Sales Line")
begin
end;
KVSKBABeforeCheckFieldNotAllowedtoChange(Record Sales Line, Integer, Boolean) :#
[IntegrationEvent(false, false)]
local procedure KVSKBABeforeCheckFieldNotAllowedtoChange(SalesLine: Record "Sales Line"; CurrentFieldNo: Integer; var IsHandled: Boolean):
[EventSubscriber(ObjectType::TableExtension, TableExtension::"KVSKBASalesLine", 'KVSKBABeforeCheckFieldNotAllowedtoChange', '', false, false)]
local procedure DoSomethingKVSKBABeforeCheckFieldNotAllowedtoChange(SalesLine: Record "Sales Line"; CurrentFieldNo: Integer; var IsHandled: Boolean)
begin
end;
KVSKBAOnBeforeAddCustomerNoAtKBATypes(Boolean) :#
[IntegrationEvent(false, false)]
local procedure KVSKBAOnBeforeAddCustomerNoAtKBATypes(var IsHandled: Boolean):
[EventSubscriber(ObjectType::TableExtension, TableExtension::"KVSKBASalesLine", 'KVSKBAOnBeforeAddCustomerNoAtKBATypes', '', false, false)]
local procedure DoSomethingKVSKBAOnBeforeAddCustomerNoAtKBATypes(var IsHandled: Boolean)
begin
end;
KVSKBAOnBeforeConfirmTransferBlanketDataOnAfterValidateBlanketOrderNo(Record Sales Line, Enum KVSKBABlankYesNo, Boolean) :#
[IntegrationEvent(false, false)]
local procedure KVSKBAOnBeforeConfirmTransferBlanketDataOnAfterValidateBlanketOrderNo(var SalesLine: Record "Sales Line"; var UpdatePriceDiscountFromBlankOrder: Enum "KVSKBABlankYesNo"; var IsHandled: Boolean):
[EventSubscriber(ObjectType::TableExtension, TableExtension::"KVSKBASalesLine", 'KVSKBAOnBeforeConfirmTransferBlanketDataOnAfterValidateBlanketOrderNo', '', false, false)]
local procedure DoSomethingKVSKBAOnBeforeConfirmTransferBlanketDataOnAfterValidateBlanketOrderNo(var SalesLine: Record "Sales Line"; var UpdatePriceDiscountFromBlankOrder: Enum "KVSKBABlankYesNo"; var IsHandled: Boolean)
begin
end;
KVSKBAOnValidateBlanketOrderLineNoOnBeforeConfirmTransferBlanketData(Record Sales Line, Enum KVSKBABlankYesNo, Boolean) :#
[IntegrationEvent(false, false)]
local procedure KVSKBAOnValidateBlanketOrderLineNoOnBeforeConfirmTransferBlanketData(var SalesLine: Record "Sales Line"; var KVSKBAUpdPriceDiscountFromBlankOrderBlankYesNo: Enum "KVSKBABlankYesNo"; var IsHandled: Boolean):
[EventSubscriber(ObjectType::TableExtension, TableExtension::"KVSKBASalesLine", 'KVSKBAOnValidateBlanketOrderLineNoOnBeforeConfirmTransferBlanketData', '', false, false)]
local procedure DoSomethingKVSKBAOnValidateBlanketOrderLineNoOnBeforeConfirmTransferBlanketData(var SalesLine: Record "Sales Line"; var KVSKBAUpdPriceDiscountFromBlankOrderBlankYesNo: Enum "KVSKBABlankYesNo"; var IsHandled: Boolean)
begin
end;
KVSKBAOnBeforeValidateBlanketOrderLine(Record Sales Line, Enum KVSKBABlankYesNo, Boolean) :#
[IntegrationEvent(false, false)]
local procedure KVSKBAOnBeforeValidateBlanketOrderLine(var SalesLine: Record "Sales Line"; KVSKBAUpdPriceDiscountFromBlankOrderBlankYesNo: Enum "KVSKBABlankYesNo"; var IsHandled: Boolean):
[EventSubscriber(ObjectType::TableExtension, TableExtension::"KVSKBASalesLine", 'KVSKBAOnBeforeValidateBlanketOrderLine', '', false, false)]
local procedure DoSomethingKVSKBAOnBeforeValidateBlanketOrderLine(var SalesLine: Record "Sales Line"; KVSKBAUpdPriceDiscountFromBlankOrderBlankYesNo: Enum "KVSKBABlankYesNo"; var IsHandled: Boolean)
begin
end;
KVSKBAOnAfterValidateBlanketOrderLine(Record Sales Line, Record Sales Line, Enum KVSKBABlankYesNo) :#
[IntegrationEvent(false, false)]
local procedure KVSKBAOnAfterValidateBlanketOrderLine(var SalesLine: Record "Sales Line"; BlanketOrderSalesLine: Record "Sales Line"; KVSKBAUpdPriceDiscountFromBlankOrderBlankYesNo: Enum "KVSKBABlankYesNo"):
[EventSubscriber(ObjectType::TableExtension, TableExtension::"KVSKBASalesLine", 'KVSKBAOnAfterValidateBlanketOrderLine', '', false, false)]
local procedure DoSomethingKVSKBAOnAfterValidateBlanketOrderLine(var SalesLine: Record "Sales Line"; BlanketOrderSalesLine: Record "Sales Line"; KVSKBAUpdPriceDiscountFromBlankOrderBlankYesNo: Enum "KVSKBABlankYesNo")
begin
end;
KVSKBAOnBeforeCheckNotAllowedTypeAllocationAccount(Record Sales Line, Boolean) :#
[IntegrationEvent(false, false)]
local procedure KVSKBAOnBeforeCheckNotAllowedTypeAllocationAccount(SalesLine: Record "Sales Line"; var IsHandled: Boolean):
[EventSubscriber(ObjectType::TableExtension, TableExtension::"KVSKBASalesLine", 'KVSKBAOnBeforeCheckNotAllowedTypeAllocationAccount', '', false, false)]
local procedure DoSomethingKVSKBAOnBeforeCheckNotAllowedTypeAllocationAccount(SalesLine: Record "Sales Line"; var IsHandled: Boolean)
begin
end;