KVSPSAJobBankAccountMgt#
Procedures#
CalculateBankAccountCodeForPurchaseDocumentByPurchaseLines(Record Purchase Header, Boolean, Code[20], Text) : Boolean#
Summary: The CalculateBankAccountCodeForPurchaseDocumentByPurchaseLines function calculates the bank account code for a purchase document based on its purchase lines. It checks for job bank accounts associated with the purchase lines and returns the first found account or a list of conflicting accounts if multiple accounts are found. If CalcOwnBankAccounts is true, it will look for own accounts; otherwise, it will look for vendor accounts. If no job bank accounts are found, it returns false.
procedure CalculateBankAccountCodeForPurchaseDocumentByPurchaseLines(PurchaseHeader: Record "Purchase Header"; CalcOwnBankAccounts: Boolean; var BankAccountCode: Code[20]; var ConflictingAccounts: Text): Boolean
Parameters:
PurchaseHeader
: Purchase Header record containing the document details.CalcOwnBankAccounts
: Boolean indicating whether to calculate own bank accounts or vendor accounts.BankAccountCode
: Output parameter that will contain the bank account code if found.ConflictingAccounts
: Output parameter that will contain a comma-separated list of conflicting bank account codes if multiple accounts are found.
Returns: Returns true if a bank account code is found, otherwise false.
CalculateBankAccountCodeForSalesDocumentBySalesLines(Record Sales Header, Boolean, Code[20], Text) : Boolean#
Summary: The CalculateBankAccountCodeForSalesDocumentBySalesLines function calculates the bank account code for a sales document based on its sales lines. It checks for job bank accounts associated with the sales lines and returns the first found account or a list of conflicting accounts if multiple accounts are found.
procedure CalculateBankAccountCodeForSalesDocumentBySalesLines(SalesHeader: Record "Sales Header"; CalcOwnBankAccounts: Boolean; var BankAccountCode: Code[20]; var ConflictingAccounts: Text): Boolean
Parameters:
SalesHeader
: Sales Header record containing the document details.CalcOwnBankAccounts
: Boolean indicating whether to calculate own bank accounts or customer accounts.BankAccountCode
: Output parameter that will contain the bank account code if found.ConflictingAccounts
: Output parameter that will contain a comma-separated list of conflicting bank account codes if multiple accounts are found.
Returns: Returns true if a bank account code is found, otherwise false.
FindJobBankAccount(Enum KVSPSAJobBankAccountType, Code[20], Code[20], Code[20], Code[20], Code[20], Code[20], Integer, Record KVSPSAJobBankAccount) : Boolean#
Summary: The FindJobBankAccount function searches for a job bank account based on the provided parameters. It looks for a job bank account with the specified type, customer/vendor number, job number, work package code, phase code, task code, step code, and budget line number.
procedure FindJobBankAccount(Type: Enum "KVSPSAJobBankAccountType"; CustomerVendorNo: Code[20]; JobNo: Code[20]; WorkPackageCode: Code[20]; PhaseCode: Code[20]; TaskCode: Code[20]; StepCode: Code[20]; BudgetLineNo: Integer; var JobBankAccount: Record "KVSPSAJobBankAccount"): Boolean
Parameters:
Type
: Parameter of type Enum KVSPSAJobBankAccountType indicating the type of job bank account to search for.CustomerVendorNo
: Code[20] representing the customer or vendor number associated with the job bank account.JobNo
: Code[20] representing the job number associated with the job bank account.WorkPackageCode
: Code[20] representing the work package code associated with the job bank account.PhaseCode
: Code[20] representing the phase code associated with the job bank account.TaskCode
: Code[20] representing the task code associated with the job bank account.StepCode
: Code[20] representing the step code associated with the job bank account.BudgetLineNo
: Integer representing the budget line number associated with the job bank account.JobBankAccount
: Record KVSPSAJobBankAccount that will be filled with the found job bank account details.
Returns: Returns true if a job bank account is found, otherwise false.
Events#
KVSPSAOnAfterCalculateBankAccountCodeForPurchaseDocumentByPurchaseLines(Record Purchase Header, Boolean, Code[20], Text) :#
Summary: Event fired after calculating bank account code for purchase document based on purchase lines. Allows extensions to modify the calculated bank account or conflicting accounts information. This event enables customization of bank account determination logic after analyzing purchase lines for bank account assignment.
[IntegrationEvent(false, false)]
local procedure KVSPSAOnAfterCalculateBankAccountCodeForPurchaseDocumentByPurchaseLines(PurchaseHeader: Record "Purchase Header"; CalcOwnBankAccounts: Boolean; var BankAccountCode: Code[20]; var ConflictingAccounts: Text):
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSAJobBankAccountMgt", 'KVSPSAOnAfterCalculateBankAccountCodeForPurchaseDocumentByPurchaseLines', '', false, false)]
local procedure DoSomethingKVSPSAOnAfterCalculateBankAccountCodeForPurchaseDocumentByPurchaseLines(PurchaseHeader: Record "Purchase Header"; CalcOwnBankAccounts: Boolean; var BankAccountCode: Code[20]; var ConflictingAccounts: Text)
begin
end;
Parameters:
PurchaseHeader
: The purchase header for which the bank account is being calculated.CalcOwnBankAccounts
: Boolean indicating whether only own bank accounts should be considered in the calculation.BankAccountCode
: The calculated bank account code (passed by reference for modification).ConflictingAccounts
: Text containing information about conflicting bank accounts found during calculation (passed by reference for modification).
KVSPSAOnAfterCalculateBankAccountCodeForSalesDocumentBySalesLines(Record Sales Header, Boolean, Code[20], Text) :#
Summary: Event fired after calculating bank account code for sales document based on sales lines. Allows extensions to modify the calculated bank account or conflicting accounts information. This event enables customization of bank account determination logic after analyzing sales lines for bank account assignment.
[IntegrationEvent(false, false)]
local procedure KVSPSAOnAfterCalculateBankAccountCodeForSalesDocumentBySalesLines(SalesHeader: Record "Sales Header"; CalcOwnBankAccounts: Boolean; var BankAccountCode: Code[20]; var ConflictingAccounts: Text):
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSAJobBankAccountMgt", 'KVSPSAOnAfterCalculateBankAccountCodeForSalesDocumentBySalesLines', '', false, false)]
local procedure DoSomethingKVSPSAOnAfterCalculateBankAccountCodeForSalesDocumentBySalesLines(SalesHeader: Record "Sales Header"; CalcOwnBankAccounts: Boolean; var BankAccountCode: Code[20]; var ConflictingAccounts: Text)
begin
end;
Parameters:
SalesHeader
: The sales header for which the bank account is being calculated.CalcOwnBankAccounts
: Boolean indicating whether only own bank accounts should be considered in the calculation.BankAccountCode
: The calculated bank account code (passed by reference for modification).ConflictingAccounts
: Text containing information about conflicting bank accounts found during calculation (passed by reference for modification).
KVSPSAOnBeforeCalculateBankAccountCodeForPurchaseDocumentByPurchaseLines(Record Purchase Header, Boolean, Code[20], Text, Boolean) :#
[IntegrationEvent(false, false)]
local procedure KVSPSAOnBeforeCalculateBankAccountCodeForPurchaseDocumentByPurchaseLines(PurchaseHeader: Record "Purchase Header"; CalcOwnBankAccounts: Boolean; var BankAccountCode: Code[20]; var ConflictingAccounts: Text; var IsHandled: Boolean):
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSAJobBankAccountMgt", 'KVSPSAOnBeforeCalculateBankAccountCodeForPurchaseDocumentByPurchaseLines', '', false, false)]
local procedure DoSomethingKVSPSAOnBeforeCalculateBankAccountCodeForPurchaseDocumentByPurchaseLines(PurchaseHeader: Record "Purchase Header"; CalcOwnBankAccounts: Boolean; var BankAccountCode: Code[20]; var ConflictingAccounts: Text; var IsHandled: Boolean)
begin
end;
KVSPSAOnBeforeCalculateBankAccountCodeForSalesDocumentBySalesLines(Record Sales Header, Boolean, Code[20], Text, Boolean) :#
[IntegrationEvent(false, false)]
local procedure KVSPSAOnBeforeCalculateBankAccountCodeForSalesDocumentBySalesLines(SalesHeader: Record "Sales Header"; CalcOwnBankAccounts: Boolean; var BankAccountCode: Code[20]; var ConflictingAccounts: Text; var IsHandled: Boolean):
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSAJobBankAccountMgt", 'KVSPSAOnBeforeCalculateBankAccountCodeForSalesDocumentBySalesLines', '', false, false)]
local procedure DoSomethingKVSPSAOnBeforeCalculateBankAccountCodeForSalesDocumentBySalesLines(SalesHeader: Record "Sales Header"; CalcOwnBankAccounts: Boolean; var BankAccountCode: Code[20]; var ConflictingAccounts: Text; var IsHandled: Boolean)
begin
end;
KVSPSAOnCalcSalesHeaderTotalAmountOnAddJobBankAccountDocumentTextForSalesHeader(Record Sales Header, Decimal) :#
[IntegrationEvent(false, false)]
local procedure KVSPSAOnCalcSalesHeaderTotalAmountOnAddJobBankAccountDocumentTextForSalesHeader(var SalesHeader: Record "Sales Header"; var AmountIncludingVAT: Decimal):
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSAJobBankAccountMgt", 'KVSPSAOnCalcSalesHeaderTotalAmountOnAddJobBankAccountDocumentTextForSalesHeader', '', false, false)]
local procedure DoSomethingKVSPSAOnCalcSalesHeaderTotalAmountOnAddJobBankAccountDocumentTextForSalesHeader(var SalesHeader: Record "Sales Header"; var AmountIncludingVAT: Decimal)
begin
end;