Table of Contents

Codeunit "Sales Parafiscal Tax SLCAP"

ID 70344856
Namespace: CapVision.Finance.ParafiscalTaxes.Sales

Properties

Name Value
Access Public
SingleInstance True

Methods

PreventAttachedLineModification

Cette fonction génère une erreur de modification d'une ligne de taxe parafiscale attachée.

procedure PreventAttachedLineModification(var SalesLine: Record "Sales Line")

Parameters

Name Type Description
SalesLine Record "Sales Line"

DeleteAttachedTaxes

Supprime les lignes de taxes parafiscales associées à la ligne spécifiée.

procedure DeleteAttachedTaxes(var SalesLine: Record "Sales Line")

Parameters

Name Type Description
SalesLine Record "Sales Line"

UpdateAttachedTaxes

Met à jour les lignes de taxes parafiscales attachées à la ligne de vente spécifiée.

procedure UpdateAttachedTaxes(var SalesLine: Record "Sales Line")

Parameters

Name Type Description
SalesLine Record "Sales Line"

Remarks

Cette fonction est la jumelle de Populate pour les taxes Attached Line.

GetParafiscalTaxAmount

Obtient le montant total HT des taxes parafiscales pour la ligne de vente spécifiée.

procedure GetParafiscalTaxAmount(SalesLine: Record "Sales Line"): Decimal

Parameters

Name Type Description
SalesLine Record "Sales Line"

Record "Sales Line".

Returns

Type Description
Decimal

Return value of type Boolean.

GetParafiscalTaxAmountPerUnit

Obtient le prix unitaire total HT des taxes parafiscales pour la ligne de vente spécifiée.

procedure GetParafiscalTaxAmountPerUnit(SalesLine: Record "Sales Line"): Decimal

Parameters

Name Type Description
SalesLine Record "Sales Line"

Record "Sales Line".

Returns

Type Description
Decimal

Return value of type Decimal.

GetLineAmountExcludingAllTaxes

Obtient le montant total de la ligne hors toutes taxes (hors TVA et hors taxes parafiscales).

procedure GetLineAmountExcludingAllTaxes(SalesLine: Record "Sales Line"): Decimal

Parameters

Name Type Description
SalesLine Record "Sales Line"

Record "Sales Line".

Returns

Type Description
Decimal

Return value of type Boolean.

GetUnitPriceExcludingAllTaxes

Obtient le prix unitaire de la ligne hors toutes taxes (hors TVA et hors taxes parafiscales).

procedure GetUnitPriceExcludingAllTaxes(SalesLine: Record "Sales Line"): Decimal

Parameters

Name Type Description
SalesLine Record "Sales Line"

Record "Sales Line".

Returns

Type Description
Decimal

Return value of type Boolean.

Populate

Obtient le détail des taxes parafiscales pour la ligne de vente spécifiée.

procedure Populate(SalesLine: Record "Sales Line", var ParafiscalTaxLineBuffer: Record "Parafisc.Tax Line Buffer SLCAP" temporary)

Parameters

Name Type Description
SalesLine Record "Sales Line"

Record "Sales Line".

ParafiscalTaxLineBuffer Table CapVision.Finance.ParafiscalTaxes."Parafisc.Tax Line Buffer SLCAP"

VAR Record "Parafiscal Tax Line Buffer SLCAP".

PopulateWithOutstandingQuantity

Obtient le détail des taxes parafiscales pour la quantité ouverte de la ligne de vente spécifiée.

procedure PopulateWithOutstandingQuantity(SalesLine: Record "Sales Line", var ParafiscalTaxLineBuffer: Record "Parafisc.Tax Line Buffer SLCAP" temporary)

Parameters

Name Type Description
SalesLine Record "Sales Line"

Record "Sales Line".

ParafiscalTaxLineBuffer Table CapVision.Finance.ParafiscalTaxes."Parafisc.Tax Line Buffer SLCAP"

VAR Record "Parafiscal Tax Line Buffer SLCAP".

PopulateWithQtyToInvoice

Obtient le détail des taxes parafiscales pour la quantité à facturer de la ligne de vente spécifiée.

procedure PopulateWithQtyToInvoice(SalesLine: Record "Sales Line", var ParafiscalTaxLineBuffer: Record "Parafisc.Tax Line Buffer SLCAP" temporary)

Parameters

Name Type Description
SalesLine Record "Sales Line"

Record "Sales Line".

