Skip to content

KVSPSANonDeductVATGLMgt#

Procedures#

CopyVATEntryNonDeductibleVATFieldsFromGLJnlLine(Record VAT Entry, Record Gen. Journal Line) :#

Summary: This procedure is used to transfer Non-Deductible VAT fields from General Journal Line to VAT Entry.

procedure CopyVATEntryNonDeductibleVATFieldsFromGLJnlLine(var VATEntry: Record "VAT Entry"; GenJournalLine: Record "Gen. Journal Line"): 

Parameters:

  • VATEntry: Record used for assigned value.
  • GenJournalLine: Record used for assigning value.

FillGenJnlLineDeductVATWithNonDeductDimOfLine(Record Gen. Journal Line) : Boolean#

Summary: Non-Deductible VAT Dimension values of the general journal line are used to determine the Non-Deductible VAT %

procedure FillGenJnlLineDeductVATWithNonDeductDimOfLine(var GenJournalLine: Record "Gen. Journal Line"): Boolean

Parameters:

  • GenJournalLine: VAR Record "Gen. Journal Line".

Returns: Return variable ValidNonDeductDimValue of type Boolean.

FillGenJournalLineDeductVATDimValuesFromDimSetID(Record Gen. Journal Line, Boolean) :#

Summary: Non-Deductible Dimension values and VAT % are recalculated

procedure FillGenJournalLineDeductVATDimValuesFromDimSetID(var GenJournalLine: Record "Gen. Journal Line"; Update: Boolean): 

Parameters:

  • GenJournalLine: VAR Record "Gen. Journal Line".
  • Update: Boolean.

SetNonDeductibleVATPerDimension(Record Gen. Journal Line, Decimal) : Boolean#

Summary: This procedure call SetNonDeductibleVATPerDimension with default parameters.

procedure SetNonDeductibleVATPerDimension(var GenJournalLine: Record "Gen. Journal Line"; var NonDeductibleVATPct: Decimal): Boolean

Parameters:

  • GenJournalLine: Record used for procedure.
  • NonDeductibleVATPct: Decimal used for procedure.

Returns: Return result if SetNonDeductibleVATPerDimension runs successfully or not.

SetNonDeductibleVATPerDimension(Record Gen. Journal Line, Decimal, Boolean, Boolean) : Boolean#

Summary: This procedure checks if SetNonDeductVATDimValues should be called or not.

procedure SetNonDeductibleVATPerDimension(var GenJournalLine: Record "Gen. Journal Line"; var NonDeductibleVATPct: Decimal; NonDeductVAT: Boolean; BalNonDeductVAT: Boolean): Boolean

Parameters:

  • GenJournalLine: Record used for procedure.
  • NonDeductibleVATPct: Decimal used for procedure.
  • NonDeductVAT: Boolean used for procedure.
  • BalNonDeductVAT: Boolean used for procedure.

Returns: Return result if SetNonDeductVATDimValues has been called or not.

SetNonDeductVATDimValues(Record Gen. Journal Line, Decimal, Boolean) : Boolean#

Summary: This procedure calls SetNonDeductVATDimValues with default parameters.

procedure SetNonDeductVATDimValues(var GenJournalLine: Record "Gen. Journal Line"; var NonDeductibleVATPct: Decimal; ValidateLine: Boolean): Boolean

Parameters:

  • GenJournalLine: Record used for procedure.
  • NonDeductibleVATPct: Decimal used for procedure.
  • ValidateLine: Boolean used for procedure.

Returns: Return result if NonDeductVATDimValues are set or not.

SetNonDeductVATDimValues(Record Gen. Journal Line, Decimal, Boolean, Boolean, Boolean) : Boolean#

Summary: This procedure sets values of Non-Deductible VAT Dimension fields and it relates fields in the General Journal Line base on various conditions.

procedure SetNonDeductVATDimValues(var GenJournalLine: Record "Gen. Journal Line"; var NonDeductibleVATPct: Decimal; ValidateLine: Boolean; var NonDeductVAT: Boolean; var BalNonDeductVAT: Boolean): Boolean

