Skip to content

KVSPSANonDeductibleVATDimMgt#

Procedures#

GetNonDeductVATDimInfosFromDimensionSetID(Date, Integer, Code[20], Code[20], Decimal) : Boolean#

Summary: Central function to return the Non-Deductible VAT fields for a Dimension Set ID dependent on the priority.

procedure GetNonDeductVATDimInfosFromDimensionSetID(EndDate: Date; DimensionSetID: Integer; var NonDeductVATDimCode: Code[20]; var NonDeductVATDimValue: Code[20]; var NonDeductibleVATPct: Decimal): Boolean

Parameters:

  • EndDate: Date.
  • DimensionSetID: Integer.
  • NonDeductVATDimCode: VAR Code[20].
  • NonDeductVATDimValue: VAR Code[20].
  • NonDeductibleVATPct: VAR Decimal.

Returns: Return variable Found of type Boolean.

CheckAllowedNonDeductibleVATPostingSetup(Record VAT Posting Setup, RecordId) :#

Summary: This procedure check if Allow Non-Deductible VAT is set to Allow in VAT Posting Setup and if Unrealized VAT Type is not set. It raises an error if the conditions are not met.

procedure CheckAllowedNonDeductibleVATPostingSetup(VATPostingSetup: Record "VAT Posting Setup"; TheRecordID: RecordId): 

Parameters:

  • VATPostingSetup: Record used for check value.
  • TheRecordID: RecordId used for error message.

CheckValidNonDeductDimensionCode(Code[20]) :#

Summary: This procedure checks if the Non-Deductible VAT Type is set to Dimension and if the Non-Deductible VAT Dimension exists.

procedure CheckValidNonDeductDimensionCode(DimensionCode: Code[20]): 

Parameters:

  • DimensionCode: Code used for get record.

GetGLSetupNonDeductVATDimNo(Code[20]) : Integer#

Summary: This procedure retrieves the Non-Deductible VAT Dimension number based on the provided dimension code.

procedure GetGLSetupNonDeductVATDimNo(TheDimensionCode: Code[20]): Integer

Parameters:

  • TheDimensionCode: Code used for check condition.

Returns: Return Non-Deductible VAT Dimension number.

GetNonDeductVATDimTaxGroupCode(Decimal) : Code[20]#

Summary: This procedure change Deduct VAT percentage to Code then return.

procedure GetNonDeductVATDimTaxGroupCode(DeductVATPct: Decimal): Code[20]

Parameters:

  • DeductVATPct: Decimal used for run procedure.

Returns: Return Deduct VAT percentage as Code.

IsNonDeductibleVATTypeAllowedForCountry(Record VAT Setup) : Boolean#

Summary: This procedure checks if the Non-Deductible VAT Type is allowed for the country from the application family.

procedure IsNonDeductibleVATTypeAllowedForCountry(VATSetup: Record "VAT Setup"): Boolean

Parameters:

  • VATSetup: Record used for event.

Returns: Return result if it allowed or not.

IsNonDeductVATPerDimensionEnabled() : Boolean#

Summary: This procedure checks if Non-Deductible VAT Type is set to Dimension in the VAT Setup.

procedure IsNonDeductVATPerDimensionEnabled(): Boolean

Returns: Return result if Non-Deductible VAT per Dimension is enabled in the VAT Setup.

IsVATPostingSetupNonDeductVATSupported(Code[20], Code[20]) : Boolean#

Summary: This procedure checks if the VAT Posting Setup supports Non-Deductible VAT.

procedure IsVATPostingSetupNonDeductVATSupported(VATBusPostingGroup: Code[20]; VATProdPostingGroup: Code[20]): Boolean

Parameters:

  • VATBusPostingGroup: Code used for get record.
  • VATProdPostingGroup: Code used for get record.

Returns: Return result if the VAT Posting Setup supports Non-Deductible VAT.

ShowNonDeductibleVATDimInLines() : Boolean#

Summary: This procedure checks if Show Non-Ded. VAT In Lines is enabled in the VAT Setup.

procedure ShowNonDeductibleVATDimInLines(): Boolean

Returns: Return result if Show Non-Ded. VAT In Lines is enabled in the VAT Setup.

TestNonDeductDimVATEntryNotExists(Record VAT Setup) :#

Summary: This procedure checks if the Non-Deductible VAT Entry exists depending on Non-Deductible VAT Type in VAT Setup It prompts the user for confirmation if there are existing Non-Deductible VAT Entries and raises an error if the user not confirms.

procedure TestNonDeductDimVATEntryNotExists(VATSetup: Record "VAT Setup"): 

