REB à la validation des provisions
Cette REB est déclenchée à la validation du rapprochement des provisions, une fois que le numéro standard de facture est généré par DIAPASON, si elle est renseignée dans la désignation du paramètre général CPT-FFO-VAL et si la valeur logique de ce paramètre est également cochée.
Cette REB de validation reçoit les variables critères standard suivantes :
SCR.EntAct (Action Exécutée) : contient « VAL »
SCR.PRONumFac (Numéro de Facture) : contient le numéro temporaire de la facture. Permet de se positionner sur la facture
SCR.PRONumFacVal (Numéro de Facture Validée) : contient le numéro de facture généré par DIAPASON
Elle doit renvoyer le nouveau numéro de facture dans la variable « SCR.PRONumFacVal ».
Lors de l’exécution de la requête :
si une instruction « LC-Erreur » a été rencontrée, l’erreur est affichée et la facture n’est pas validée
si une instruction « LC-WARNING » a été rencontrée, le message est affiché et la facture est validée
si une facture existe déjà avec le numéro donné, une erreur est affichée et la facture n’est pas validée.
les provisions sélectionnées sont soldées
d'éventuelles provisions d’écart sont générées
les écritures comptables à confirmer sont générées
Il n’est pas possible de valider un contrôle de facturation fournisseur, si des conditionnements non validés existent pour un des bordereaux de livraison de la facture, c’est-à-dire qu’une modification de réception par conditionnement est en cours.
Exemple de requête de validation :
L’exemple suivant permet de générer un numéro de facture à partir d’une racine renseignée dans une variable spécifique de la facture :
VLO.NumFac = SCR.PRONumFac
VLO.Fct = REC-VAR-SPE( TYPE-VARIABLE= O_ECtrF , TYPE= CARACTERE , NOM-VARIABLE= FacRac , CLE-1= VLO.NumFac , CLE-2= CLO."" , CLE-3= CLO."" , S:VALEUR= VLO.Racine )
SI VLO.Racine = CLO.""
LC-Warning = CLO."Racine vide : pas de génération de numéro"
FIN_BLOC
SINON
RECH TBD/SOC DTD PROFaEn AVEC DTD PROFaEn.ProNumFac = SCR.PRONumFac :
VLO.Compteur = CLO.0
VLO.LongRacine = LONGUEUR( CHAINE= VLO.Racine ) + CLO.1
VLO.CarCpt = CLO.""
RECH DER TBD/SOC DTD PROFaEn AVEC DTD PROFaEn.ProNumFac COMMENCE_PAR VLO.Racine :
VLO.NouFac = DTD PROFaEn.ProNumFac
VLO.CarCpt = SS-CHAINE( CHAINE= VLO.NouFac , DEBUT= VLO.LongRacine )
FIN_BLOC
VLO.Compteur = ENTIER( VALEUR= VLO.CarCpt ) + CLO.1
SI VLO.Compteur >= CLO.99999
LC-Erreur = CLO."Compteur Dépassé. Impossible de générer le numéro de facture"
FIN_BLOC
SINON
INIT SCR.PRONumFacVal = VLO.Racine + CHAINE( VALEUR= VLO.Compteur , FORMAT= E0/5 )
FIN_BLOC
FIN_BLOC
FIN_BLOC