Parameters:

  • GenJournalLine: Record used for assigned values.
  • NonDeductibleVATPct: Decimal used for assigned value.
  • ValidateLine: Boolean used for check conditions.
  • NonDeductVAT: Boolean used for check conditions.
  • BalNonDeductVAT: Boolean used for check conditions.

Returns: Return result if Non-Deductible VAT Dimension fields and it relates fields are set or not.

EmptyNonDeductVATDimValues(Record Gen. Journal Line) :#

Summary: This procedure cleans up the Non-Deductible related fields in the General Journal Line.

procedure EmptyNonDeductVATDimValues(var GenJournalLine: Record "Gen. Journal Line"): 

Parameters:

  • GenJournalLine: Record used for clearing values.

GetNonDeductVATDimEndDate(Record Gen. Journal Line) : Date#

Summary: Returns the Date dependent on the date field of the VAT Setup

procedure GetNonDeductVATDimEndDate(GenJournalLine: Record "Gen. Journal Line"): Date

Parameters:

  • GenJournalLine: Record "Gen. Journal Line".

Returns: Return variable EndDate of type Date.

SetSuppressNonDeductVATNotification(Boolean) :#

Summary: This procedure sets value of GlobalSuppressNonDeductVATNotification

procedure SetSuppressNonDeductVATNotification(SuppressNonDeductVATNotification: Boolean): 

Parameters:

  • SuppressNonDeductVATNotification: Boolean value to set.

Events#

KVSPSAOnAfterCopyVATEntryNonDeductibleVATFieldsFromGLJnlLine(Record VAT Entry, Record Gen. Journal Line) :#

Summary: Event fired after copying non-deductible VAT fields from general journal line to VAT entry. Allows extensions to perform additional field transfers or custom processing. This event enables extensions to implement custom field mapping logic when transferring non-deductible VAT-related data from general journal lines to VAT entries during posting operations.

[IntegrationEvent(false, false)]
local procedure KVSPSAOnAfterCopyVATEntryNonDeductibleVATFieldsFromGLJnlLine(var VATEntry: Record "VAT Entry"; GenJournalLine: Record "Gen. Journal Line"): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSANonDeductVATGLMgt", 'KVSPSAOnAfterCopyVATEntryNonDeductibleVATFieldsFromGLJnlLine', '', false, false)]
local procedure DoSomethingKVSPSAOnAfterCopyVATEntryNonDeductibleVATFieldsFromGLJnlLine(var VATEntry: Record "VAT Entry"; GenJournalLine: Record "Gen. Journal Line")
begin
end;

Parameters:

  • VATEntry: The VAT entry that received copied fields. Can be modified by extensions.
  • GenJournalLine: The source general journal line from which fields were copied.

KVSPSAOnAfterEmptyNonDeductVATDimValues(Record Gen. Journal Line, Record VAT Setup) :#

Summary: Event fired after emptying non-deductible VAT dimension values on a general journal line. Allows extensions to perform additional cleanup or validation. This event enables extensions to implement custom logic when clearing non-deductible VAT dimension values, such as additional field resets or validation checks.

[IntegrationEvent(false, false)]
local procedure KVSPSAOnAfterEmptyNonDeductVATDimValues(var GenJournalLine: Record "Gen. Journal Line"; VATSetup: Record "VAT Setup"): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSANonDeductVATGLMgt", 'KVSPSAOnAfterEmptyNonDeductVATDimValues', '', false, false)]
local procedure DoSomethingKVSPSAOnAfterEmptyNonDeductVATDimValues(var GenJournalLine: Record "Gen. Journal Line"; VATSetup: Record "VAT Setup")
begin
end;

Parameters:

  • GenJournalLine: The general journal line that had non-deductible VAT dimension values emptied. Can be modified by extensions.
  • VATSetup: The VAT setup configuration providing context for the operation.

KVSPSAOnAfterUpdateNonDeductibleVATDimGenJournalLine(Record Gen. Journal Line, Record Gen. Journal Line, Integer) :#

