PC SOFT

PROFESSIONAL NEWSGROUPS
WINDEVWEBDEV and WINDEV Mobile

Home → WINDEV 2024 → Dématérialisation facture pour Chorus Pro
Dématérialisation facture pour Chorus Pro
Started by Rosina, Apr., 24 2018 11:33 AM - 5 replies
Registered member
2 messages
Posted on April, 24 2018 - 11:33 AM
Bonjour,

après plusieurs essais, sans résultat correct, je fais appel à votre aide.... voilà mon problème :

lorsque je génère le fichier XML en utilisant le schéma CPPFactureMixte_V1_16, j'ai un problème pour les pièces jointes qui doivent être au format ZIP.
J'arrive bien à générer une archive contenant la facture au format PDF mais ensuite, il faut renseigner la balise <Contenu>

MonDocXML.CPPFactureMixte.CPPFactures.CPPFactureMixteUnitaire[j].PJ[i].Contenu= ????

et je ne sais pas comment générer le contenu avec l'archive.
(Je l'ai déjà fait avec un fichier PDF zippé avec gzip et un fchargetexte qui fonctionne très bien pour un autre schéma.)

A chaque fois que j'analyse le fichier dans Chorus, j'ai un message me disant que la pièce jointe n'est pas compressée au format ZIP.

Version utilisée Windev22

Toute aide sera la bienvenue. Merci.
Rosina
Registered member
2 messages
Posted on April, 26 2018 - 11:21 AM
Rosina a écrit :
Bonjour,

après plusieurs essais, sans résultat correct, je fais appel à votre aide.... voilà mon problème :

lorsque je génère le fichier XML en utilisant le schéma CPPFactureMixte_V1_16, j'ai un problème pour les pièces jointes qui doivent être au format ZIP.
J'arrive bien à générer une archive contenant la facture au format PDF mais ensuite, il faut renseigner la balise <Contenu>

MonDocXML.CPPFactureMixte.CPPFactures.CPPFactureMixteUnitaire[j].PJ[i].Contenu= ????

et je ne sais pas comment générer le contenu avec l'archive.
(Je l'ai déjà fait avec un fichier PDF zippé avec gzip et un fchargetexte qui fonctionne très bien pour un autre schéma.)

A chaque fois que j'analyse le fichier dans Chorus, j'ai un message me disant que la pièce jointe n'est pas compressée au format ZIP.

Version utilisée Windev22

Toute aide sera la bienvenue. Merci.
Rosina


Bonjour,

pour information, j'ai résolu mon problème en passant par un buffer.

Rosina
Registered member
2 messages
Popularité : +1 (1 vote)
Posted on July, 03 2018 - 6:07 PM
Bonjour,

Si ce n'est pas secret, pouvez-vous poster quelques portions de code à ce sujet pour me permettre d'avancer sur le sujet qui me semble très touffu ?

Dépot de facture :
- initialisation de la communication
- traitement du retour
- dépot de PDF
Consultation de l'état d'une facture
- initialisation de la communication
- traitement du retour

Je suis surpris qu'il y ai aussi peu de messages à ce sujet sur le forum.

D'avance merci

Xavier
Posted on July, 04 2018 - 8:57 AM
Bonjour Xavier,

pour l'instant, l'automatisation de l'envoi et du retour n'est pas faite, j'ai seulement généré le fichier xml que je dépose sur Chorus Pro.
Le schéma xsd choisi est CPPFactureMixte_V1_16 et dans ce schéma, la facture au format PDF doit être zippée et jointe.

Ci-dessous le code permettant d'intégrer la pièce jointe au fichier xml :

Monarchive est un zipArchive
bufArchivebuffer est un Buffer

sNomPJsansextension=ENTETE_PIECES_JOINTES.NumeroFacture
sChemincompletPJ=sCheminPJ+"\"+REQ_XML_Factures.CodeSociete+"_"+REQ_XML_Factures.NumeroFacture
sNomPJ=sChemincompletPJ+"\"+ENTETE_PIECES_JOINTES.NumeroFacture+".pdf"
sCheminarchive est une chaîne=sChemincompletPJ+"\ARC"+SansEspace(sNomPJsansextension) + ".zip"


ZIP_PJ(sChemincompletPJ,sNomPJsansextension,sNomPJ,Monarchive)
bufArchivebuffer=fChargeBuffer(sCheminarchive)
nTaillecompressee+=Monarchive..TailleCompressée
SI Monarchive..NbFichier<>0 ALORS

i=i+1
MonDocXML.CPPFactureMixte.CPPFactures.CPPFactureMixteUnitaire[j].PJ[i]:NumOrdre=i
MonDocXML.CPPFactureMixte.CPPFactures.CPPFactureMixteUnitaire[j].PJ[i].Contenu=bufArchivebuffer
MonDocXML.CPPFactureMixte.CPPFactures.CPPFactureMixteUnitaire[j].PJ[i].NomPJ=ENTETE_PIECES_JOINTES.NomPJ
MonDocXML.CPPFactureMixte.CPPFactures.CPPFactureMixteUnitaire[j].PJ[i].TypePJ=ENTETE_PIECES_JOINTES.TypePJ
nNoeud = MonDocXML.CPPFactureMixte.CPPFactures.CPPFactureMixteUnitaire[j].PJ[i].MimeTypePJ
namespace..Nom = "xs"
namespace..URI = "http://www.w3.org/2001/XMLSchema"
Ajoute(nNoeud..NamespaceDéclaré,namespace)
Ajoute(nNoeud..Attribut,attribut)
MonDocXML.CPPFactureMixte.CPPFactures.CPPFactureMixteUnitaire[j].PJ[i].MimeTypePJ="application/pdf"


FIN
zipFerme(Monarchive)



Procédure permettant de créer l'archive :



Procedure ZIP_PJ(CheminPJ,NomPJsansextension,ChemincompletPJ,Monarchive)

nResultat est un entier
zipCrée(Monarchive, CheminPJ+"\ARC"+SansEspace(NomPJsansextension) + ".zip")
// Ajout du fichier
nResultat=zipAjouteFichier(Monarchive,ChemincompletPJ,zipAucun)
SI nResultat <> 0 ALORS
Erreur(zipMsgErreur(nResultat))
FIN

Temporisation(100,tempoRien)


En espérant que ceci pourra vous aider.

Rosina
Posted on July, 04 2018 - 9:24 AM
Bonjour Rosina et Xavier,

Pour ma part, j'ai remarqué que les fonctions ZIP de Windev avait des
problèmes par défaut pour restaurer correctement les noms des archives
avec des caractères étendus. Le cas typique, c'est les é qui deviennent
après décompression d'autres caractères ?

WT2

Le 04-07-18 à 06:57, Rosina a écrit :
Bonjour Xavier,

pour l'instant, l'automatisation de l'envoi et du retour n'est pas
faite, j'ai seulement généré le fichier xml que je dépose sur Chorus Pro.
Le schéma xsd choisi est CPPFactureMixte_V1_16 et dans ce schéma, la
facture au format PDF doit être zippée et jointe.
Posted on October, 30 2018 - 7:31 AM
Bonjour,

Pourrions nous entrer en contact, nous sommes intéressés pas votre projet de dépôt de factures sur Chorus pro.

Bien à vous