dilicom_parser.models package¶
Submodules¶
dilicom_parser.models.connector module¶
Module des modèles de données pour la gestion des fichiers distants sur le serveur SFTP de Dilicom.
- class dilicom_parser.models.connector.RemoteFile(filename, filepath, size, modified_time)¶
Bases :
objectClasse représentant un fichier distant sur le serveur SFTP de Dilicom.
- filename¶
Le nom du fichier.
- Type:
str
- filepath¶
Le chemin complet du fichier sur le serveur SFTP.
- Type:
str
- size¶
La taille du fichier en octets, ou None si non disponible.
- Type:
int | None
- modified_time¶
La date et l’heure de la dernière modification du fichier, ou None si non disponible.
- Type:
datetime | None
- filename: str¶
- filepath: str¶
- modified_time: datetime | None¶
- size: int | None¶
dilicom_parser.models.distributor module¶
Module de définition des structures de données pour les fichiers distributeurs reçus de Dilicom.
- class dilicom_parser.models.distributor.DistributorData(debut_fichier, ref_edi, date_edi, lines, fin_fichier)¶
Bases :
objectStructure de données complète pour les fichiers de type distributeur, regroupant les blocs 1, 2 et 3.
- date_edi: int¶
- debut_fichier: str¶
- fin_fichier: str¶
- lines: list[DistributorLineData]¶
- ref_edi: str¶
- class dilicom_parser.models.distributor.DistributorDataBloc1(ref, mvt, gln, rs1, rs2, numero_voie, adresse_l1, adresse_l2, adresse_l3, code_postal, ville, pays, rejet_postal, num_tel, num_fax, email, website, siren_or_siret, num_tva_intracom, gln_repreneur, rs_repreneur, fonction, adherent_prisme)¶
Bases :
objectStructure de données pour les fichiers de type “distributeur. Attributs: - ref: Numéro de la ligne - mvt: Type de mouvement
00: Extraction complète
01: Extraction des distributeurs qui peuvent faire l’objet de commandes via DILICOM
03 = Création
04 = Modification complète
05 = Modification du bloc 1
06 = Modification du bloc 2
07 = Modification du bloc 3
08 = Suppression
gln: Code GLN du distributeur
rs1: Raison sociale 1
rs2: Raison sociale 2 (optionnel)
numero_voie: Numéro de voie (optionnel)
adresse_l1: Adresse ligne 1 (optionnel)
adresse_l2: Adresse ligne 2 (optionnel)
adresse_l3: Adresse ligne 3 (optionnel)
code_postal: Code postal (optionnel)
ville: Ville
pays: Pays
rejet_postal: Rejet postal (optionnel)
num_tel: Numéro de téléphone (optionnel)
num_fax: Numéro de fax (optionnel)
email: Adresse email (optionnel)
website: Site web (optionnel)
siren_or_siret: Numéro SIREN ou SIRET (optionnel)
num_tva_intracom: Numéro de TVA intracommunautaire (optionnel)
gln_repreneur: Code GLN du repreneur (optionnel)
rs_repreneur: Raison sociale du repreneur (optionnel)
- fonction: Fonction du contact
01 = Distributeur
02 = Grossiste/Comptoir/GIE
- adherent_prisme: Indicateur d’adhésion au PRISME
0 = Non adhérent
1 = Adhérent
- adherent_prisme: int¶
- adresse_l1: str | None¶
- adresse_l2: str | None¶
- adresse_l3: str | None¶
- code_postal: str | None¶
- email: str | None¶
- fonction: str¶
- gln: str¶
- gln_repreneur: str | None¶
- mvt: str¶
- num_fax: str | None¶
- num_tel: str | None¶
- num_tva_intracom: str | None¶
- numero_voie: str | None¶
- pays: str¶
- ref: str¶
- rejet_postal: str | None¶
- rs1: str¶
- rs2: str | None¶
- rs_repreneur: str | None¶
- siren_or_siret: str | None¶
- ville: str¶
- website: str | None¶
- class dilicom_parser.models.distributor.DistributorDataBloc2(integration_commande, place_commande, heure_limite, jours_collecte, format_commandes, type_connection, avis_expedition)¶
Bases :
objectStructure de données pour les fichiers de type distributeur, bloc 2, connexion au serveur Dilicom. Attributs: - integration_commande: Intégration des commandes
01 = Automatique
02 = Manuelle
03 = Semi-automatique
00 ou 04 = Non précisé
- place_commande: Place de commande
00 = Non précisé
01 = prioritaire
02 = non-prioritaire
- heure_limite:
HHMM: Heure limite de prise en compte des commandes pour le jour même
- jours_collecte: Jours de collecte des commandes
LMMJVSD, O si non et 1 si oui
- format_commandes: Format des commandes
01 = Imprimable
02 = EDI (Codifié et intégrable)
- type_connection: Type de connexion
01 = Fax/Mail/Téléchargement
02 = EDI (Codifié et intégrable)
- avis_expedition: Génération des avis d’expédition
01 = Pré-facturation/Stock théorique
02 = Post-facturation/Fermeture du camion
- avis_expedition: str | None¶
- format_commandes: str | None¶
- heure_limite: str | None¶
- integration_commande: str¶
- jours_collecte: str | None¶
- place_commande: str¶
- type_connection: str | None¶
- class dilicom_parser.models.distributor.DistributorDataBloc3(fiche_produit, propo_commandes, commande, reponse_commandes, avis_exp_v1, avis_exp_v2, journal_mvt, reclamation, retour_dde_autorisation, retour_accord_fournisseur, retour_avis, facture_electronique, demat_facture_fiscale, centralisation_paiements)¶
Bases :
objectStructure de données pour les fichiers de type distributeur, bloc 3, informations complémentaires.
0 = Non
1 = Oui
Attributs: - fiche_produit - propo_commandes - commande - reponse_commandes - avis_exp_v1 - avis_exp_v2 - journal_mvt - reclamation - retour_dde_autorisation - retour_accord_fournisseur - retour_avis - facture_electronique - demat_facture_fiscale - centralisation_paiements
- avis_exp_v1: int | None¶
- avis_exp_v2: int | None¶
- centralisation_paiements: int | None¶
- commande: int | None¶
- demat_facture_fiscale: int | None¶
- facture_electronique: int | None¶
- fiche_produit: int | None¶
- journal_mvt: int | None¶
- propo_commandes: int | None¶
- reclamation: int | None¶
- reponse_commandes: int | None¶
- retour_accord_fournisseur: int | None¶
- retour_avis: int | None¶
- retour_dde_autorisation: int | None¶
- class dilicom_parser.models.distributor.DistributorLineData(bloc1, bloc2, bloc3, fin_ligne)¶
Bases :
objectStructure de données pour une ligne de fichier de type distributeur, regroupant les blocs 1, 2 et 3.
- bloc1: DistributorDataBloc1¶
- bloc2: DistributorDataBloc2¶
- bloc3: DistributorDataBloc3¶
- fin_ligne: str¶
- class dilicom_parser.models.distributor.FileDistri(header, footer, data)¶
Bases :
objectStructure de données pour représenter un fichier de type distributeur reçu de Dilicom. Attributs: - header: Liste de chaînes représentant les champs d’en-tête du fichier. - footer: Chaîne représentant le champ de pied de page du fichier. - data: DataFrame contenant les données du fichier, avec les champs organisés en colonnes.
- data: DataFrame¶
- header: list[str]¶
dilicom_parser.models.service module¶
Module de définition des structures de données pour les messages de service Dilicom. Couvre les formats GENCOD (CNUT 05003) et EANCOM (APERAK D96A).
- class dilicom_parser.models.service.EancomErreur(code_erreur, code_identification='ZZZ', libelle_erreur=None)¶
Bases :
objectSegments ERC + FTX pour les erreurs.
- code_erreur: str¶
- code_identification: str = 'ZZZ'¶
- libelle_erreur: str | None = None¶
- class dilicom_parser.models.service.EancomInterchange(syntaxe_id, syntaxe_version, gln_emetteur, gln_destinataire, date_preparation, heure_preparation, reference_interchange, messages=<factory>, nombre_messages=None)¶
Bases :
objectUn interchange EANCOM complet (UNB…UNZ) contenant N messages.
- date_preparation: str¶
- gln_destinataire: str¶
- gln_emetteur: str¶
- heure_preparation: str¶
- messages: list[EancomServiceMessage]¶
- nombre_messages: str | None = None¶
- reference_interchange: str¶
- syntaxe_id: str¶
- syntaxe_version: str¶
- class dilicom_parser.models.service.EancomNAD(fonction, gln, code_identifiant='9')¶
Bases :
objectPartie identifiée (NAD segment).
- code_identifiant: str = '9'¶
- fonction: str¶
- gln: str¶
- class dilicom_parser.models.service.EancomServiceMessage(syntaxe_id, syntaxe_version, gln_emetteur, gln_destinataire, date_preparation, heure_preparation, reference_interchange, reference_message, type_message, version, revision, agence, version_gs1, identification_document, type_acquittement, date_creation, format_date_creation, reference_acquittee, date_traitement=None, format_date_traitement=None, date_lecture=None, format_date_lecture=None, parties=<factory>, erreur=None, nombre_segments=None)¶
Bases :
objectMessage de service au format EANCOM D96A (APERAK).
- agence: str¶
- date_creation: str¶
- date_lecture: str | None = None¶
- date_preparation: str¶
- date_traitement: str | None = None¶
- erreur: EancomErreur | None = None¶
- format_date_creation: str¶
- format_date_lecture: str | None = None¶
- format_date_traitement: str | None = None¶
- gln_destinataire: str¶
- gln_emetteur: str¶
- heure_preparation: str¶
- identification_document: str¶
- property is_ale: bool¶
ALE si type AB et date de lecture présente.
- property is_ate: bool¶
ATE si type AB sans date de lecture.
- property is_erreur: bool¶
Erreur si type RE.
- nombre_segments: str | None = None¶
- reference_acquittee: str¶
- reference_interchange: str¶
- reference_message: str¶
- revision: str¶
- syntaxe_id: str¶
- syntaxe_version: str¶
- type_acquittement: str¶
- type_message: str¶
- version: str¶
- version_gs1: str¶
- class dilicom_parser.models.service.GencodCommentaireAleAte(gln_emetteur_origine, cnut_message_origine, reference_cnut, numero_envoi, date_envoi, gln_destinataire, date_traitement, heure_traitement, date_lecture=None, heure_lecture=None)¶
Bases :
objectCommentaires (CNUR 177) pour ATE/ALE - identifiant 904.
- cnut_message_origine: str¶
- date_envoi: str¶
- date_lecture: str | None = None¶
- date_traitement: str¶
- gln_destinataire: str¶
- gln_emetteur_origine: str¶
- heure_lecture: str | None = None¶
- heure_traitement: str¶
- numero_envoi: str¶
- reference_cnut: str¶
- class dilicom_parser.models.service.GencodCommentaireErreur(gln_emetteur_origine, cnut_message_origine, reference_cnut, numero_envoi, date_envoi, gln_destinataire, code_erreur, numero_ligne_erreur=None, position_erreur=None, zone_erreur=None, libelle_erreur=None)¶
Bases :
objectCommentaires (CNUR 177) pour ANE (905) / AST (906).
- cnut_message_origine: str¶
- code_erreur: str¶
- date_envoi: str¶
- gln_destinataire: str¶
- gln_emetteur_origine: str¶
- libelle_erreur: str | None = None¶
- numero_envoi: str¶
- numero_ligne_erreur: str | None = None¶
- position_erreur: str | None = None¶
- reference_cnut: str¶
- zone_erreur: str | None = None¶
- class dilicom_parser.models.service.GencodServiceMessage(cnut, gln_destinataire, gln_emetteur, date_emission, identificateur_reseau, type_message, commentaires=<factory>, nombre_rubriques=None)¶
Bases :
objectMessage de service au format GENCOD (CNUT 05003).
- cnut: str¶
- commentaires: list[GencodCommentaireAleAte | GencodCommentaireErreur]¶
- date_emission: str¶
- gln_destinataire: str¶
- gln_emetteur: str¶
- identificateur_reseau: str¶
- property is_ale: bool¶
ALE si type 912 et date de lecture présente dans au moins un commentaire.
- property is_ate: bool¶
ATE si type 912 sans date de lecture.
- property is_erreur: bool¶
ANE (913) ou AST (914).
- nombre_rubriques: str | None = None¶
- type_message: str¶
Module contents¶
Modules de modèles de données pour le parser Dilicom.
Ce module regroupe les classes de modèles de données utilisées pour représenter les différentes entités et structures de données rencontrées lors du parsing des fichiers Dilicom, tels que les messages de service, les données de distributeurs, etc.