Le BillingEngine est une classe implémentant IDisposable et qui présente ces méthodes (liste non exhaustive) :
- InitNew : méthode statique permettant l'initialisation d'un nouveau BillingEngine correspondant à un nouveau document
- InitExisting : méthode statique permettant l'initialisation d'un nouveau BillingEngine correspondant à un document existant
- ApplyCustomerSupplier : appliquer la sélection du client/fournisseur
- ApplyCliLiv : appliquer la sélection du client de livraison (ID_CLI_LIV)
- AppendLine : ajouter une ligne vide dans la grille des imputations générales
- InsertItem : insérer un article
- ChangeCurrency : changer la devise
- Compare : comparer (fonctionnalité de "clic-droit / Comparer")
- GetPricingInfosV : obtenir les informations de prix de vente, remise client, ... pour une ligne
- GetPricingInfosA : obtenir les informations de prix d'achat, remise fournisseur, ... pour une ligne
- Group : grouper (fonctionnalité de "clic-droit / Grouper")
- Sort : trier
- ItemsLabels : impression d'étiquettes articles
- PrintPrev : impression / prévisualisation
- TransformDown : transformer vers un statut inférieur (ex. Livraison -> Commande)
- TransformEqual : transformer vers un document de niveau identique
- TransformUp : transformer vers un statut supérieur(ex. Commande -> Livraison)
- UpdateAmounts : recalcul du document (totaux, ...)
- Save : enregistrer l'écriture de gestion commerciale
- Close : fermer le BillingEngine.
Le BillingEngine a ces propriétés publiques (liste non exhaustive) :
-
BillingForm : permet de connaître la BillingForm liée à ce BillingEngine. Est null en cas de fonctionnement en dehors de toute interface. (Par ex. : facturation automatique)
-
ReadOnly
-
MultiUserLocked : verrouillé à cause d'un conflit multi-utilisateurs
-
TypeVA : vente ou achat
-
TypeVAP : idem avec distinction des documents de production
-
Type : 1 = facture, 2 = livraison, 3 = commande, 4 = devis/préparation de commande, ...
-
CLI : DataRow correspondant au client en cours si le document est une vente
-
CLI_LIV : idem pour le client de livraison
-
FOU: DataRow correspondant au fournisseur en cours si le document est un achat
-
TIERS : renvoi vers CLI ou FOU en fonction du statut "vente" ou "achat"
-
PIEDS : DataRow correspond au record de PIEDS
-
LIGNES : DataTable correspondant aux records de LIGNES
-
PIEDS2 : liste de DataRows correspond aux records des PIEDS des documents d'origine
-
LIGNES2 : DataTable correspondant aux records de LIGNES des documents d'origine
-
SEQUENC : DataRow correspondant à la séquence en cours
-
Les datatables PAIEM, MAGASINS, TARIFS, COD_TVA, ...
-
DataSet : tous les tables dont celles citées ci-dessus
-
SavedNumber : le numéro de pièce attribué lors de la sauvegarde
-
AccountLibDefault : libellé de ce compte
-
VatIdDefault : code TVA par défaut
-
IsNew : l'écriture est-elle nouvelle ?
-
-
-
Le BillingEngine répond à ces évènements :
- Initialized : lorsque le BillingEngine est totalement initialisé. La propriété Cancel de l'eventArgs permet d'annuler la création de ce BillingEngine en la mettant à true. Ainsi, la BillingForm éventuellement associée à cet engine ne sera pas instanciée
- BillingFormLoaded : à la fin du chargement de la BillingForm si ce BillingEngine est associé à une BillingForm
- BeforeApplyCustomerSupplier : au début de l'exécution de la méthode ApplyCustomerSupplier
- AfterApplyCustomerSupplier : en fin de l'exécution de la méthode ApplyCustomerSupplier
- BeforeApplyCliLiv : au début de l'exécution de la méthode ApplyCliLiv
- AfterApplycliLiv : en fin de l'exécution de la méthode ApplyCliLiv
- BeforeClose : au début de l'exécution de la méthode Close
- AfterClose : en fin de l'exécution de la méthode Close
- BeforeInsertItem: au début de l'exécution de la méthode InsertItem
- AfterInsertItem : en fin de l'exécution de la méthode InsertItem
- BeforePayment : avant la saisie des modes de paiement
- BeforeCompare : au début de l'exécution de la méthode Compare
- AfterCompare : en fin de l'exécution de la méthode Compare
- LoyaltyCard : juste avant la mise à jour de la carte de fidélité du client (contient une propriété "CancelLoyalty" qui peut être mise à true si on souhaite ne pas inscrire la vente en cours sur la carte de fidélité)
- BeforeTransform : au début de l'exécution d'un processus de transformation
- AfterTransform : en fin de l'exécution d'un processus de transformation
- QtyChanged : changement de quantité d'un article (dans le LinesEditor uniquement)
- BeforeUpdateAmounts : au début de l'exécution de la méthode UpdateAmounts
- AfterUpdateAmounts : en fin de l'exécution de la méthode UpdateAmounts
- RegimeChangedByCustomerSupplier : lors du changement de régime à l'occasion du changement de client
- TarifChangedByCustomerSupplier : lors du changement de tarif à l'occasion du changement de client
- CurrencyChangedByCustomerSupplier : lors du changement de devise à l'occasion du changement de client/fournisseur
- CurrencyChanged : lors du changement de devise
- PrintPrevPrepared : lors de la préparation de l'impression/prévisualisation: possibilité d'intervenir sur le dataset et les paramètres passés au générateur de rapport
- ProviderTimePanelLoaded : lors de l'affichage de l'Interface de saisie des prestations
- ProviderTimeBeforeOk : lors du clic sur le bouton "OK" de l'Interface de saisie des prestations
- BeforeSave : au début de l'exécution de la méthode Save
- AfterSave : en fin de l'exécution de la méthode Save