Cegid XRP Ultimate  |  
I3   Actualisé le 06/10/2022
Achats
TMBT - Actions réalisées par le traitement de mise à jour du bon de travail

Introduction
   Il existe plusieurs traitements de mise à jour des quantités et des prix ; à partir soit des demandes d'achats, soit des réceptions, soit des factures pour les bons de travail liés à des demandes ou commandes d'achats.
Pour les différencier, chaque traitement possède une valeur du paramètre PRM précise.
Cette valeur sert ensuite de préfixe à tout le paramétrage utilisé pour la mise à jour du bon de travail.

   Un marquage des bons de travail peut être effectué si toutes les réceptions ont été réalisées en fonction du paramètre AUTSASTB.

   La clôture du bon de travail (TCLOB) ne peut pas avoir lieu tant que le prix facture n'est pas remonté. Par contre, la clôture technique (TCLOT) est possible dès que la commande et les sous-commandes ont été réceptionnées et que toutes les quantités réceptionnées ont été remontées (à partir d'une réception ou d'une facture).

Recherche des lignes d'ordre liées à la ligne d'achats
   Pour chaque ligne de la commande ou de la demande d'achats, les lignes d'ordre (QMILOR) liées sont recherchées.

   Ces liens (GORLM) sont définis uniquement pour la commande d'origine, c'est-à-dire, dans la majorité des cas, pour celle dont le sous-numéro vaut 1. Le type du lien est déterminé par le paramètre AUTSAQAM, occurrence LIE.

   La recherche des lignes d'ordre consiste donc, dans un premier temps, à retrouver la commande d'origine (seulement si la commande traitée est une sous-commande), puis, dans un second temps, à obtenir toutes les lignes d'ordre liées à la ligne d'achats pour cette commande.

   Une sous-commande peut avoir été créée suite à :
- un solde réception (TSOLA) ;
- un solde facture (TSOLF) ;
- un changement de devise (TTPD) ;
- l'annulation d'une commande réceptionnée (TACRA) ;
- la génération d'avoir sur facture non réceptionnée (TGAFNR) ;
- la génération de commandes d'avoir (TGCAVA).

   Dans le cas d'un solde réception ou d'un solde facture, le numéro de la commande créée est inscrit dans les informations complémentaires (sous-commandes générées) (GCDA) de la commande initiale.

   En ce qui concerne le changement de devise (TTPD), l'annulation d'une commande réceptionnée (TACRA), la génération d'avoir sur facture non réceptionnée (TGAFNR) et la génération de commandes d'avoir (TGCAVA), un lien de commande (GLCD) est créé avec le type de lien défini respectivement par les paramètres AUTSATPD occurrence LCDCDA, AUTSAREC occurrence ANUCDE, AUTSAREC occurrence AFNRLCD et AUTSACAV occurrence TYPLCD.
Lors de l'exécution des traitements TTPD, TACRA et TGAFNR, un contrôle est effectué pour vérifier que les paramètres sont correctement définis pour créer les liens entre les commandes annulées et les nouvelles commandes.

   Par récursivité, les soldes réceptions, les soldes factures, les annulations, les avoirs et les changements de devise sont parcourus jusqu'à trouver la commande d'origine. Il ne reste plus qu'à rechercher chaque ligne d'ordre rattachée à cette commande et à la ligne d'achats traitée par l'utilisation des liens des ordres de maintenance (GORLM).

   Remarque : un lien (GORLM) entre une ligne d'ordre et la ligne d'achats d'une sous-commande ne permet pas la mise à jour du bon de travail, à moins que cette ligne d'achats ait directement été créée sur cette sous-commande. Il faut toujours lier la ligne d'ordre avec la commande d'origine (ou éventuellement avec la demande d'achats).

Paramétrage de la remontée
   Le paramétrage de la mise à jour du bon de travail dépend du paramètre PRM associé au traitement pour toutes les occurrences du paramètre AUTSAQAM.

   a) Choix de la quantité
L'origine de la quantité à remonter dans la ligne d'ordre est déterminée par l'occurrence QTE de AUTSAQAM.
S'il s'agit de la quantité commandée, la remontée s'effectue directement dans la ligne d'ordre (QMILOR) par une modification du prix estimé et de la quantité prévisionnelle.
Pour une quantité réception ou facture, la remontée des prix et des quantités de la ligne d'achats (GLCA) sur la ligne d'ordre (QMILOR) se traduit par la création ou la modification d'un détail (QMILOL). La quantité réceptionnée se retrouve au niveau de la quantité prévisionnelle du détail, la quantité facturée au niveau des quantités sortie magasin et réelle.
Le prix commande est remonté dans le prix estimé et le prix facture dans le prix réel.

   b) Choix du prix
L'occurrence PRX de AUTSAQAM détermine quel prix doit être remonté. Il indique également quel(s) type(s) de prix utiliser. Selon la quantité choisie, le type de prix de la chaîne 1 devra être réel (facture) ou estimé (commande ou réception). Le type de prix de la chaîne 2 devra être renseigné si la remontée du prix commande doit se faire au moment de la remontée du prix facture.

   c) Ajout des conditions de facturation
Les conditions de facturation à ajouter au prix remonté dépendent du paramètre AUTSAQAM, occurrence CAF.

   d) Ajout des taxes