Parameters:

  • VATSetup: Record used for check value

IsUpdateNonDeductVATDimInLines(Record VAT Posting Setup, Text, Integer, Integer) : Boolean#

Summary: This procedure checks if there are any lines in the Purchase Line or Gen. Journal Line that match the VAT Posting Setup. It counts the number of lines in both tables and also constructs a confirmation question that lists the number of matching lines in each table.

procedure IsUpdateNonDeductVATDimInLines(var VATPostingSetup2: Record "VAT Posting Setup"; var ConfirmQst: Text; var PurchaseLineCount: Integer; var GenJournalLineCount: Integer): Boolean

Parameters:

  • VATPostingSetup2: Record used for check value.
  • ConfirmQst: Text used for create text depend on condition and send back.
  • PurchaseLineCount: Integer used for count matched Purchase Line.
  • GenJournalLineCount: Integer used for count matched Gen. Journal Line.

Returns: Return result if matched lines exist.

UpdateNonDeductVATDimInLines(Record VAT Posting Setup, Integer, Integer) : Boolean#

Summary: This procedure updates the Non-Deductible VAT Dimension in the Purchase Line and Gen. Journal Line records based on the provided VAT Posting Setup.

procedure UpdateNonDeductVATDimInLines(var VATPostingSetup2: Record "VAT Posting Setup"; PurchaseLineCount: Integer; GenJournalLineCount: Integer): Boolean

Parameters:

  • VATPostingSetup2: Record used for check value.
  • PurchaseLineCount: Integer used for check condition.
  • GenJournalLineCount: Integer used for check condition/

Returns: Return result if update was successful or not.

GetNotificationForMissingDeductibleVATPostingGUID() : Guid#

Summary: This procedure return the GUID of notification for missing Deductible VAT Posting.

procedure GetNotificationForMissingDeductibleVATPostingGUID(): Guid

Returns: Return GUID of notification for missing Deductible VAT Posting.

GetNotificationForMissingDeductibleVATPostingGUIDDimSetup() : Guid#

Summary: This procedure return the GUID of notification for missing Deductible VAT Posting Dimension Setup.

procedure GetNotificationForMissingDeductibleVATPostingGUIDDimSetup(): Guid

Returns: Return GUID of notification for missing Deductible VAT Posting Dimension Setup.

RecallNotificationForMissingNonDeductibleVATDim() :#

Summary: This procedure recalls the notification for missing Deductible VAT Posting Dimension Setup.

procedure RecallNotificationForMissingNonDeductibleVATDim(): 

RecallNotificationForMissingNonDeductibleVATPosting() :#

Summary: This procedure recalls the notification for missing Deductible VAT Posting.

procedure RecallNotificationForMissingNonDeductibleVATPosting(): 

ShowMissingNonDeductVATDimSetupNotif(Integer, Date, Boolean) :#

Summary: AvoidError: Set to true if a message should be shown, although ShowError is defined in the VATSetup, e.g. during record input. Checking Method ShowError is only active for checks during purchase release and posting.

procedure ShowMissingNonDeductVATDimSetupNotif(LineNo: Integer; EndDate: Date; AvoidError: Boolean): 

Parameters:

  • LineNo: Integer.
  • EndDate: Date.
  • AvoidError: Boolean.

ShowMissingNonDeductVATPostingSetupNotif(Integer, Code[20], Code[20], Boolean) :#

Summary: AvoidError: Set to true if a message should be shown, although ShowError is defined in the VATSetup, e.g. during record input. Checking Method ShowError is only active for checks during purchase release and posting.

procedure ShowMissingNonDeductVATPostingSetupNotif(LineNo: Integer; NonDeductVATDimCode: Code[20]; NonDeductVATDimValue: Code[20]; AvoidError: Boolean): 

Parameters:

  • LineNo: Integer.
  • NonDeductVATDimCode: Code[20].
  • NonDeductVATDimValue: Code[20].
  • AvoidError: Boolean.

Events#

KVSPSAOnBeforeCheckAllowedNonDeductibleVATPostingSetup(Record VAT Posting Setup, RecordId, Boolean) :#

