...
Type de dataset | Devis travaux |
---|---|
DatasetType | PDPPREVIMPDTR |
Nature de fichier joint | DATAHUB_PDPPREVIMPDTR |
Code chemin | DATAHUB_JOINT_PDPPREVDTR |
Fichier pivot | Complet: le détail est dans le fichier pivot. Le pivot contient soit des prévisions, soit des niveaux de stockSimple : les données à importer sont dans le fichier principal au format XML |
Fichier compagnon | NonOui, format XML contenant les données du devis |
Fichier trace | Non |
...
Oui |
Règles de gestion
REGLES DE GESTION COMMUNE :
un fichier pivot contient les données d’un seul dossier à la fois.
REGLES DE GESTION PREVISIONS :
les données sont traitées en import ‘mode différentiel’ selon la clé REF-SREF1-SREF2-DEPO. Les données transmises sont donc crées ou mises à jour selon cette clé, puis les données non importées sont supprimées. Cela implique qu’un groupe concernant la clé est obligatoirement écrit, même si la quantité est à 0 pour que l’import sache qu’il doit traiter la clé.
hors exception précédente (quantité donnée à 0 pour indiquer le traitement de la clé) les dates qui n’ont pas de prévision ne sont pas transmises
la balise Horizon permet de gérer la suppression des données antérieures à cette date (pour tout le Dossier indiqué)
les données importées sont visibles dans le ‘Saisie des prévisions PDP’
seuls les articles ayant un mode de gestion des prévisions “PDP” ou “Objectifs de vente” sont acceptés
...
REGLES DE GESTION NIVEAU DE STOCK :
les données importées sont visibles dans la fiche réappro RSO de l’article
le fournisseur habituel et l'unité de vente sont pris par défaut de la fiche article
Tous les champs saisissables en devis travaux peuvent être déclarés dans le fichier XML d’import
Les données du devis sont dans le fichier compagnon principal
Possibilité d’importer une arborescence dans le devis (chapitre et poste) en utilisant le champ CE1 (valeur 2 pour un chapitre, valeur 1 sinon)
Une seule balise IMPORT par fichier, donc un seul entête de devis par fichier
Des fichiers joints au devis peuvent être importés
Détails du fichier pivot
Le tableau suivant indique le format de balisage XML attendu
...
La colonne indique si la balise et sa valeur sont obligatoires ou non. 'Rec' signifie 'Recommandé' pour un traitement total automatique
Balise XML | Obligatoire | Observation |
---|---|---|
<?xml version="1.0" encoding="UTF-8"?> | Oui | Indique le format |
d'encodage des chaînes de caractères | |
<DataHub DataSetType=valeurChaine> | Oui |
L'attribut DATASETTYPE indique le type de pivot. Valeur: |
IMPDTR pour indiquer qu’il s’agit |
Entête*
Oui
Entête de description des prévisions
Détail des prévisions* ou Détail des niveaux de stock*
Oui
Fichiers*
Non
Fichiers complémentaires au fichier principal et au pivot
Erreurs*
Non
Messages d’erreurs concernant les documents compagnons du pivot
</DATAHUB>
Oui
Entête :
Un seul entête par fichier
d’un flux intégration devis travaux | ||
<Source>valeurChaine</Source> | Rec | Permet d’identifier l’émetteur du pivot dans le dataset |
<Systeme>valeurChaine</Systeme> | Rec | Permet d’identifier le système émetteur dans le dataset |
<IdExterne>valeurChaine</IdExterne >
Rec
Permet d’indiquer l’identifiant unique d’un logiciel externe dans le but de donner un premier pivot pour complétion ultérieure par un second pivot.
<Dossier>valeurChaine</Dossier> |
Oui | Code de dossier Divalto | |
<Etablissement>valeurChaine</Etablissement> | Rec | Code d’établissement Divalto, si gestion du dossier par établissement |
<SwTicketNo>0</SwTicketNo> | Rec | Numéro de ticket de demande. La présence de la balise indique qu’on veut avoir un ticket en retour |
<FichierPrincipal>valeurChaine</ |
FichierPrincipal> | Oui |
Horizon de départ des prévisions ou niveaux de stock ; Utilisé pour les prévisions pour gérer la suppression des données antérieures à cette date
<FichierPrincipal> valeurChaine</FichierPrincipal>
Non
Nom du fichier principal associé au pivot (feuille excel par exemple). Le fichier peut être dans un sous-répertoire du pivot, on indiquera donc le chemin relatif.
Détail des prévisions :
<Previsions>
Oui
Balise ouvrante de prévisions
Prevision*
Oui
Description d’une prévision
</Previsions>
Oui
Balise fermante de prévisions
VOIR NOTE 1
Détail des niveaux de stock :
< NiveauxStock >
Oui
Balise ouvrante de niveau de stock
NiveauStock*
Oui
Description d’un niveau de stock
</NiveauxStock>
Oui
Balise fermante de niveau de stock
Prévision :
<Prevision>
Oui
Balise ouvrante de prévision
<Reference> valeurChaine </Reference>
Oui
Référence article
<IndiceArticle> valeurChaine </IndiceArticle>
Non
Indice Article (si vide l’indice en cours sera pris)
<SousReference1> valeurChaine </SousReference1>
Non
Sous-référence 1 article
<SousReference2> valeurChaine </SousReference2>
Non
Sous-référence 2 article
<Depot> valeurChaine </Depot>
Oui
Code dépôt
<Quantite> valeurNum </Quantite>
Oui
Quantité de prévision. Peut être à 0 si valeur unique, mais
<Unite> valeurChaine </ Unite >
Rec
Unité de prévision (vente)
<DateDebutPeriode> valeurDate</DateDebutPeriode>
Oui
Date de début de la période (par exemple premier jour du mois)
<Periode> valeurChaine</Periode>
Oui
J pour Jour, S pour Semaine, M pour Mois
</Prevision>
Oui
Balise fermante de prévision
Niveau de stock :
<NiveauStock>
Oui
Balise ouvrante de prévision
<Reference> valeurChaine </Reference>
Oui
Référence article
<IndiceArticle> valeurChaine </IndiceArticle>
Non
Indice Article (si vide l’indice en cours sera pris)
<SousReference1> valeurChaine </SousReference1>
Non
Sous-référence 1 article
<SousReference2> valeurChaine </SousReference2>
Non
Sous-référence 2 article
<Depot> valeurChaine </Depot>
Oui
Code dépôt
<Tiers> valeurChaine </Tiers>
Non
Code tiers
<Quantite> valeurNum </Quantite>
Oui
Quantité du niveau de stock
<Unite> valeurChaine </ Unite >
Rec
Unité de niveau de stock
</NiveauStock>
Oui
Balise fermante de prévision
Fichiers :
<Fichiers>
Oui
Balise ouvrante de fichiers
<Fichier> valeurChaine </Fichier>
Oui
Nom du fichier compagnon complémentaire (hors fichier principal qui a une balise dédiée). Le fichier peut être dans un sous-répertoire du pivot, on indiquera donc le chemin relatif
</Fichiers>
Oui
Balise fermante de fichiers
Erreurs :
<MsgErreurs>
Oui
Balise ouvrante d’erreurs
<MsgErreur>
Oui
Balise ouvrante d’erreur
<NumErreur> valeurNum </NumErreur>
Non
Numéro du message d’erreur
<TexteErreur> valeurChaine </TexteErreur>
Non
Texte du message d’erreur
</MsgErreur>
Oui
Balise fermante d’erreur
</MsgErreurs>
Oui
Balise fermante de pièces
...
Nom du fichier principal. Ce fichier au format XML indique l’action (import ou export) et les données concernées (tables, champs) |
Détails du fichier principal
Le tableau suivant indique le format de balisage XML attendu
Les types traités sont :
valeurChaine indique une valeur de type chaîne de caractères alphanumériques
valeurDate indique une valeur de type date au format YYYYMMDD
valeurNum indique une valeur numérique sans séparateur de milliers
La colonne indique si la balise et sa valeur sont obligatoires ou non. 'Rec' signifie 'Recommandé' pour un traitement total automatique
Balise XML | Obligatoire | Observation |
---|---|---|
<Import table = "DTRENT" action="insert"> | Oui | Balise principale entête devis travaux |
<Field name="XXXX" value= "xxxx" /> | Oui | Champs de DTRENT Name = mnémonique du champ dans le dictionnaire Value = valeur de la donnée Liste des champs à renseigner obligatoirement : TICOD ; TIERS ; OP |
<Joint value="doc/d1.png" natureJointCod='' motCle='DTRENT_IMG' /> | Non | Fichiers joints du devis travaux. Attribut value = chemin complet du fichier joint natureJointCod = nature de fichier joint |
<Text txttyp="1" txtformat="1" txtval=="Contenu texte" /> | Non | Textes et notes de l’entête Txttyp : · 1 : note de l’entête · 2 : texte de l’entête · 3 : texte du pied Txtformat : · 1 : texte · 2 : rich text encodé en base 64 Txtval : contenu du texte |
<Record table = "DTRMOUV ">Non | Non | Sous balise table. Une seule table possible : DTRMOUV |
Balise Record table=DTRMOUV | ||
<Record table = "DTRMOUV"> | Non | Balise mouvement devis travaux Une balise <Record table= « DTRMOUV »> peut en contenir une ou plusieurs autres en sous niveaux, cela représente l’arborescence du devis travaux. Un chapitre peut contenir des chapitres, des ouvrages, des articles. Un ouvrage peut contenir des ouvrages et des articles. |
<Field name="XXXX" value="X" /> | Oui | Champs de DTRMOUV Liste des champs à renseigner obligatoirement : CE2 ; REF ; OUVCOD |
<Text txttyp="1" txtformat="1" txtval=="Contenu texte" /> | Non | Textes et notes de l’entête Txttyp : · 1 : note du mouvement · 2 : texte du mouvement Txtformat : · 1 : texte · 2 : rich text encodé en base 64 Txtval : contenu du texte |
Exemples de fichiers
Exemple de fichier pivot pour prévision PDP création devis travaux (pivot_pdpprevimpdtr.dhub)
Bloc de code | ||
---|---|---|
| ||
<?xml version="1.0" encoding="UTF-8"?> <DataHub DataSetType="PDPPREVIMPDTR"> <Source>DYN</Source> <Systeme>DSCP</Systeme> <IdExterne></IdExterne> <Dossier>998</Dossier> <Etablissement></Etablissement> <Horizon>20170205</Horizon> <Previsions> <Prevision> <Reference>ALB0001x</Reference> <SousReference1></SousReference1> <SousReference2></SousReference2> <Depot>1</Depot> <DateDebutPeriode>20170701</DateDebutPeriode> <Quantite>2,5</Quantite> <Unite>P</Unite> <Periode>S</Periode> </Prevision> <Prevision> <Reference>ALB0001</Reference> <SousReference1></SousReference1> <SousReference2></SousReference2> <Depot>1</Depot> <DateDebutPeriode>20170801</DateDebutPeriode> <Quantite>2,5</Quantite> <Unite>P</Unite> <Periode>S</Periode> </Prevision> </Previsions> </DataHub> |
Exemple de fichier compagnon pour niveau de stock (pivot_nivstoc.dhub)
Bloc de code | ||
---|---|---|
| ||
<?xml version="1.0" encoding="UTF-8"?> <DataHub DataSetType="PDPPREV"> <Source>DYN</Source> <Systeme>DSCP</Systeme> <IdExterne></IdExterne> <Dossier>998</Dossier> <Etablissement></Etablissement> <Horizon>20170205</Horizon> <NiveauxStock> <NiveauStock> <Reference>ALB0001</Reference> <SousReference1></SousReference1> <SousReference2></SousReference2> <Depot>1</Depot> <Quantite>2,5</Quantite> <Unite>P</Unite> </NiveauStock> </NiveauxStock> </DataHub><Source>EXTERNE</Source> <Dossier>998</Dossier> <Etablissement></Etablissement> <FichierPrincipal>Dtr1.xml</FichierPrincipal> </DataHub> |
Exemple de fichier principal de devis travaux simple avec 1 chapitre et 1 mouvement (Dtr1.xml)
Bloc de code | ||
---|---|---|
| ||
<XML entity="IMPDTR">
<Import table = "DTRENT" action="insert">
<Field name="PIDT" value= "20200301" />
<Field name="PINOTIERS" value= "votre piece" />
<Field name="TIERS" value="C0000001" />
<Field name="TICOD" value="C" />
<Record table = "DTRMOUV">
<Field name="CE2" value="2" />
<Field name="DES" value="CHAPITRE 1" />
<Record table = "DTRMOUV">
<Field name="CE2" value="1" />
<Field name="REF" value="ALB0001" />
<Field name="DES" value="ALBUM avec désignation perso" />
<Field name="QTE" value="10.000" />
</Record>
</Record>
</Import>
</XML> |
Exemple de fichier principal de devis travaux avec plusieurs chapitres et poste (Dtr2.xml)
Bloc de code | ||
---|---|---|
| ||
<XML entity="IMPDTR">
<Import table = "DTRENT" action="insert">
<Field name="PIDT" value= "20200501" />
<Field name="TICOD" value= "C" />
<Field name="TIERS" value= "C0000001" />
<Field name="OP" value= "C" />
<Field name="PINOTIERS" value= "TEST DATAHUB" />
<Record table = "DTRMOUV">
<Field name="CE2" value= "2" />
<Field name="DES" value= "Chapitre 1" />
<Record table = "DTRMOUV">
<Field name="CE2" value= "2" />
<Field name="DES" value= "Niveau 1" />
<Record table = "DTRMOUV">
<Field name="CE2" value= "1" />
<Field name="REF" value= "ALB0001" />
<Field name="QTE" value= "5,000" />
</Record>
<Record table = "DTRMOUV">
<Field name="CE2" value= "1" />
<Field name="REF" value= "ALB0002" />
<Field name="QTE" value= "2,000" />
</Record>
</Record>
<Record table = "DTRMOUV">
<Field name="CE2" value= "2" />
<Field name="DES" value= "Niveau 2" />
<Record table = "DTRMOUV">
<Field name="CE2" value= "1" />
<Field name="REF" value= "ALB0001" />
<Field name="QTE" value= "3,000" />
</Record>
</Record>
</Record>
<Record table = "DTRMOUV">
<Field name="CE2" value= "2" />
<Field name="DES" value= "Chapitre 2" />
<Record table = "DTRMOUV">
<Field name="CE2" value= "1" />
<Field name="REF" value= "ALB0001" />
<Field name="QTE" value= "2,000" />
</Record>
</Record>
<Record table = "DTRMOUV">
<Field name="CE2" value= "2" />
<Field name="DES" value= "Chapitre 3" />
<Record table = "DTRMOUV">
<Field name="CE2" value= "1" />
<Field name="REF" value= "ALB0001" />
<Field name="QTE" value= "2,000" />
</Record>
<Record table = "DTRMOUV">
<Field name="CE2" value= "1" />
<Field name="REF" value= "ALB0001" />
<Field name="QTE" value= "2,000" />
</Record>
</Record>
</Import>
</XML> |
Exemple de fichier principal de devis travaux avec plusieurs chapitres et poste et fichier joints (Dtr3.xml)
Bloc de code | ||
---|---|---|
| ||
<XML entity="IMPDTR">
<Import table = "DTRENT" action="insert">
<Joint value="C:\DIVALTO\Doc\1.png" natureJointCod='' motCle='DTRENT_IMG' />
<Joint value="C:\DIVALTO\Doc\2.png" natureJointCod='' motCle='DTRENT_IMG' />
<Field name="PIDT" value= "20200301" />
<Field name="PINOTIERS" value= "Référence du tiers" />
<Field name="TIERS" value="C0000001" />
<Field name="TICOD" value="C" />
<Record table = "DTRMOUV">
<Field name="CE2" value="2" />
<Field name="DES" value= "Chapitre1" />
<Record table = "DTRMOUV">
<Field name="CE2" value="2" />
<Field name="DES" value= "Sous-Chapitre1" />
<Record table = "DTRMOUV">
<Field name="CE2" value="1" />
<Field name="REF" value= "ALB0001" />
<Field name="QTE" value= "2,000" />
<Field name="PCOD(1)" value="4" />
</Record>
<Record table = "DTRMOUV">
<Field name="CE2" value="1" />
<Field name="REF" value= "ALB0002" />
<Field name="QTE" value= "2,000" />
<Field name="PCOD(1)" value="4" />
</Record>
<Field name="DES" value="CHAPITRE 1" />
</Record>
<Record table = "DTRMOUV">
<Field name="CE2" value="2" />
<Field name="DES" value= "Sous-Chapitre2" />
<Record table = "DTRMOUV">
<Field name="CE2" value="1" />
<Field name="REF" value= "ALB0001" />
<Field name="QTE" value= "2,000" />
<Field name="PCOD(1)" value="4" />
</Record>
<Record table = "DTRMOUV">
<Field name="CE2" value="1" />
<Field name="REF" value= "ALB0002" />
<Field name="QTE" value= "2,000" />
<Field name="PCOD(1)" value="4" />
</Record>
<Record table = "DTRMOUV">
<Field name="CE2" value="2" />
<Field name="DES" value= "Sous-Chapitre2.1" />
<Record table = "DTRMOUV">
<Field name="CE2" value="1" />
<Field name="REF" value= "ALB0003" />
<Field name="QTE" value= "10,000" />
<Field name="PCOD(1)" value="4" />
</Record>
<Record table = "DTRMOUV">
<Field name="CE2" value="1" />
<Field name="REF" value= "ALB0004" />
<Field name="QTE" value= "20,000" />
<Field name="PCOD(1)" value="4" />
</Record>
</Record>
<Record table = "DTRMOUV">
<Field name="CE2" value="2" />
<Field name="DES" value= "Sous-Chapitre2.2" />
</Record>
</Record>
</Record>
</Import>
</XML> |
Exemple de fichier principal de devis travaux avec ouvrages (Dtr4.xml)
Bloc de code | ||
---|---|---|
| ||
<XML entity="IMPDTR">
<Import table = "DTRENT" action="insert">
<Field name="PIDT" value= "20201217" />
<Field name="TICOD" value= "C" />
<Field name="TIERS" value= "C0000001" />
<Field name="SITECOD" value= "SIEGENEB" />
<Field name="PINOTIERS" value= "TEST DATAHUB" />
<Field name="PIREF" value= "VOTRE REFERENCE" />
<Field name="OP" value="C" />
<Record table = "DTRMOUV">
<Field name="CE2" value= "2" />
<Field name="DES" value= "BATIMENT 1" />
<Record table = "DTRMOUV">
<Field name="CE2" value= "2" />
<Field name="DES" value= "Bureau chargés d'affaires" />
<Record table = "DTRMOUV">
<Field name="CE2" value= "1" />
<Field name="OUVCOD" value= "ENSEMBLE_14S" />
<Field name="QTE" value= "1" />
<Field name="DES" value= "Ensemble climatisation bureau des chargés d'affaires" />
<Record table = "DTRMOUV">
<Field name="CE2" value= "1" />
<Field name="REF" value= "IM10001S" />
<Field name="QTE" value= "1" />
</Record>
<Record table = "DTRMOUV">
<Field name="CE2" value= "1" />
<Field name="REF" value= "IM10010S" />
<Field name="QTE" value= "2" />
</Record>
<Record table = "DTRMOUV">
<Field name="CE2" value= "1" />
<Field name="REF" value= "IM10051" />
<Field name="QTE" value= "1" />
</Record>
<Record table = "DTRMOUV">
<Field name="CE2" value= "1" />
<Field name="REF" value= "IM10061" />
<Field name="QTE" value= "1" />
</Record>
<Record table = "DTRMOUV">
<Field name="CE2" value= "1" />
<Field name="REF" value= "IM10062" />
<Field name="QTE" value= "1" />
</Record>
<Record table = "DTRMOUV">
<Field name="CE2" value= "1" />
<Field name="REF" value= "IM10085" />
<Field name="QTE" value= "1" />
</Record>
<Record table = "DTRMOUV">
<Field name="CE2" value= "1" />
<Field name="REF" value= "IM10084" />
<Field name="QTE" value= "1" />
</Record>
</Record>
</Record>
<Record table = "DTRMOUV">
<Field name="CE2" value= "2" />
<Field name="DES" value= "Bureau d'études" />
<Record table = "DTRMOUV">
<Field name="OUVCOD" value= "ENSEMBLE_36S" />
<Field name="QTE" value= "1" />
<Field name="DES" value= "Ensemble climatisation bureau d'études" />
<Record table = "DTRMOUV">
<Field name="CE2" value= "1" />
<Field name="REF" value= "IM10002S" />
<Field name="QTE" value= "1" />
</Record>
<Record table = "DTRMOUV">
<Field name="CE2" value= "1" />
<Field name="REF" value= "IM10011S" />
<Field name="QTE" value= "6" />
</Record>
<Record table = "DTRMOUV">
<Field name="CE2" value= "1" />
<Field name="REF" value= "IM10052" />
<Field name="QTE" value= "1" />
</Record>
<Record table = "DTRMOUV">
<Field name="CE2" value= "1" />
<Field name="REF" value= "IM10084" />
<Field name="QTE" value= "6" />
</Record>
</Record>
</Record>
</Record>
<Record table = "DTRMOUV">
<Field name="CE2" value= "2" />
<Field name="DES" value= "Chapitre 2" />
</Record>
</Import>
</XML> |