La prise en compte des taxes dans le calcul du prix à remonter est définie par le paramètre AUTSAQAM, occurrence TTC.

   e) Type de lien
Le type de lien utilisé pour la recherche des lignes d'ordre liées à la commande est indiqué dans le paramètre AUTSAQAM, occurrence LIE.

   f) Définition des étapes
Les traitements de mise à jour du bon de travail à partir d'une réception (TMBT) et à partir d'une facture (TMBTF) doivent successivement être placés après les traitements des soldes des commandes d'achats après réception (TSOLA) et après facture (TSOLF). Si ce n'était pas le cas, la clôture de l'opération d'ordre (TCLOT) serait possible comme si la réception ou la facture était totale. La remontée pour les commandes soldes ne serait plus possible car la ligne d'ordre serait traitée.

   g) Choix de la répartition
Si plusieurs lignes d'ordre sont liées à une même ligne d'achats, la quantité ou le prix remonté est réparti également sur chaque ligne d'ordre (QMILOR).

   Cela permet de répartir des coûts d'achats sur des équipements différents, notamment suite à une génération des équipements dans les opérations (TGEO).

   Le choix de la répartition est défini par la zone "Frais PUMP" de l'article acheté (GATA) pour l'article de la ligne d'achats. Si l'article ou le type de l'équipement de la ligne d'ordre est différent, cette zone doit être identique pour l'article acheté correspondant. Si l'article acheté n'existe pas, c'est le paramètre AUTQMGEO ayant pour occurrence la catégorie du type d'équipement (GTEQ) qui doit être cohérent.

   A cause des arrondis, la somme des quantités ou des prix répartis peut être différente des quantités ou des prix initiaux avant la répartition. La différence est dans ce cas ajoutée sur le détail (QMILOL) de la dernière ligne d'ordre (QMILOR).

   Par exemple, pour une répartition en montant :
Le montant d'une ligne d'achats est de 100 EUR (la quantité est 1).
Cette ligne est liée à 3 lignes d'ordre.
L'arrondi du prix est de 2 décimales après la virgule.
Le prix à répartir est de 100 EUR / 3 = 33,33 EUR.
Si le prix de chaque ligne d'ordre s'élevait à 33,33 EUR, alors le montant global ne vaudrait plus que 33,33 * 3 = 99,99 EUR.
Pour pallier ce problème, le prix pour la dernière ligne d'ordre est majoré de 0,01 EUR. Cela donne 2 lignes d'ordre dont le prix du détail vaut 33,33 EUR et 1 ligne pour laquelle il vaut 33,34 EUR.

Remontée des quantités et des prix dans les détails des lignes d'ordres
   La mise à jour du bon de travail à partir d'une réception (TMBT) ou d'une facture (TMBTF) se traduit par la création ou la modification d'un détail (QMILOL) pour la ligne d'ordre (QMILOR) concernée.
La quantité prévisionnelle correspond à la quantité réceptionnée, la quantité sortie magasin et la quantité réelle correspondent à la quantité facturée.
Le prix commande se retrouve dans le prix estimé et le prix facture dans le prix réel.
La zone information contient le numéro interne de la commande d'achats (GCDA).

   Lorsque le traitement est lancé pour la mise à jour à partir d'une facture, si la facture est partielle, un autre détail concernant la sous-commande solde est créé (s'il n'a pas déjà été créé par la mise à jour du bon de travail (TMBT ou TMBTF) pour cette sous-commande).
La quantité prévisionnelle prend alors la valeur de la quantité solde facture, la zone information contient le numéro interne de la sous-commande solde et le type vaut "SF". Cela permet d'avoir une indication des quantités restant à facturer depuis le compte rendu (GCPR).

   Pour une pièce de rechange dont la sortie du type équipement vaut "Rien" (GTEQ), tout détail inséré manuellement est supprimé.

   Remarques :
A partir d'une réception, la mise à jour ne s'effectue que si la quantité réceptionnée est renseignée et différente de 0.
A partir d'une facture, si le prix facture n'est pas renseigné, la mise à jour du prix réel se fait avec la valeur 0, de façon à ne pas bloquer la clôture du bon de travail (TCLOB) plus tard.

Mise à jour de la ligne d'ordre
   Le nombre total des sous-commandes réceptionnées issues de la commande d'origine est calculé. Cela permet de savoir si la remontée des bons de travail est terminée.
C'est le cas lorsque le nombre de détails (QMILOL) de la ligne d'ordre issus de commandes autres que des soldes factures (numéro interne dans la zone information) est égal au nombre de commandes réceptionnées ou en attente de réception issues de la commande d'origine (commande d'origine comprise). L'indicateur de stock de la ligne d'ordre passe alors à "T" et la clôture technique du bon de travail (TCLOT) peut avoir lieu.

   Remarque : les commandes pour lesquelles la ligne d'achats a une quantité réceptionnée nulle ou égale à 0, alors que la quantité solde réception est renseignée et différente de 0, ne sont pas prises en compte (ni dans le calcul, ni par la remontée).
Seules l'annulation d'une commande réceptionnée (TACRA) et la génération d'avoir sur facture non réceptionnée (TGAFNR) peuvent repasser l'indicateur de la ligne d'ordre à "R".
Si la clôture technique (TCLOT) a eu lieu, ces traitements ne pourront se faire qu'après une annulation de la clôture (TACL).