SupplierOrder — Acomba
Entité unifiée FicheTransactions · entité native Acomba : Transaction030.
Page générée, ne pas éditer — voir la version du dataset pour la provenance.
Voir aussi : page SupplierOrder · Avantage.
Opérations
| Opération | Statut | Champs exhaustifs | Flags | Limitations |
|---|---|---|---|---|
| EXTRACT (GET) | Supportée | non | Dispatch : GetInvoices.ExtractByQuerySettings (groupe Customer*/Supplier*). entityType=SupplierOrder => Acomba InvoicingType.ITp_Purchase (un 'Achat'). ; Un seul filtre par index à la fois, sauf la paire NoFacture + CompteRecevable_No. ; Requiert une version d'Acomba supportant Invoicing036 (Key_InTimeModified), sinon ApplicationException. | |
| CREATE (POST) | Supportée | non | simulate ; auto_fetch: InfoClientFacturerA (fournisseur résolu via Supplier.SuNumber/CardPos), InReceivableOffset (Supplier.SuReceivable), InTaxGroupCP (Supplier.SuTaxGroupCP ou ControlCustomer), LigneFacture[].strNoGroupeProduit (déduit du produit si absent), LigneFacture[].PrixFinal/PrixOrig (déduits du produit/client si absents) | |
| UPDATE (PUT) | Supportée | non | ||
| DELETE (DELETE) | Non supportée | — |
Un champ absent du tableau est ? (inconnu), pas non supporté. En cas de doute, nous écrire.
TypeDoc.
Les autres champs créables sont facultatifs.
Champs
| Champ unifié | Champ natif | CREATE | UPDATE | EXTRACT | FILTER | Requis | Valeurs permises | Note |
|---|---|---|---|---|---|---|---|---|
NoFacture | InInvoiceNumber | OK | OK | OK | eq, in | Numéro du document (no d'achat). Filtre par index : fetch immédiat. Assignable au CREATE pour les achats (type != Facture). | ||
NoUniqueSystemeSource | CardPos | OK | OK | OK | eq, in | CardPos Acomba (clé surrogate). Sert de clé d'identification pour UPDATE (UpdateTransaction via ReserveCard). | ||
CompteRecevable_No | InReceivableOffset | OK | X | OK | eq | Au CREATE achat, déduit du fournisseur (Supplier.SuReceivable). En filtre : seulement en paire avec NoFacture, opérateur eq. | ||
TypeDoc | InInvoiceType | OK | OK | OK | — | oui | Achats | Pour SupplierOrder, mappé à AcoSDK.InvoicingType.ITp_Purchase (SI_ExtractContentType.Achats). |
SousTypeTransaction | InTransactionType | X | X | OK | — | Extract : enum TransARType converti en libellé (Facture/Crédit/Dépôt...). La valeur spéciale 'INVOICE_AR' au CREATE déroute vers AcombaSDK_ArInvoices (hors SupplierOrder). | ||
DateFacture | InDate | OK | OK | OK | ge, gt, le, lt | Filtre par index date (index 6). Plage haute+basse possible. | ||
Fiche_DerniereModification | InTimeModified | X | X | OK | ge, gt, le, lt | Horodatage système (index 17). Lecture/filtrage par plage seulement. | ||
EstActif | InStatus | X | X | OK | — | Extract : EstActif = (InStatus == 0). Les transactions supprimées (InStatus != 0) sont ignorées. | ||
Référence | InReference | OK | OK | OK | — | Tronqué à 30 caractères au CREATE. Filtre post-extraction présent dans le code (eq/ne) mais non déclaré dans ListAllowedFilter. | ||
Description | InDescription | OK | OK | OK | — | Tronqué à 255 caractères au CREATE. Filtre post-extraction présent dans le code (eq/ne) mais non déclaré dans ListAllowedFilter. | ||
DateExpirationDocument | InDateMax | OK | OK | OK | — | |||
SousTotalFacture | InInvoiceSubTotal | X | X | OK | — | Calculé par Acomba. En sortie au résultat de création. | ||
TotalFacture | InInvoiceTotal | X | X | OK | — | Calculé par Acomba. | ||
MontantNonPaye | — | X | X | OK | — | Dérivé (InInvoiceTotal - InAllPaid, ou 0 si InAllPaid). Filtrable en post-extraction (eq/ne/gt/gte/lt/lte dans le code) mais non déclaré dans ListAllowedFilter, donc filter laissé vide. | ||
FraisDeTransport | InSales_Shipping | OK | OK | OK | — | Extract : somme InSales_Shipping[1..5] + lignes IL_Shipping. CREATE/UPDATE : ajouté via ligne IL_Shipping (AjouterFraisTransport). | ||
Montant_MonnaieRecu | InCashProvided | OK | OK | OK | — | Via Transaction030.InCashProvided. Branche client uniquement au CREATE (pas assigné en mode Achat). | ||
Montant_Retrait | InWithdrawalAmount | OK | OK | X | — | Poussé au CREATE/UPDATE. Non remappé en extract. | ||
Montant_ChangeRemit | InChangeReturned | OK | OK | X | — | Poussé au CREATE/UPDATE. Non remappé en extract. | ||
NoVendeur | InSalesRepNumber | OK | OK | OK | — | Push via InSalesRepNumber (si pas de CardPos) ou InSalesRepCP. Extract : résolu depuis InSalesRepCP. Filtre post-extraction présent (eq/ne) mais non déclaré dans ListAllowedFilter. | ||
NoVendeur_NoUniqueSystemeSource | InSalesRepCP | OK | OK | OK | — | CardPos du vendeur. | ||
NoTerritoire | — | OK | OK | OK | — | Résolu via cache CardPos->numéro (Territory_CardPos_ToNumber_QuickFetch). Membre natif numéro non confirmé. Filtre post-extraction présent (eq/ne) mais non déclaré dans ListAllowedFilter. | ||
NoTerritoire_NoUniqueSystemeSource | InTerritoryCP | OK | OK | OK | — | |||
NoProjet | InProjectNumber | OK | OK | OK | — | Assigné par numéro si pas de CardPos. | ||
NoProjet_NoUniqueSystemeSource | InProjectCP | OK | OK | OK | — | |||
NoModeExpedition_NoUniqueSystemeSource | InShippingCP | X | X | OK | — | Lu en extract (+ NoModeExpedition/NomModeExpedition résolus). Non observé dans la conversion CREATE. | ||
NoSoumissionRéférence | InAssociatedBid | OK | OK | OK | — | |||
NoCommandeRéférence | InAssociatedOrder | OK | OK | OK | — | |||
NoCommandeRéférence_NoUniqueSystemeSource | InOrderCP | OK | OK | X | — | Push du CardPos de la commande liée (conversion commande->facture). Extract via InOrderCP utilisé pour back order, pas remappé sur ce champ. | ||
CodeUsagerCreation | InUniqueUser | X | X | OK | — | Extract : nom d'usager résolu depuis InUniqueUser. | ||
TermeDePaiement.NoTermeDePaiement | InTermNumber | OK | OK | OK | — | Via Transaction027.InTermNumber. Extract résout aussi NomTermeDePaiement, escompte, jours (InTermPercent, InNumberOfDays, InDueDays). | ||
InfoClientFacturerA.NoClient | SuNumber | OK | OK | OK | — | Pour un Achat, InfoClientFacturerA porte le FOURNISSEUR : résolu via AcoSDK.Supplier.SuNumber (PKey_SuNumber) ou son CardPos. Extract : InCustomerSupplierNumber/CP. | ||
InfoClientFacturerA.NoUniqueSystemeSource | InCustomerSupplierCP | OK | OK | OK | — | CardPos du fournisseur (Supplier.CardPos). | ||
InfoClientFacturerA.NomClient | InName | OK | OK | OK | — | |||
InfoClientFacturerA.Adresse | InAddress | OK | OK | OK | — | |||
InfoClientFacturerA.Ville | InCity | OK | OK | OK | — | |||
InfoClientFacturerA.CodePostal | InPostalCode | OK | OK | OK | — | |||
InfoClientFacturerA.Pays | InISOCountryCode | OK | OK | OK | — | |||
InfoClientFacturerA.NomPersonneContact | InCareOf | OK | OK | OK | — | |||
InfoClientFacturerA.ListeTelephonique[].Numero | InPhoneNumber[PhoneType] | OK | OK | OK | — | Indexé par PhoneType (Ph_Number, Ph_Fax, Ph_User1, Ph_User2). Aussi InPhoneDescription/InPhoneExtention. | ||
InfoClientLivrerA.NoClient | CuNumber | OK | OK | OK | — | Pour un Achat, InfoClientLivrerA porte le CLIENT à livrer (résolu via AcoSDK.Customer.PKey_CuNumber) -> InInvoicedToCP. | ||
InfoClientLivrerA.NoUniqueSystemeSource | InInvoicedToCP | OK | OK | OK | — | CardPos du client livré-à (Customer.CardPos). | ||
InfoClientLivrerA.NomClient | InShipName | OK | OK | OK | — | |||
InfoClientLivrerA.Adresse | InShipAddress | OK | OK | OK | — | |||
InfoClientLivrerA.Ville | InShipCity | OK | OK | OK | — | |||
InfoClientLivrerA.CodePostal | InShipPostalCode | OK | OK | OK | — | |||
InfoClientLivrerA.Pays | InShipISOCountryCode | OK | OK | OK | — | |||
InfoClientLivrerA.NomPersonneContact | InShipCareOf | OK | OK | OK | — | |||
InfoClientLivrerA.ListeTelephonique[].Numero | InShipPhoneNumber[PhoneType] | OK | OK | OK | — | Indexé par PhoneType. Aussi InShipPhoneDescription/InShipPhoneExtention. | ||
LigneFacture[].strNoProduit | ILProductNumber[i] | OK | OK | OK | — | No produit de la ligne. | ||
LigneFacture[].strNoProduit_NoUniqueSystemeSource | ILProductCP[i] | OK | OK | OK | — | CardPos produit. | ||
LigneFacture[].strNoGroupeProduit | ILProductGroupNumber[i] | OK | OK | OK | — | Groupe de produit (obligatoire si ligne non-commentaire). Déduit du produit si absent. | ||
LigneFacture[].strNoGroupeProduit_NoUniqueSystemeSource | ILProductGroupCP[i] | OK | OK | OK | — | |||
LigneFacture[].DescriptionLigne | ILDescription[i] | OK | OK | OK | — | Tronquée à 90 caractères au CREATE. | ||
LigneFacture[].QteCommande | ILOrderedQty[i] | OK | OK | OK | — | |||
LigneFacture[].QteFacture | ILInvoicedQty[i] | OK | OK | OK | — | |||
LigneFacture[].PrixOrig | ILPriceBeforeDiscount[i] | OK | OK | OK | — | Aussi ILOriginalPrice (Transaction030) au CREATE. | ||
LigneFacture[].PrixFinal | ILSellingPrice[i] | OK | OK | OK | — | |||
LigneFacture[].PrixCoutant | ILCost[i] | OK | OK | OK | — | |||
LigneFacture[].MontantRabais_pct | ILDiscountPercent[i] | OK | OK | OK | — | Stocké x100 côté Acomba. | ||
LigneFacture[].NoProduitFournisseur_NoUniqueSystemeSource | ILProductSupplierCP[i] | OK | OK | OK | — | |||
LigneFacture[].NoProjet_NoUniqueSystemeSource | ILProjectCP[i] | OK | OK | OK | — | Aussi ILProjectNumber par numéro. | ||
LigneFacture[].NoSerieProduit_NoUniqueSystemSource | ILProductCPLinkedToSerialNumber[i] | OK | OK | OK | — | ILSerialNumberType forcé à SrT_Purchase (achat positif) ou SrT_Return (achat négatif). | ||
LigneFacture[].MustHideInvoicingLineToFinalPrinting | ILBypassPrinting[i] | OK | OK | ? | — | Push au CREATE (-1/0). Mapping extract non vérifié. |
Axes : OK supporté · X non supporté · ~ partiel · DEPR déprécié · EXP expérimental · ? inconnu.
Opérateurs en syntaxe $filter : eq égal · ne différent · gt/ge plus grand (ou égal) · lt/le plus petit (ou égal) · in dans une liste (InList) · contains contient · startswith commence par · — non filtrable.
Expands (sous-objets extractibles)
| Expand unifié | Type natif | Statut | Note |
|---|---|---|---|
ListeReglement | — | Supportée | QuerySettings.Expand 'ListeReglement' -> GetPaiement.ExtractionReglement_ByInvoiceCardPosList, recalcule MontantNonPaye. |
ProductGroup_PurchaseGlAccount | — | Supportée | QuerySettings.Expand 'ProductGroup_PurchaseGlAccount' -> précharge les comptes GL d'achat (ProductGroup.PGPurchaseAccountNumber) par groupe de produit. Pertinent pour les Achats. |
Notes
SupplierOrder = un 'Achat' Acomba (InvoicingType.ITp_Purchase). DTO unifié partagé avec CustomerInvoice/CustomerOrder/CustomerBid : Solinfo.BusinessExtractor.Transactions.FicheTransactions. Dispatch (vérité GlobalInterfacor/ExtractManager) :
- EXTRACT : GetInvoices.ExtractByQuerySettings(QuerySettings, EntityType.SupplierOrder, ...).
- CREATE/UPDATE : SetInvoices.CreateTransactionFromERPConnectorTask -> CreerUneTransaction -> CreationFacture (nouveau) / UpdateTransaction (existant, clé NoUniqueSystemeSource/CardPos).
- DELETE : NotImplementedException global.
Particularité Achat : InfoClientFacturerA = FOURNISSEUR (résolu via AcoSDK.Supplier, clé SuNumber),
InfoClientLivrerA = client à livrer (AcoSDK.Customer). Pas de InvoiceTo en mode Achat.
Simulation : header SIMULATE_ONLY=true => calcul/validation sans création (CreationFacture param_SkipAcombaCreation).
Payload CREATE = objet unique (clé 'FACTURE'/'Facture'), pas de liste (accepts_list: false).
Filtres index déclarés (ListAllowedFilter) : NoFacture, NoUniqueSystemeSource (eq/in) ;
DateFacture, Fiche_DerniereModification (gte/gt/lte/lt) ; CompteRecevable_No (eq, uniquement en paire
avec NoFacture). Un seul filtre index à la fois (sauf la paire NoFacture+CompteRecevable_No).
Des filtres post-extraction existent dans le code (MontantNonPaye, Description, Référence, NoVendeur,
NoTerritoire) mais ne sont PAS dans ListAllowedFilter : filter laissé vide ici par prudence.
Liste de champs NON exhaustive (fields_exhaustive: false) : un champ absent est
unknown, pasunsupported. Noms natifs (sdk:) tirés de Invoice_Utils.ConvertirLaTransactionAcomba (extract) et Convertir_FicheTransactionSolinfo_Vers_TransactionAcomba (create) ; null quand non confirmé.