ParafiscalTaxLineBuffer Table CapVision.Finance.ParafiscalTaxes."Parafisc.Tax Line Buffer SLCAP"

VAR Record "Parafiscal Tax Line Buffer SLCAP".

RecalculateDocumentLines

Recalcule les montants hors toutes taxes sur les lignes du document.

procedure RecalculateDocumentLines(SalesHeader: Record "Sales Header")

Parameters

Name Type Description
SalesHeader Record "Sales Header"

Events

OnBeforeRecalculateDocumentLines

Se produit dans la fonction RecalculateDocumentLines avant que les montants hors toutes taxes des lignes du document ne soient recalculés. Vous pouvez utiliser cet événement pour effectuer des actions avant le recalcul des montants ou surcharger le recalcul.

[IntegrationEvent(False,False)]
local procedure OnBeforeRecalculateDocumentLines(SalesHeader: Record "Sales Header", var Handled: Boolean)

Parameters

Name Type Description
SalesHeader Record "Sales Header"
Handled Boolean

OnAfterRecalculateDocumentLines

Se produit dans la fonction RecalculateDocumentLines après que les montants hors toutes taxes des lignes du document ont été recalculés.

[IntegrationEvent(False,False)]
local procedure OnAfterRecalculateDocumentLines(SalesHeader: Record "Sales Header")

Parameters

Name Type Description
SalesHeader Record "Sales Header"

OnBeforeModifyRecalculatedDocumentLine

Se produit dans la fonction RecalculateDocumentLines avant la modification d'une ligne de document recalculée.

[IntegrationEvent(False,False)]
local procedure OnBeforeModifyRecalculatedDocumentLine(SalesHeader: Record "Sales Header", var SalesLine: Record "Sales Line", var Handled: Boolean)

Parameters

Name Type Description
SalesHeader Record "Sales Header"
SalesLine Record "Sales Line"
Handled Boolean

OnBeforeGetCalculationBasisForSalesLine

Se produit dans la fonction GetCalculationBasis avant de calculer la base de calcul et la quantité pour une ligne de vente. Utilisez typiquement cette fonction pour surcharger le calcul de la base de calcul et de la quantité pour une configuration existante.

[IntegrationEvent(False,False)]
local procedure OnBeforeGetCalculationBasisForSalesLine(SalesLine: Record "Sales Line", QtyFieldNo: Integer, CalculationBasis: Enum "Calculation Base SLCAP", var BaseValue: Decimal, var Handled: Boolean)

Parameters

Name Type Description
SalesLine Record "Sales Line"
QtyFieldNo Integer
CalculationBasis Enum CapVision.Finance.ParafiscalTaxes."Calculation Base SLCAP"
BaseValue Decimal
Handled Boolean

OnGetCalculationBasisGetFactorForSalesLine

Se produit dans la fonction GetCalculationBasis pour un champ de quantité non supporté. Par défaut, seules les quantités, quantités expédiées ou quantités facturées peuvent être la base de calcul. Si vous avez besoin d'une autre base de calcul pour la quantité, vous pouvez utiliser cet événement pour la définir.

[IntegrationEvent(False,False)]
local procedure OnGetCalculationBasisGetFactorForSalesLine(SalesLine: Record "Sales Line", QtyFieldNo: Integer, var Factor: Decimal, var Handled: Boolean)

Parameters

Name Type Description
SalesLine Record "Sales Line"
QtyFieldNo Integer
Factor Decimal
Handled Boolean

Examples

Par exemple, si vous basez le calcul sur le changement de la quantité réservée, spécifiez le code ci-dessous dans l'événement :

begin
    if SalesLine.Quantity = 0 then
        Factor := 1
    else 
        Factor := SalesLine."Reserved Quantity" / SalesLine.Quantity;
    if not SalesLine.IsCreditDocType() then
        Factor := -Factor;
end;

OnGetCalculationBasisGetQuantityForSalesLine

Se produit dans la fonction GetCalculationBasis quand la base de calcul n'est pas supportée par défaut l'application. Utilisez typiquement cet événement si vous avez définit une nouvelle valeur dans l'énumération Calculation Base SLCAP.

[IntegrationEvent(False,False)]
local procedure OnGetCalculationBasisGetQuantityForSalesLine(SalesLine: Record "Sales Line", CalculationBasis: Enum "Calculation Base SLCAP", Quantity: Decimal, var BaseValue: Decimal, var Handled: Boolean)

Parameters

