Points d'entrée > Module Données de base > Script standard TRTVENFACDUD 

CALECHE : Modification des échéances générées lors de la création d'une facture

Ce point d’entrée est appelé lors de la création d‘une facture de vente après la génération des échéances de paiement.

Il permet d’intervenir sur les échéances créées afin de modifier les dates, montants, mode de règlement, …

Ce point d‘entrée est situé dans le traitement TRTVENFACC.

Contexte et mode de fonctionnement

Transaction

Il y a une transaction en cours (Transaction de création de la facture). La variable GOK est utilisée et testée. Elle est égale à 1. Elle peut être positionnée à 0 si on désire abandonner la transaction.

Fichier trace

Il n’y a pas de fichier trace ouvert

Différents cas d’appel

Ce point d’entrée est appelé depuis chaque traitement permettant la génération d’une facture :

.        Gestion des factures

.        Facturation automatique des commandes

.        Facturation automatique des livraisons

.        Bouton facture depuis la gestion des commandes

.        Bouton facture depuis la gestion des livraisons

.        Import facture

Dans la gestion des factures, le bouton créer a été déclenché. On est au niveau de l’action CREATION juste après l’écriture des enregistrements [F:SIH] et [F:SIV].

Dans tous les cas les deux entêtes de la factures , les lignes détails et les échéances ont été créées.

 

Tables ouvertes

Les buffers [F:SIH] et [F:SIV] sont chargés au moment de l’appel du point d’entrée.

Attention, la table GACCDUDATE contenant les échéances de paiement n’est pas ouverte 

Table

Contenu significatif

Intitulé Table

SINVOICE

Oui

Entêtes facture

SINVOICEV

Oui

Entêtes facture

SINVOICED

Non

Lignes détail factures

BPCUSTOMER

Oui

Clients

BPARTNER

Non

Tiers

BPDLVCUST

Non

Clients livrés

BPCUSTMVT

Non

Mouvements clients

TABSIVTYP

Non

Table types facture

ITMMASTER

Non

Articles

 

 

 

 

DATEECHE : Alimentation date de départ d'échéance avant la création facture

Ce point d’entrée concerne la création d‘une facture de vente.

Il permet d’alimenter la date de départ d’échéance avant la création de la facture pour qu’elle soit prise en compte à la création des échéances.

Ce point d‘entrée est situé dans le traitement TRTVENFACC.

Il est appelé depuis chaque traitement permettant la génération d’une facture.

Contexte et mode de fonctionnement

Transaction

Il y a une transaction en cours (Transaction de création de la facture). La variable GOK est utilisée et testée. Elle est égale à 1. Elle peut être positionnée à 0 si on désire abandonner la transaction. 

Fichier trace

Il n’y a pas de fichier trace ouvert

Différents cas d’appel

Ce point d’entrée est appelé depuis chaque traitement permettant la génération d’une facture :

.        Fonction Facture

.        Fonction facturation automatique des commandes

.        Fonction facturation automatique des livraisons

.        Bouton facture depuis la fonction commande

.        Bouton facture depuis la fonction livraison

 

Dans la fonction facture, le bouton créer a été déclenché. On est au niveau de l’action INICRE juste avant l’écriture des enregistrements [F :SIH] et [F :SIV] et la création des échéances. Les lignes détails n’ont pas encore été créées.

Dans les autres cas, toutes les lignes détails sont créées avec les mises à jour associées. On se situe juste avant l’écriture des enregistrements [F :SIH] et [F :SIV] et la création des échéances. 

Variables et masques disponibles

Les buffers [F :SIH] et [F :SIV] sont chargés au moment de l’appel du point d’entrée.

La classe écran liée à l’OBJet facture est chargée. [M :SIH0], [M :SIH1] et [M :SIH2] sont chargés avec les données de l’entête. [M :SIH4] est chargé avec les lignes détail.

On dispose en plus des variables suivantes concernant la facture en cours de création:

.        WINVTYP                   :           Type de la facture (1=Facture, 2=Avoir, 3=Note de

débit, 4=Note de crédit, 5=Proforma)