Summary: Event fired after updating non-deductible VAT dimensions on a general journal line. Allows extensions to perform additional processing or validation. This event enables extensions to implement custom logic following dimension updates, such as additional field calculations or validation checks related to non-deductible VAT handling.

[IntegrationEvent(false, false)]
local procedure KVSPSAOnAfterUpdateNonDeductibleVATDimGenJournalLine(var GenJournalLine: Record "Gen. Journal Line"; var xGenJournalLine: Record "Gen. Journal Line"; CurrFieldNo: Integer): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSANonDeductVATGLMgt", 'KVSPSAOnAfterUpdateNonDeductibleVATDimGenJournalLine', '', false, false)]
local procedure DoSomethingKVSPSAOnAfterUpdateNonDeductibleVATDimGenJournalLine(var GenJournalLine: Record "Gen. Journal Line"; var xGenJournalLine: Record "Gen. Journal Line"; CurrFieldNo: Integer)
begin
end;

Parameters:

  • GenJournalLine: The general journal line that had non-deductible VAT dimensions updated. Can be modified by extensions.
  • xGenJournalLine: The previous version of the general journal line before the update.
  • CurrFieldNo: The field number that triggered the update operation.

KVSPSAOnBeforeCheckAllowedNonDeductibleVATPostingSetupInCheckGenJnlLineHasMissingNonDeductVATDimPosting(Record VAT Posting Setup, Record Gen. Journal Line, Boolean) :#

Summary: Event fired before checking if non-deductible VAT posting setup is allowed during validation of general journal line missing non-deductible VAT dimension posting. Allows extensions to customize validation logic. This event enables extensions to implement custom validation rules or bypass standard checks when verifying non-deductible VAT posting setup requirements.

