Trouver les fournisseurs d'un produit avec SupplierProduct
Réponse courte
L'association entre un produit et ses fournisseurs est l'entité SupplierProduct : la fiche « produit-fournisseur » d'Acomba, celle de l'onglet Fournisseur de la fiche produit, avec le numéro de catalogue, le code UPC et le coûtant propres à chaque fournisseur.
- Du produit vers ses fournisseurs : la fiche
ProductporteListeProduitsFournisseurs, la liste des identifiants (NoUniqueSystemeSource) de ses SupplierProduct. On les passe ensuite à un filtrein. - Du SKU fournisseur vers le produit :
SupplierProductne contient aucun pointeur vers le produit ; le lien n'existe que côté produit. On filtre doncProductparNoProduit_Fournisseur(le numéro de catalogue chez le fournisseur) ou parNo_Fournisseur.
Du produit vers ses fournisseurs
GET Entity/Product retourne, pour chaque produit, ListeProduitsFournisseurs : une liste dont
chaque élément ne contient que NoUniqueSystemeSource, l'identifiant interne de la fiche
produit-fournisseur. Le détail se lit ensuite sur SupplierProduct, avec eq (un seul) ou in
(plusieurs) :
GET /api/Entity/SupplierProduct?$filter=NoUniqueSystemeSource in ('1','2','3')
Chaque fiche retournée donne No_Fournisseur, NoProduit_Fournisseur (numéro de catalogue),
CodeUPC_Fournisseur, Description, les codes d'unité et prix_ProchainCoutant, le coûtant chez
ce fournisseur (celui de l'onglet Fournisseur).
Du SKU fournisseur vers le produit (matching d'une facture ou d'un OCR)
Cas typique : un OCR lit sur une facture le numéro de catalogue du fournisseur, et il faut retrouver
le produit Acomba. SupplierProduct ne permet pas de remonter au produit : la fiche
produit-fournisseur n'a pas de numéro de produit. C'est la fiche Product qui se filtre par ces
champs, sur des index d'Acomba (recherche rapide, égalité exacte seulement) :
GET /api/Entity/Product?$filter=NoProduit_Fournisseur eq 'ABC-123'
GET /api/Entity/Product?$filter=No_Fournisseur eq '888'
Le premier retourne le produit qui porte ce numéro de catalogue chez l'un de ses fournisseurs ; le
second, tous les produits d'un fournisseur. Un
$select=NoProduit,Description1,ListeProduitsFournisseurs suffit souvent.
Filtres disponibles sur SupplierProduct
| Champ | Opérateurs | Note |
|---|---|---|
NoUniqueSystemeSource | eq, in | identifiant interne, celui de ListeProduitsFournisseurs |
No_Fournisseur | eq | toutes les fiches produit-fournisseur d'un fournisseur |
NoProduit_Fournisseur | eq | numéro de catalogue chez le fournisseur |
CodeUPC_Fournisseur | eq | code UPC propre au fournisseur |
Fiche_DerniereModification | gt, gte, lt, lte | appliqué après lecture de chaque fiche |
Un seul filtre choisit l'index Acomba ; les autres s'appliquent ensuite sur les fiches lues. Les noms exacts et les opérateurs sont dans la matrice de support : SupplierProduct sur Acomba.