[IntegrationEvent(false, false)]
procedure KVSPSAOnBeforeCheckAllowedNonDeductibleVATPostingSetup(VATPostingSetup: Record "VAT Posting Setup"; TheRecordID: RecordId; var IsHandled: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSANonDeductibleVATDimMgt", 'KVSPSAOnBeforeCheckAllowedNonDeductibleVATPostingSetup', '', false, false)]
local procedure DoSomethingKVSPSAOnBeforeCheckAllowedNonDeductibleVATPostingSetup(VATPostingSetup: Record "VAT Posting Setup"; TheRecordID: RecordId; var IsHandled: Boolean)
begin
end;

KVSPSAOnBeforeCheckUnrealizedVATWithNonDeductibleVATInVATPostingSetup(Record VAT Posting Setup, Boolean) :#

[IntegrationEvent(false, false)]
local procedure KVSPSAOnBeforeCheckUnrealizedVATWithNonDeductibleVATInVATPostingSetup(VATPostingSetup: Record "VAT Posting Setup"; var IsHandled: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSANonDeductibleVATDimMgt", 'KVSPSAOnBeforeCheckUnrealizedVATWithNonDeductibleVATInVATPostingSetup', '', false, false)]
local procedure DoSomethingKVSPSAOnBeforeCheckUnrealizedVATWithNonDeductibleVATInVATPostingSetup(VATPostingSetup: Record "VAT Posting Setup"; var IsHandled: Boolean)
begin
end;

KVSPSAOnBeforeGetNonDeductVATDimInfosFromDimensionSetID(Date, Integer, Code[20], Code[20], Decimal, Boolean, Boolean) :#

[IntegrationEvent(false, false)]
procedure KVSPSAOnBeforeGetNonDeductVATDimInfosFromDimensionSetID(EndDate: Date; DimensionSetID: Integer; var NonDeductVATDimCode: Code[20]; var NonDeductVATDimValue: Code[20]; var NonDeductibleVATPct: Decimal; var Found: Boolean; var IsHandled: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSANonDeductibleVATDimMgt", 'KVSPSAOnBeforeGetNonDeductVATDimInfosFromDimensionSetID', '', false, false)]
local procedure DoSomethingKVSPSAOnBeforeGetNonDeductVATDimInfosFromDimensionSetID(EndDate: Date; DimensionSetID: Integer; var NonDeductVATDimCode: Code[20]; var NonDeductVATDimValue: Code[20]; var NonDeductibleVATPct: Decimal; var Found: Boolean; var IsHandled: Boolean)
begin
end;

KVSPSAOnBeforeIsNonDeductibleVATTypeAllowedForCountry(Record VAT Setup, Text, Boolean, Boolean) :#

[IntegrationEvent(false, false)]
local procedure KVSPSAOnBeforeIsNonDeductibleVATTypeAllowedForCountry(VATSetup: Record "VAT Setup"; ApplicationFamily: Text; var IsAllowed: Boolean; var IsHandled: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSANonDeductibleVATDimMgt", 'KVSPSAOnBeforeIsNonDeductibleVATTypeAllowedForCountry', '', false, false)]
local procedure DoSomethingKVSPSAOnBeforeIsNonDeductibleVATTypeAllowedForCountry(VATSetup: Record "VAT Setup"; ApplicationFamily: Text; var IsAllowed: Boolean; var IsHandled: Boolean)
begin
end;

KVSPSAOnBeforeIsNonDeductVATPerDimensionEnabled(Record VAT Setup, Boolean, Boolean) :#

[IntegrationEvent(false, false)]
local procedure KVSPSAOnBeforeIsNonDeductVATPerDimensionEnabled(VATSetup: Record "VAT Setup"; var Result: Boolean; var IsHandled: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSANonDeductibleVATDimMgt", 'KVSPSAOnBeforeIsNonDeductVATPerDimensionEnabled', '', false, false)]
local procedure DoSomethingKVSPSAOnBeforeIsNonDeductVATPerDimensionEnabled(VATSetup: Record "VAT Setup"; var Result: Boolean; var IsHandled: Boolean)
begin
end;

KVSPSAOnBeforeIsUpdateNonDeductVATDimInLines(Record VAT Posting Setup, Text, Integer, Integer, Boolean, Boolean) :#

[IntegrationEvent(false, false)]
local procedure KVSPSAOnBeforeIsUpdateNonDeductVATDimInLines(var VATPostingSetup2: Record "VAT Posting Setup"; var ConfirmQst: Text; var PurchaseLineCount: Integer; var GenJournalLineCount: Integer; var Result: Boolean; var IsHandled: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSANonDeductibleVATDimMgt", 'KVSPSAOnBeforeIsUpdateNonDeductVATDimInLines', '', false, false)]
local procedure DoSomethingKVSPSAOnBeforeIsUpdateNonDeductVATDimInLines(var VATPostingSetup2: Record "VAT Posting Setup"; var ConfirmQst: Text; var PurchaseLineCount: Integer; var GenJournalLineCount: Integer; var Result: Boolean; var IsHandled: Boolean)
begin
end;

KVSPSAOnBeforeIsVATPostingSetupNonDeductVATSupported(Code[20], Code[20], Boolean, Boolean) :#

[IntegrationEvent(false, false)]
local procedure KVSPSAOnBeforeIsVATPostingSetupNonDeductVATSupported(VATBusPostingGroup: Code[20]; VATProdPostingGroup: Code[20]; var Result: Boolean; var IsHandled: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSANonDeductibleVATDimMgt", 'KVSPSAOnBeforeIsVATPostingSetupNonDeductVATSupported', '', false, false)]
local procedure DoSomethingKVSPSAOnBeforeIsVATPostingSetupNonDeductVATSupported(VATBusPostingGroup: Code[20]; VATProdPostingGroup: Code[20]; var Result: Boolean; var IsHandled: Boolean)
begin
end;

KVSPSAOnBeforeShowMissingNonDeductVATPostingSetupNotif(Record VAT Setup, Integer, Record KVSPSANonDeductVATDimSetup, Date, Boolean, Boolean) :#

[IntegrationEvent(false, false)]
local procedure KVSPSAOnBeforeShowMissingNonDeductVATPostingSetupNotif(VATSetup: Record "VAT Setup"; LineNo: Integer; var NonDeductVATDimSetup: Record "KVSPSANonDeductVATDimSetup"; EndDate: Date; var AvoidError: Boolean; var IsHandled: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSANonDeductibleVATDimMgt", 'KVSPSAOnBeforeShowMissingNonDeductVATPostingSetupNotif', '', false, false)]
local procedure DoSomethingKVSPSAOnBeforeShowMissingNonDeductVATPostingSetupNotif(VATSetup: Record "VAT Setup"; LineNo: Integer; var NonDeductVATDimSetup: Record "KVSPSANonDeductVATDimSetup"; EndDate: Date; var AvoidError: Boolean; var IsHandled: Boolean)
begin
end;

KVSPSAOnBeforeShowMissingNonDeductVATPostingSetupNotifDim(Record VAT Setup, Integer, Code[20], Code[20], Boolean, Boolean) :#

[IntegrationEvent(false, false)]
local procedure KVSPSAOnBeforeShowMissingNonDeductVATPostingSetupNotifDim(VATSetup: Record "VAT Setup"; LineNo: Integer; NonDeductVATDimCode: Code[20]; NonDeductVATDimValue: Code[20]; var AvoidError: Boolean; var IsHandled: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSANonDeductibleVATDimMgt", 'KVSPSAOnBeforeShowMissingNonDeductVATPostingSetupNotifDim', '', false, false)]
local procedure DoSomethingKVSPSAOnBeforeShowMissingNonDeductVATPostingSetupNotifDim(VATSetup: Record "VAT Setup"; LineNo: Integer; NonDeductVATDimCode: Code[20]; NonDeductVATDimValue: Code[20]; var AvoidError: Boolean; var IsHandled: Boolean)
begin
end;

KVSPSAOnBeforeTestNonDeductVATEntryNotExists(Record VAT Entry, Record VAT Setup, Boolean) :#

[IntegrationEvent(false, false)]
local procedure KVSPSAOnBeforeTestNonDeductVATEntryNotExists(var VATEntry: Record "VAT Entry"; VATSetup: Record "VAT Setup"; var IsHandled: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSANonDeductibleVATDimMgt", 'KVSPSAOnBeforeTestNonDeductVATEntryNotExists', '', false, false)]
local procedure DoSomethingKVSPSAOnBeforeTestNonDeductVATEntryNotExists(var VATEntry: Record "VAT Entry"; VATSetup: Record "VAT Setup"; var IsHandled: Boolean)
begin
end;

KVSPSAOnBeforeUpdateNonDeductVATDimInLines(Record VAT Posting Setup, Integer, Integer, Boolean, Boolean) :#

[IntegrationEvent(false, false)]
local procedure KVSPSAOnBeforeUpdateNonDeductVATDimInLines(var VATPostingSetup2: Record "VAT Posting Setup"; PurchaseLineCount: Integer; GenJournalLineCount: Integer; var Result: Boolean; var IsHandled: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSANonDeductibleVATDimMgt", 'KVSPSAOnBeforeUpdateNonDeductVATDimInLines', '', false, false)]
local procedure DoSomethingKVSPSAOnBeforeUpdateNonDeductVATDimInLines(var VATPostingSetup2: Record "VAT Posting Setup"; PurchaseLineCount: Integer; GenJournalLineCount: Integer; var Result: Boolean; var IsHandled: Boolean)
begin
end;