[IntegrationEvent(false, false)]
local procedure KVSPSAOnBeforeCheckAllowedNonDeductibleVATPostingSetupInCheckGenJnlLineHasMissingNonDeductVATDimPosting(VATPostingSetup: Record "VAT Posting Setup"; GenJournalLine: Record "Gen. Journal Line"; var CheckVATPostingSetup: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSANonDeductVATGLMgt", 'KVSPSAOnBeforeCheckAllowedNonDeductibleVATPostingSetupInCheckGenJnlLineHasMissingNonDeductVATDimPosting', '', false, false)]
local procedure DoSomethingKVSPSAOnBeforeCheckAllowedNonDeductibleVATPostingSetupInCheckGenJnlLineHasMissingNonDeductVATDimPosting(VATPostingSetup: Record "VAT Posting Setup"; GenJournalLine: Record "Gen. Journal Line"; var CheckVATPostingSetup: Boolean)
begin
end;

Parameters:

  • VATPostingSetup: The VAT posting setup being validated.
  • GenJournalLine: The general journal line being checked for missing dimension posting.
  • CheckVATPostingSetup: Controls whether the VAT posting setup should be checked. Can be modified by extensions.

KVSPSAOnBeforeFillGenJnlLineDeductVATWithNonDeductDimOfLine(Record Gen. Journal Line, Boolean, Boolean) :#

Summary: Event fired before filling general journal line deductible VAT with non-deductible dimension values of the line. Allows extensions to customize the filling logic. This event enables extensions to implement custom logic for determining valid non-deductible dimension values or bypass standard processing when populating deductible VAT fields.

[IntegrationEvent(false, false)]
local procedure KVSPSAOnBeforeFillGenJnlLineDeductVATWithNonDeductDimOfLine(var GenJournalLine: Record "Gen. Journal Line"; var ValidNonDeductDimValue: Boolean; var IsHandled: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSANonDeductVATGLMgt", 'KVSPSAOnBeforeFillGenJnlLineDeductVATWithNonDeductDimOfLine', '', false, false)]
local procedure DoSomethingKVSPSAOnBeforeFillGenJnlLineDeductVATWithNonDeductDimOfLine(var GenJournalLine: Record "Gen. Journal Line"; var ValidNonDeductDimValue: Boolean; var IsHandled: Boolean)
begin
end;

Parameters:

  • GenJournalLine: The general journal line being processed. Can be modified by extensions.
  • ValidNonDeductDimValue: Indicates whether valid non-deductible dimension values are available. Can be modified by extensions.
  • IsHandled: Indicates whether the operation was handled by an extension. Set to true to bypass standard processing.

KVSPSAOnBeforeFillGenJournalLineDeductibleVATDimValuesFromDimSetID(Record Gen. Journal Line, Boolean, Boolean) :#

Summary: Event fired before filling general journal line deductible VAT dimension values from dimension set ID. Allows extensions to customize the filling logic. This event enables extensions to implement custom logic for populating deductible VAT dimension values from dimension set data or control whether the update should occur.

[IntegrationEvent(false, false)]
local procedure KVSPSAOnBeforeFillGenJournalLineDeductibleVATDimValuesFromDimSetID(var GenJournalLine: Record "Gen. Journal Line"; var Update: Boolean; var IsHandled: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSANonDeductVATGLMgt", 'KVSPSAOnBeforeFillGenJournalLineDeductibleVATDimValuesFromDimSetID', '', false, false)]
local procedure DoSomethingKVSPSAOnBeforeFillGenJournalLineDeductibleVATDimValuesFromDimSetID(var GenJournalLine: Record "Gen. Journal Line"; var Update: Boolean; var IsHandled: Boolean)
begin
end;

Parameters:

  • GenJournalLine: The general journal line being processed. Can be modified by extensions.
  • Update: Controls whether the dimension values should be updated. Can be modified by extensions.
  • IsHandled: Indicates whether the operation was handled by an extension. Set to true to bypass standard processing.

KVSPSAOnBeforeFillGenJournalLineDeductVATDimValuesFromDimSetID(Record Gen. Journal Line, Boolean, Boolean) :#

Obsolete

This Element will be removed or changed with a future Version of the App.

[Obsolete('Use KVSPSAOnBeforeFillGenJournalLineDeductibleVATDimValuesFromDimSetID instead', '23.2')]
[IntegrationEvent(false, false)]
local procedure KVSPSAOnBeforeFillGenJournalLineDeductVATDimValuesFromDimSetID(var GenJournalLine: Record "Gen. Journal Line"; var Update: Boolean; IsHandled: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSANonDeductVATGLMgt", 'KVSPSAOnBeforeFillGenJournalLineDeductVATDimValuesFromDimSetID', '', false, false)]
local procedure DoSomethingKVSPSAOnBeforeFillGenJournalLineDeductVATDimValuesFromDimSetID(var GenJournalLine: Record "Gen. Journal Line"; var Update: Boolean; IsHandled: Boolean)
begin
end;

KVSPSAOnBeforeGenJnlLineHasMissingVATDeductiblePosting(Record Gen. Journal Line, Boolean, Boolean, Boolean) :#

Obsolete

This Element will be removed or changed with a future Version of the App.

[Obsolete('Use KVSPSAOnBeforeGenJnlLineHasMissingVATDeductPosting instead', '23.2')]
[IntegrationEvent(false, false)]
local procedure KVSPSAOnBeforeGenJnlLineHasMissingVATDeductiblePosting(GenJournalLine: Record "Gen. Journal Line"; var MissingDimSetup: Boolean; var Result: Boolean; IsHandled: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSANonDeductVATGLMgt", 'KVSPSAOnBeforeGenJnlLineHasMissingVATDeductiblePosting', '', false, false)]
local procedure DoSomethingKVSPSAOnBeforeGenJnlLineHasMissingVATDeductiblePosting(GenJournalLine: Record "Gen. Journal Line"; var MissingDimSetup: Boolean; var Result: Boolean; IsHandled: Boolean)
begin
end;

KVSPSAOnBeforeGenJnlLineHasMissingVATDeductPosting(Record Gen. Journal Line, Boolean, Boolean, Boolean) :#

Summary: Event fired before checking if general journal line has missing VAT deductible posting. Allows extensions to customize the validation logic. This event enables extensions to implement custom logic for determining if required VAT deductible posting setup is missing or control the validation result.

[IntegrationEvent(false, false)]
local procedure KVSPSAOnBeforeGenJnlLineHasMissingVATDeductPosting(GenJournalLine: Record "Gen. Journal Line"; var MissingDimSetup: Boolean; var Result: Boolean; var IsHandled: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSANonDeductVATGLMgt", 'KVSPSAOnBeforeGenJnlLineHasMissingVATDeductPosting', '', false, false)]
local procedure DoSomethingKVSPSAOnBeforeGenJnlLineHasMissingVATDeductPosting(GenJournalLine: Record "Gen. Journal Line"; var MissingDimSetup: Boolean; var Result: Boolean; var IsHandled: Boolean)
begin
end;

Parameters:

  • GenJournalLine: The general journal line being checked for missing VAT deductible posting.
  • MissingDimSetup: Indicates whether dimension setup is missing. Can be modified by extensions.
  • Result: The validation result indicating if posting is missing. Can be modified by extensions.
  • IsHandled: Indicates whether the operation was handled by an extension. Set to true to bypass standard processing.

KVSPSAOnBeforeGetNonDeductVATDimEndDate(Record Gen. Journal Line, Date, Boolean) :#

Summary: Event fired before getting the end date for non-deductible VAT dimensions. Allows extensions to customize the date calculation logic. This event enables extensions to implement custom logic for determining the end date used in non-deductible VAT dimension calculations.

[IntegrationEvent(false, false)]
local procedure KVSPSAOnBeforeGetNonDeductVATDimEndDate(GenJournalLine: Record "Gen. Journal Line"; var EndDate: Date; var IsHandled: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSANonDeductVATGLMgt", 'KVSPSAOnBeforeGetNonDeductVATDimEndDate', '', false, false)]
local procedure DoSomethingKVSPSAOnBeforeGetNonDeductVATDimEndDate(GenJournalLine: Record "Gen. Journal Line"; var EndDate: Date; var IsHandled: Boolean)
begin
end;

Parameters:

  • GenJournalLine: The general journal line providing context for the date calculation.
  • EndDate: The calculated end date for non-deductible VAT dimensions. Can be modified by extensions.
  • IsHandled: Indicates whether the operation was handled by an extension. Set to true to bypass standard processing.

KVSPSAOnBeforeIsGenJournalLineNonDeductVATSupported(Record Gen. Journal Line, Boolean, Boolean) :#

Summary: Event fired before checking if general journal line supports non-deductible VAT. Allows extensions to customize the support determination. This event enables extensions to implement custom logic for determining whether a specific general journal line should support non-deductible VAT functionality.

[IntegrationEvent(false, false)]
local procedure KVSPSAOnBeforeIsGenJournalLineNonDeductVATSupported(GenJournalLine: Record "Gen. Journal Line"; var IsHandled: Boolean; var Result: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSANonDeductVATGLMgt", 'KVSPSAOnBeforeIsGenJournalLineNonDeductVATSupported', '', false, false)]
local procedure DoSomethingKVSPSAOnBeforeIsGenJournalLineNonDeductVATSupported(GenJournalLine: Record "Gen. Journal Line"; var IsHandled: Boolean; var Result: Boolean)
begin
end;

Parameters:

  • GenJournalLine: The general journal line being checked for non-deductible VAT support.
  • IsHandled: Indicates whether the operation was handled by an extension. Set to true to bypass standard processing.
  • Result: The result indicating if the line supports non-deductible VAT. Can be modified by extensions.

KVSPSAOnBeforeIsNonDeductVATUpdateGenJournalLine(Record Gen. Journal Line, Record Gen. Journal Line, Boolean, Boolean) :#

Summary: Event fired before checking if non-deductible VAT update is required for general journal line. Allows extensions to customize the update determination logic. This event enables extensions to implement custom logic for determining whether a general journal line requires non-deductible VAT updates based on line changes.

[IntegrationEvent(false, false)]
local procedure KVSPSAOnBeforeIsNonDeductVATUpdateGenJournalLine(GenJournalLine: Record "Gen. Journal Line"; xGenJournalLine: Record "Gen. Journal Line"; var IsHandled: Boolean; var Result: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSANonDeductVATGLMgt", 'KVSPSAOnBeforeIsNonDeductVATUpdateGenJournalLine', '', false, false)]
local procedure DoSomethingKVSPSAOnBeforeIsNonDeductVATUpdateGenJournalLine(GenJournalLine: Record "Gen. Journal Line"; xGenJournalLine: Record "Gen. Journal Line"; var IsHandled: Boolean; var Result: Boolean)
begin
end;

Parameters:

  • GenJournalLine: The current general journal line being evaluated.
  • xGenJournalLine: The previous version of the general journal line for comparison.
  • IsHandled: Indicates whether the operation was handled by an extension. Set to true to bypass standard processing.
  • Result: The result indicating if non-deductible VAT update is required. Can be modified by extensions.

KVSPSAOnBeforeIsVATPostingSetupNonDeductVATSupported(Record Gen. Journal Line, Boolean, Boolean, Boolean) :#

Summary: Event fired before checking if VAT posting setup supports non-deductible VAT. Allows extensions to customize the support determination logic. This event enables extensions to implement custom logic for determining whether a VAT posting setup configuration supports non-deductible VAT processing.

[IntegrationEvent(false, false)]
local procedure KVSPSAOnBeforeIsVATPostingSetupNonDeductVATSupported(GenJournalLine: Record "Gen. Journal Line"; var BalNonDeductVAT: Boolean; var IsSupported: Boolean; var IsHandled: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSANonDeductVATGLMgt", 'KVSPSAOnBeforeIsVATPostingSetupNonDeductVATSupported', '', false, false)]
local procedure DoSomethingKVSPSAOnBeforeIsVATPostingSetupNonDeductVATSupported(GenJournalLine: Record "Gen. Journal Line"; var BalNonDeductVAT: Boolean; var IsSupported: Boolean; var IsHandled: Boolean)
begin
end;

Parameters:

  • GenJournalLine: The general journal line providing context for the support check.
  • BalNonDeductVAT: Indicates balance non-deductible VAT status. Can be modified by extensions.
  • IsSupported: Indicates if the VAT posting setup supports non-deductible VAT. Can be modified by extensions.
  • IsHandled: Indicates whether the operation was handled by an extension. Set to true to bypass standard processing.

KVSPSAOnBeforeSetNonDeductibleVATPerDimension(Record Gen. Journal Line, Decimal, Boolean, Boolean) :#

Summary: Event fired before setting non-deductible VAT percentage per dimension. Allows extensions to customize the VAT percentage calculation logic. This event enables extensions to implement custom logic for calculating non-deductible VAT percentages based on dimension values and business rules.

[IntegrationEvent(false, false)]
procedure KVSPSAOnBeforeSetNonDeductibleVATPerDimension(var GenJournalLine: Record "Gen. Journal Line"; var NonDeductibleVATPct: Decimal; var IsHandledFunction: Boolean; var IsHandled: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSANonDeductVATGLMgt", 'KVSPSAOnBeforeSetNonDeductibleVATPerDimension', '', false, false)]
local procedure DoSomethingKVSPSAOnBeforeSetNonDeductibleVATPerDimension(var GenJournalLine: Record "Gen. Journal Line"; var NonDeductibleVATPct: Decimal; var IsHandledFunction: Boolean; var IsHandled: Boolean)
begin
end;

Parameters:

  • GenJournalLine: The general journal line being processed. Can be modified by extensions.
  • NonDeductibleVATPct: The calculated non-deductible VAT percentage. Can be modified by extensions.
  • IsHandledFunction: Indicates whether the function was handled by an extension. Can be modified by extensions.
  • IsHandled: Indicates whether the operation was handled by an extension. Set to true to bypass standard processing.

KVSPSAOnBeforeSetNonDeductVATDimValues(Record Gen. Journal Line, Decimal, Boolean, Boolean, Boolean) :#

Summary: Event fired before setting non-deductible VAT dimension values. Allows extensions to customize the dimension value setting logic. This event enables extensions to implement custom logic for determining and setting non-deductible VAT dimension values based on business rules.

[IntegrationEvent(false, false)]
local procedure KVSPSAOnBeforeSetNonDeductVATDimValues(var GenJournalLine: Record "Gen. Journal Line"; var NonDeductibleVATPct: Decimal; var ValidNonDeductDimValue: Boolean; var ValidateLine: Boolean; var IsHandled: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSANonDeductVATGLMgt", 'KVSPSAOnBeforeSetNonDeductVATDimValues', '', false, false)]
local procedure DoSomethingKVSPSAOnBeforeSetNonDeductVATDimValues(var GenJournalLine: Record "Gen. Journal Line"; var NonDeductibleVATPct: Decimal; var ValidNonDeductDimValue: Boolean; var ValidateLine: Boolean; var IsHandled: Boolean)
begin
end;

Parameters:

  • GenJournalLine: The general journal line being processed. Can be modified by extensions.
  • NonDeductibleVATPct: The non-deductible VAT percentage being applied. Can be modified by extensions.
  • ValidNonDeductDimValue: Indicates whether valid non-deductible dimension values are available. Can be modified by extensions.
  • ValidateLine: Indicates whether the line should be validated. Can be modified by extensions.
  • IsHandled: Indicates whether the operation was handled by an extension. Set to true to bypass standard processing.

KVSPSAOnBeforeUpdateLineSetNonDeductVATDimValues(Record Gen. Journal Line, Decimal, Boolean, Boolean, Boolean, Boolean) :#

Summary: Event fired before updating line and setting non-deductible VAT dimension values. Allows extensions to customize the update and dimension setting logic. This event enables extensions to implement custom logic for controlling line updates and dimension value setting during non-deductible VAT processing.

[IntegrationEvent(false, false)]
local procedure KVSPSAOnBeforeUpdateLineSetNonDeductVATDimValues(var GenJournalLine: Record "Gen. Journal Line"; var NonDeductibleVATPct: Decimal; var ValidNonDeductDimValue: Boolean; var ValidateLine: Boolean; var UpdateLine: Boolean; var IsHandled: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSANonDeductVATGLMgt", 'KVSPSAOnBeforeUpdateLineSetNonDeductVATDimValues', '', false, false)]
local procedure DoSomethingKVSPSAOnBeforeUpdateLineSetNonDeductVATDimValues(var GenJournalLine: Record "Gen. Journal Line"; var NonDeductibleVATPct: Decimal; var ValidNonDeductDimValue: Boolean; var ValidateLine: Boolean; var UpdateLine: Boolean; var IsHandled: Boolean)
begin
end;

Parameters:

  • GenJournalLine: The general journal line being processed. Can be modified by extensions.
  • NonDeductibleVATPct: The non-deductible VAT percentage being applied. Can be modified by extensions.
  • ValidNonDeductDimValue: Indicates whether valid non-deductible dimension values are available. Can be modified by extensions.
  • ValidateLine: Indicates whether the line should be validated. Can be modified by extensions.
  • UpdateLine: Indicates whether the line should be updated. Can be modified by extensions.
  • IsHandled: Indicates whether the operation was handled by an extension. Set to true to bypass standard processing.

KVSPSAOnBeforeUpdateNonDeductibleVATDimGenJournalLine(Record Gen. Journal Line, Record Gen. Journal Line, Integer, Boolean) :#

Summary: Event fired before updating non-deductible VAT dimensions on general journal line. Allows extensions to customize the dimension update logic. This event enables extensions to implement custom logic for updating non-deductible VAT dimensions or bypass standard processing during dimension updates.

[IntegrationEvent(false, false)]
local procedure KVSPSAOnBeforeUpdateNonDeductibleVATDimGenJournalLine(var GenJournalLine: Record "Gen. Journal Line"; var xGenJournalLine: Record "Gen. Journal Line"; CurrFieldNo: Integer; var IsHandled: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSANonDeductVATGLMgt", 'KVSPSAOnBeforeUpdateNonDeductibleVATDimGenJournalLine', '', false, false)]
local procedure DoSomethingKVSPSAOnBeforeUpdateNonDeductibleVATDimGenJournalLine(var GenJournalLine: Record "Gen. Journal Line"; var xGenJournalLine: Record "Gen. Journal Line"; CurrFieldNo: Integer; var IsHandled: Boolean)
begin
end;

Parameters:

  • GenJournalLine: The general journal line being updated. Can be modified by extensions.
  • xGenJournalLine: The previous version of the general journal line before the update.
  • CurrFieldNo: The field number that triggered the update operation.
  • IsHandled: Indicates whether the operation was handled by an extension. Set to true to bypass standard processing.

KVSPSAOnGetNonDeductVATDimEndDateGenJnlLineOnBeforeStatusElse(Record VAT Setup, Record Gen. Journal Line, Date, Boolean) :#

Summary: Event fired during non-deductible VAT dimension end date calculation for general journal line, before the status else clause. Allows extensions to handle specific status cases. This event enables extensions to implement custom logic for determining end dates based on specific VAT setup status conditions that are not covered by standard processing.

[IntegrationEvent(false, false)]
local procedure KVSPSAOnGetNonDeductVATDimEndDateGenJnlLineOnBeforeStatusElse(VATSetup: Record "VAT Setup"; GenJournalLine: Record "Gen. Journal Line"; var EndDate: Date; var IsCaseHandled: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSANonDeductVATGLMgt", 'KVSPSAOnGetNonDeductVATDimEndDateGenJnlLineOnBeforeStatusElse', '', false, false)]
local procedure DoSomethingKVSPSAOnGetNonDeductVATDimEndDateGenJnlLineOnBeforeStatusElse(VATSetup: Record "VAT Setup"; GenJournalLine: Record "Gen. Journal Line"; var EndDate: Date; var IsCaseHandled: Boolean)
begin
end;

Parameters:

  • VATSetup: The VAT setup configuration providing context for the calculation.
  • GenJournalLine: The general journal line for which the end date is being calculated.
  • EndDate: The calculated end date. Can be modified by extensions.
  • IsCaseHandled: Indicates whether the specific status case was handled. Set to true if handled by extension.

KVSPSAOnBforeCopyJobJnlLineNonDeductVATFieldsFromGenJnlLine(Record Job Journal Line, Record Gen. Journal Line, Boolean) :#

Summary: Event fired before copying non-deductible VAT fields from general journal line to job journal line. Allows extensions to customize the field copying logic. This event enables extensions to implement custom logic for transferring non-deductible VAT-related fields between general journal lines and job journal lines.

[IntegrationEvent(false, false)]
local procedure KVSPSAOnBforeCopyJobJnlLineNonDeductVATFieldsFromGenJnlLine(var JobJournalLine: Record "Job Journal Line"; GenJournalLine: Record "Gen. Journal Line"; var IsHandled: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSANonDeductVATGLMgt", 'KVSPSAOnBforeCopyJobJnlLineNonDeductVATFieldsFromGenJnlLine', '', false, false)]
local procedure DoSomethingKVSPSAOnBforeCopyJobJnlLineNonDeductVATFieldsFromGenJnlLine(var JobJournalLine: Record "Job Journal Line"; GenJournalLine: Record "Gen. Journal Line"; var IsHandled: Boolean)
begin
end;

Parameters:

  • JobJournalLine: The job journal line that will receive copied fields. Can be modified by extensions.
  • GenJournalLine: The source general journal line from which fields will be copied.
  • IsHandled: Indicates whether the operation was handled by an extension. Set to true to bypass standard processing.