.        WSIHORI                   :           Origine de la facture ( 1=Directe, 2=Commande,

3=Livraison, 4=Facture, 5=Devis, 6=Retour)

.        WSOHNUM               :           N° de la commande d’origine pour une facture de

commandes. Dans le cas d’une facture avec plusieurs commandes il s’agit de la 1ère.

.        WSDHNUM               :           N° de la livraison d’origine pour une facture de

livraisons. Dans le cas d’une facture avec plusieurs livraisons il s’agit de la 1ère.

.        WSTRDUDDAT         :           Date de départ d’échéances. C ‘est cette variable

qu’il faut alimenter pour donner la nouvelle date de départ.

L’ensemble de ces variables devraient suffirent pour permettre le traitement du point d’entrée.

Les masques écran sont utilisables. [M :SIH4] contient le tableau des lignes détails. Il est indicé de 0 à [M :SIH4]NBLIG-1 ([M :SIH4]NBLIG correspond au nombre de lignes de la facture).

Les classes écrans et fichiers de la facture ne sont pas à modifier. Il suffit de renseigner WSTRDUDDAT.

Tables ouvertes

Pour les tables qui ne sont pas utilisées dans tous les traitements, on donne les noms des traitements qui les utilisent en sachant que :

.        FUNAUTINVO :           Facturation automatique des commandes

.        FUNAUTINVD :           Facturation automatique des livraisons

.        SUBSOH                    :           Bouton facture depuis les commandes

.        SUBSDH                    :           Bouton facture depuis les livraisons

.        SUBSIH                      :           Fonction facture

 

Table

Traitement

Contenu significatif

Intitulé Table

TABSIVTYP

 

 

Table types facture

TABMODELIV

 

 

Table modes de livraison

TABCUR

SUBSIH

SUBSOH

SUBSDH

 

Table devises

TABSOHTYP

SUBSOH

 

Tables types commande

ACTIV

FUNAUTINVO

FUNAUTINVD

 

Table codes activités

BPCUSTOMER

 

 

Clients

BPARTNER

 

 

Tiers

BPCUSTMVT

 

 

Mouvements clients

BPDLVCUST

FUNAUTINVD

SUBSIH

SUBSOH

SUBSDH

 

Clients livrés

CONTACT

SUBSOH

 

Contacts

ITMMASTER

 

 

Articles

ITMFACILIT

FUNAUTINVO

SUBSIH

SUBSOH

SUBSDH

 

Article-site

ITMSALES

SUBSIH

SUBSOH

SUBSDH

 

Article-vente

ITMBPC

SUBSIH

SUBSOH

SUBSDH

 

Article client

ITMMVT

SUBSIH

SUBSOH

SUBSDH

 

Mouvements articles

FACILITY

SUBSIH

SUBSOH

SUBSDH

 

Sites

SALESREP

SUBSIH

SUBSOH

SUBSDH

 

Représentants

PRICSTRUCT

SUBSIH

SUBSOH

SUBSDH

 

Structure tarif

SPRICLINK

SUBSIH

SUBSOH

SUBSDH

 

Recherche tarif vente

SORDER

 

 

Entêtes commande

SORDERC

SUBSDH

 

Cumul A/R commande

SORDERP

FUNAUTINVO

SUBSIH

SUBSOH

SUBSDH

 

Lignes prix commande

SORDERQ

 

 

Lignes quantité commande

SDELIVERY

FUNAUTINVD

SUBSIH

SUBSDH

 

Entêtes livraison

SDELIVERYD

FUNAUTINVD

SUBSIH

SUBSDH

 

Lignes détails livraison

SINVOICE

 

Oui

Entêtes facture

SINVOICEV

 

Oui

Entêtes facture

SINVOICED

 

 

Lignes détail factures

SWRKINV

FUNAUTINVO

FUNAUTINVD

 

Fichier de travail facturation auto

GTYPACCENT

FUNAUTINVO

FUNAUTINVD

SUBSIH

 

Type de pièce

GACCCODE

FUNAUTINVO

FUNAUTINVD

SUBSIH

 

Codes comptables

GACCCOUNT

FUNAUTINVO

FUNAUTINVD

SUBSIH

 

Comptes généraux

STOALL

SUBSDH

 

