|
| Débuté par jdespe, 20 déc. 2004 16:07 - 6 réponses |
| |
| | | |
|
| |
| Posté le 20 décembre 2004 - 16:07 |
Bonjour, Je desire créer un fichier .dat qui me permet de passer des écritures de mon logiciel développer en windev a une comptabilité apisoft. Le problème c'est que pour que le logiciel apisoft valide mon fichier, je dois l'ouvrir avec le bloc note et l'enregistrer, juste ca sans rien modifier d'autre. Voila comment je créer mon fichier:
nIdFic = fOuvre(ChFic, foCréationSiInexistant+foAjout+foLectureEcriture) fEcrit(nIdFic,Cid) ResPosition = fPositionne(nIdFic,8-TailleCID,fpCourant) fEcrit(nIdFic,Cptefourn+jj+mm+aa+ch1+" "+CId+" "+CFourn) ResFermeFichier = fFerme(nIdFic)
Merci d'avance |
| |
| |
| | | |
|
| | |
| |
| Posté le 20 décembre 2004 - 15:49 |
On 20-Dec-2004, "john" <jdespe@hotmail.com> wrote:
Bonjour, Je desire créer un fichier .dat qui me permet de passer des écritures de mon logiciel développer en windev a une comptabilité apisoft. Le problème c'est que pour que le logiciel apisoft valide mon fichier, je dois l'ouvrir avec le bloc note et l'enregistrer, juste ca sans rien modifier d'autre. Voila comment je créer mon fichier:
nIdFic = fOuvre(ChFic, foCréationSiInexistant+foAjout+foLectureEcriture) fEcrit(nIdFic,Cid) ResPosition = fPositionne(nIdFic,8-TailleCID,fpCourant) fEcrit(nIdFic,Cptefourn+jj+mm+aa+ch1+" "+CId+" "+CFourn) ResFermeFichier = fFerme(nIdFic)
Merci d'avance
Si j'ai bien compris ton problème, ton fichier "ne passe pas" en l'état, mais il passe si tu l'ouvres avec lNotepad et que tu le sauves. Tu devrais garder une copie de ton fichier avant sauvegarde par Notepad et la comparer avec un éditeur Hexa pour voir s'il ne manque pas un/des caractère(s) de fin de fichier ... Souvent, les fichiers "DAT" de longueurs variables sont terminés par un caractère "fin de fichier" ( caract(27) si je ne me trompe pas ) ... Parfois aussi, ils se terminent par un RC ... Une fois détecté le(s) caractère(s) qui manque(nt), il te suffira de l'/les ajouter dans ton fichier avant de le fermer.
-- Marcel Berman c/o Managing Business SPRL Allée du Petit Paris, 11 B - 1410 - Waterloo Tel : +32 2 351.60.64 Fax : +32 2 351.45.78 Gsm : +32 475.799.477 |
| |
| |
| | | |
|
| | |
| |
| Posté le 20 décembre 2004 - 18:21 |
Merci pour la réponse, Le fichier de windev, en hexa, les espace sont remplacé par des . alors que le fichier enregistré les espaces sont des blancs. |
| |
| |
| | | |
|
| | |
| |
| Posté le 20 décembre 2004 - 18:41 |
On 20-Dec-2004, "john" <jdespe@hotmail.com> wrote:
Merci pour la réponse, Le fichier de windev, en hexa, les espace sont remplacé par des . alors que le fichier enregistré les espaces sont des blancs.
aahh ! Peut-êtrre devrais-tu enregistrer ton texte en utilisant les fonction ansiversoem() ou oemversansi() (je ne sais plus trop ...) qui permettent de passer du codage Windows au codage Dos et vice versa ...
en espérant que cette piste soit la bonne ....
-- Marcel Berman c/o Managing Business SPRL Allée du Petit Paris, 11 B - 1410 - Waterloo Tel : +32 2 351.60.64 Fax : +32 2 351.45.78 Gsm : +32 475.799.477 |
| |
| |
| | | |
|
| | |
| |
| Posté le 21 décembre 2004 - 10:10 |
J'ai réalisé un transfert d'éciture pour la compta API qui marche bien
PROCEDURE ecrire_trans(nom_j) xi,xj sont des entiers nIdFic est un entier sMaChaîne est une chaîne debit est une chaîne credit est une chaîne zone_b est une chaîne sRubCléParcours est une chaîne
POUR xi=1 A 400 zone_b=zone_b+" " FIN
sRubCléParcours=HFiltre(Trans_c, "Journal='"+nom_j+"'") HLitPremier(Trans_c, sRubCléParcours) TANTQUE PAS HEnDehors() w_chaine="ECR"+nom_j+".dat" w_chaine=SansEspace(rep_transfert)+w_chaine nIdFic = fOuvre(w_chaine,foCréationSiInexistant+foAjout+foEcriture) SI nIdFic=-1 ALORS Ouvre(Fen_Erreur,"Création du fichier de transfert impossible") SINON POUR xi=1 A 2 SI Trans_c.Montant[xi]<>0 ALORS sMaChaîne=NumériqueVersChaine(Trans_c.piece,"-8d") sMaChaîne=sMaChaîne+Trans_c.Cpt[xi] sMaChaîne=sMaChaîne+Droite(Trans_c.Dat_ecr,2)+Milieu(Trans_c.Dat_ecr,5,2)+Milieu(Trans_c.Dat_ecr,3,2) sMaChaîne=sMaChaîne+Complète(Trans_c.Lib_c[xi],60," ") SI Trans_c.Signe_m[xi]="D" ALORS debit=NumériqueVersChaine(Trans_c.Montant[xi],"20,2f");credit=Gauche(zone_b,20) SINON credit=NumériqueVersChaine(Trans_c.Montant[xi],"20,2f");debit=Gauche(zone_b,20) FIN sMaChaîne=sMaChaîne+debit sMaChaîne=sMaChaîne+credit POUR xj=1 A 10 sMaChaîne=sMaChaîne+Gauche(zone_b,6) sMaChaîne=sMaChaîne+Gauche(zone_b,20) FIN POUR xj=1 A 10 sMaChaîne=sMaChaîne+Gauche(zone_b,20) sMaChaîne=sMaChaîne+Gauche(zone_b,20) FIN sMaChaîne=sMaChaîne+"E"+Gauche(zone_b,7)+"6.55957"+Gauche(zone_b,13) sMaChaîne=sMaChaîne+Complète(Trans_c.Lib_ecr,60) SI xi=1 ALORS sMaChaîne=sMaChaîne+"1" SINON sMaChaîne=sMaChaîne+"0" sMaChaîne=sMaChaîne+Gauche(zone_b,15) sMaChaîne=sMaChaîne+Gauche(zone_b,3) SI xi=1 ALORS sMaChaîne=sMaChaîne+"0"+Gauche(zone_b,29) SINON sMaChaîne=sMaChaîne+Gauche(zone_b,30) fEcritLigne(nIdFic, sMaChaîne) FIN FIN HLitSuivant(Trans_c, sRubCléParcours) FIN fFerme(nIdFic) FIN //on désactive le filtre HDésactiveFiltre(Trans_c)
Brigitte MOINOT - Viti's |
| |
| |
| | | |
|
| | |
| |
| Posté le 21 décembre 2004 - 10:42 |
Je transferts actuellement les données d'export de journal des ventes depuis ma gestion commerciale vers une compta apisoft et je n'ai aucun probleme, le fichier .dat est un fichier texte. De quel fichier s'agit-il exactement ?
Marcel.berman@managingbusiness.be wrote:
On 20-Dec-2004, "john" <jdespe@hotmail.com> wrote: Merci pour la réponse, Le fichier de windev, en hexa, les espace sont remplacé par des . alors que le fichier enregistré les espaces sont des blancs.
aahh ! Peut-êtrre devrais-tu enregistrer ton texte en utilisant les fonction ansiversoem() ou oemversansi() (je ne sais plus trop ...) qui permettent de passer du codage Windows au codage Dos et vice versa ... en espérant que cette piste soit la bonne .... |
| |
| |
| | | |
|
| | |
| |
| Posté le 29 décembre 2004 - 12:24 |
Ton problème est surement là: tu fais du Fécrit au lieu fécritligne comme font la plus part des gens... la différence c'est uniquement des RC en fin d'écriture, mais ça peut faire la différence.
Bon courage. |
| |
| |
| | | |
|
| | | | |
| | |
|