Name Type Description
SalesLine Record "Sales Line"
CalculationBasis Enum CapVision.Finance.ParafiscalTaxes."Calculation Base SLCAP"
Quantity Decimal
BaseValue Decimal
Handled Boolean

Examples

Par exemple si votre base de calcul est basé sur un champ spécifique nommé "Alcohol Degree PTE", spécifiez le code ci-dessous dans l'événement :

BaseValue := Quantity * SalesLine."Alcohol Degree PTE";

OnBeforeInsertParafiscalTaxEntry

Se produit à la validation d'un document de vente, avant l'insertion d'une écriture de taxe parafiscale.

[IntegrationEvent(False,False)]
internal procedure OnBeforeInsertParafiscalTaxEntry(var ParafiscalTaxEntry: Record "Parafiscal Tax Entry SLCAP", SalesLine: Record "Sales Line", ParafiscalTaxLineBuffer: Record "Parafisc.Tax Line Buffer SLCAP" temporary)

Parameters

Name Type Description
ParafiscalTaxEntry Table CapVision.Finance.ParafiscalTaxes.History."Parafiscal Tax Entry SLCAP"
SalesLine Record "Sales Line"
ParafiscalTaxLineBuffer Table CapVision.Finance.ParafiscalTaxes."Parafisc.Tax Line Buffer SLCAP"

OnBeforeGetParafiscalTaxAmountCalcsums

Se produit dans la fonction GetParafiscalTaxAmount, avant que la somme des montants des taxes parafiscales ne soit calculée (ParafiscalTaxLineBuffer.CalcSums("Total Amount Excl. VAT");). Utilisez cet événement pour effectuer des actions avant le calcul des montants, comme par exemple ajouter/supprimer des enregistrements dans la table ParafiscalTaxLineBuffer ou modifiez les montants calculés.

[IntegrationEvent(False,False)]
local procedure OnBeforeGetParafiscalTaxAmountCalcsums(SalesLine: Record "Sales Line", var ParafiscalTaxLineBuffer: Record "Parafisc.Tax Line Buffer SLCAP" temporary)

Parameters

Name Type Description
SalesLine Record "Sales Line"
ParafiscalTaxLineBuffer Table CapVision.Finance.ParafiscalTaxes."Parafisc.Tax Line Buffer SLCAP"

OnBeforePopulate

Se produit dans la fonction Populate chargée de remplir la table ParafiscalTaxLineBuffer pour chaque taxe parafiscale d'une ligne de vente. Vous pouvez utiliser cette fonction pour filtrer les taxes parafiscales à prendre en compte ou pour ajouter vos propres enregistrements.

[IntegrationEvent(False,False)]
local procedure OnBeforePopulate(SalesLine: Record "Sales Line", QtyFieldNo: Integer, var PostingDate: Date, var ItemParafiscalTax: Record "Item Parafiscal Tax SLCAP", var ParafiscalTaxLineBuffer: Record "Parafisc.Tax Line Buffer SLCAP" temporary)

Parameters

Name Type Description
SalesLine Record "Sales Line"
QtyFieldNo Integer
PostingDate Date
ItemParafiscalTax Table CapVision.Finance.ParafiscalTaxes."Item Parafiscal Tax SLCAP"
ParafiscalTaxLineBuffer Table CapVision.Finance.ParafiscalTaxes."Parafisc.Tax Line Buffer SLCAP"

OnAfterPopulate

Se produit dans la fonction Populate après que la table ParafiscalTaxLineBuffer a été remplie pour chaque taxe parafiscale d'une ligne de vente.

[IntegrationEvent(False,False)]
local procedure OnAfterPopulate(SalesLine: Record "Sales Line", QtyFieldNo: Integer, PostingDate: Date, var ParafiscalTaxLineBuffer: Record "Parafisc.Tax Line Buffer SLCAP" temporary)

Parameters

Name Type Description
SalesLine Record "Sales Line"
QtyFieldNo Integer
PostingDate Date
ParafiscalTaxLineBuffer Table CapVision.Finance.ParafiscalTaxes."Parafisc.Tax Line Buffer SLCAP"

OnBeforePreventAttachedLineModification

Se produit lorsque avant d'empêcher la modification d'une ligne de taxe parafiscale attachée.

[IntegrationEvent(False,False)]
local procedure OnBeforePreventAttachedLineModification(SalesLine: Record "Sales Line", var Handled: Boolean)

Parameters

Name Type Description
SalesLine Record "Sales Line"
Handled Boolean

OnBeforeUpdateAttachedTaxes