Allocations

 

AFFACOMPTE : Affectation des acomptes à la facture

Ce point d’entrée concerne la création d‘une facture de vente.

Il permet d’intervenir sur le montant des acomptes affectés à la facture.

Il est situé dans le traitement TRTVENFACC et est appelé depuis chaque traitement permettant la génération d’une facture.

Contexte et mode de fonctionnement

Transaction

Il y a une transaction en cours (Transaction de création de la facture). La variable GOK est utilisée et testée. Elle est égale à 1. Elle peut être positionnée à 0 si on désire abandonner la transaction. 

Fichier trace

Il n’y a pas de fichier trace ouvert

Différents cas d’appel

Ce point d’entrée est appelé depuis chaque traitement permettant la génération d’une facture :

.        Fonction Facture

.        Fonction facturation automatique des commandes

.        Fonction facturation automatique des livraisons

.        Bouton facture depuis la fonction commande

.        Bouton facture depuis la fonction livraison

Dans la fonction facture, après l'activation du bouton créer ou enregistrer, on est dans l'action INICREou INIMOD juste avant l’écriture des enregistrements [F :SIH] et [F :SIV] . Les lignes détails n’ont pas encore été créées.

Dans les autres cas, toutes les lignes détails sont créées avec les mises à jour associées. On se situe juste avant l’écriture des enregistrements [F :SIH] et [F :SIV]

Pour chaque facture, il est possible d'affecter au maximum 4 acomptes. Une boucle sur les lignes de la facture permet de retrouver la commande origine de chaque ligne ainsi que l'éventuel acompte associé à cette commande.

Le point d'entrée est situé dans cette boucle après la sélection de l'acompte. Il permet ainsi de modifier la valeur de l'acompte à déduire de la facture.        

Variables et masques disponibles

Les buffers [F :SIH] et [F :SIV] sont chargés au moment de l’appel du point d’entrée.

La classe écran liée à l’OBJet facture est chargée. [M :SIH0], [M :SIH1] et [M :SIH2] sont chargés avec les données de l’entête. [M :SIH4] est chargé avec les lignes détail.

Les masques écran sont utilisables. [M :SIH4] contient le tableau des lignes détails. Il est indicé de 0 à [M :SIH4]NBLIG-1 ([M :SIH4]NBLIG correspond au nombre de lignes de la facture).

On dispose en plus des variables suivantes :

Tableaux de 4 postes correspondant au stockage des 4 acomptes à affecter à la facture.

.        ZNOCDE ( )           :           No de la commande (no de pièce de GACCDUDATE)

.        ZDUDLIG ( )          :           No de l'échéance de GACCDUDATE 

.        ZAPRENDRE( )     :           Valeur maximum d'acompte pouvant être affectée à la facture 

.        ZPRIS ( )                :           Valeur affectée à la facture 

Autres variables

.        JLL                         :           Indice de la ligne facture contenant le no de la commande ayant l'acompte 

.        JLZ                         :           No du poste dans les tableaux ci-dessus (de 1 à 4) 

A l'appel du point d'entrée, les champs 

- JLL             contient l'indice de la ligne du masque [M:SIH4]

- JLZ             no du poste ( l'indice dans les tableaux est JLZ-1 )

- Ne pas modifier la valeur de ZPRIS()

La valeur de ZAPRENDRE(ZJL-1) ne doit jamais être supérieur à la valeur à déduire [F:DUD]IBDAMT

Après utilisation du point d'entrée, les tableaux sont utilisés pour mettre à jour la table facture SINVOICEV [F:SIV] , ainsi que la table des échéances GACCDUDATE [F:DUD].

 Tales ouvertes

Table

Contenu significatif

Intitulé Table

SINVOICE

Oui

Entêtes facture

SINVOICEV

Oui

Entêtes facture

SINVOICED

Non

Lignes détail factures

BPCUSTOMER

Oui

Clients

BPARTNER

Non

Tiers

BPDLVCUST

Non

Clients livrés

BPCUSTMVT

Non

Mouvements clients

TABSIVTYP

Non

Table types facture

ITMMASTER

Non

Articles

GACCDUDATE

Oui

Echéances