Comment mettre à jour automatiquement les fournisseurs attachés à un article lors d'un achat ?

0000002403     -      22/08/2016

Lors de l'enregistrement d'une nouvelle ligne d'un document d'achat de gestion commerciale (lignes_a), il faudrait qu'une ligne soit ajoutée dans la fiche de l'article courant sur l'onglet "Fournisseurs".

Celle-ci reprendra le fournisseur, le prix unitaire, la remise, la devise, le nombre de décimale (pour autant que ce fournisseur ne soit pas déjà attaché à cet article).

Voici le trigger qui gère ce comportement :

 

create trigger TR_LIGNESA_ARTFOU

on LIGNES_A

FOR INSERT not for replication

AS

insert ARTFOU(id_art,id_fou,prix,remise,id_dev,n_dec,id_artfou)

(select inserted.id_article,pieds_a.id_fou,inserted.pu,inserted.remise,pieds_a.id_dev,pieds_a.n_dec_pu,right(newid(),10)

    from inserted,pieds_a

    where (inserted.id=pieds_a.id) and (inserted.journal=pieds_a.journal)

        and (inserted.piece=pieds_a.piece) and (pieds_a.type<=2)

        and (inserted.id_article IS NOT NULL)

        and not exists (select * from artfou where (id_art=inserted.id_article) and (id_fou=pieds_a.id_fou)))