[IntegrationEvent(False,False)]
local procedure OnBeforeUpdateAttachedTaxes(SalesLine: Record "Sales Line", var Handled: Boolean)

Parameters

Name Type Description
SalesLine Record "Sales Line"
Handled Boolean

OnAfterUpdateAttachedTaxes

[IntegrationEvent(False,False)]
local procedure OnAfterUpdateAttachedTaxes(SalesLine: Record "Sales Line")

Parameters

Name Type Description
SalesLine Record "Sales Line"

OnAfterLineDiscountPercentRecalculated

Se produit lorsque l'événement OnAfterUpdateLineDiscPct se produit sur une ligne de vente. Le pourcentage de remise est recalculé sur la part remisable des taxes parafiscales.

[IntegrationEvent(False,False)]
internal procedure OnAfterLineDiscountPercentRecalculated(var SalesLine: Record "Sales Line", DiscountableUnitPriceExcludingAllTaxes: Decimal, var LineDiscountPct: Decimal, var Handled: Boolean)

Parameters

Name Type Description
SalesLine Record "Sales Line"
DiscountableUnitPriceExcludingAllTaxes Decimal
LineDiscountPct Decimal
Handled Boolean

OnBeforeApplyExemption

Se produit avant l'évaluation de l'application de l'exonération de taxe parafiscale sur une ligne de vente.

[IntegrationEvent(False,False)]
local procedure OnBeforeApplyExemption(var SalesLine: Record "Sales Line", ParafiscalTax: Record "Parafiscal Tax SLCAP", var ApplyExemption: Boolean)

Parameters

Name Type Description
SalesLine Record "Sales Line"
ParafiscalTax Table CapVision.Finance.ParafiscalTaxes."Parafiscal Tax SLCAP"
ApplyExemption Boolean

OnBeforeInsertAttachedTax

Se produit avant l'insertion d'une ligne de taxe parafiscale attachée à une ligne de vente.

[IntegrationEvent(False,False)]
local procedure OnBeforeInsertAttachedTax(var TaxSalesLine: Record "Sales Line", ParafiscalTax: Record "Parafiscal Tax SLCAP", ParafiscalTaxLineBuffer: Record "Parafisc.Tax Line Buffer SLCAP" temporary)

Parameters

Name Type Description
TaxSalesLine Record "Sales Line"
ParafiscalTax Table CapVision.Finance.ParafiscalTaxes."Parafiscal Tax SLCAP"
ParafiscalTaxLineBuffer Table CapVision.Finance.ParafiscalTaxes."Parafisc.Tax Line Buffer SLCAP"

OnBeforeModifyAttachedTax

Se produit avant la modification d'une ligne de taxe parafiscale attachée à une ligne de vente.

[IntegrationEvent(False,False)]
local procedure OnBeforeModifyAttachedTax(var TaxSalesLine: Record "Sales Line", ParafiscalTax: Record "Parafiscal Tax SLCAP", ParafiscalTaxLineBuffer: Record "Parafisc.Tax Line Buffer SLCAP" temporary, var HasChanged: Boolean)

Parameters

Name Type Description
TaxSalesLine Record "Sales Line"
ParafiscalTax Table CapVision.Finance.ParafiscalTaxes."Parafiscal Tax SLCAP"
ParafiscalTaxLineBuffer Table CapVision.Finance.ParafiscalTaxes."Parafisc.Tax Line Buffer SLCAP"
HasChanged Boolean

OnBeforeCalculateApplyExemption

Se produit avant la condition de calcul de l'exonération de taxe sur une ligne vente.

[IntegrationEvent(False,False)]
local procedure OnBeforeCalculateApplyExemption(ParafiscalTax: Record "Parafiscal Tax SLCAP", var SalesLine: Record "Sales Line")

Parameters

Name Type Description
ParafiscalTax Table CapVision.Finance.ParafiscalTaxes."Parafiscal Tax SLCAP"
SalesLine Record "Sales Line"

OnBeforeSalesLineUpdateAmountsDone

Se produit lorsque l'événement OnAfterUpdateAmountsDone se produit sur une ligne de vente. Le prix unitaire hors toutes taxes est recalculé sur une ligne de vente.

[IntegrationEvent(False,False)]
internal procedure OnBeforeSalesLineUpdateAmountsDone(var SalesLine: Record "Sales Line", CurrentFieldNo: Integer, var IsHandled: Boolean)

Parameters

Name Type Description
SalesLine Record "Sales Line"
CurrentFieldNo Integer
IsHandled Boolean

See also