Précédent   Forum des professionnels en informatique > Environnements de développement > WinDev
WinDev Forum d'entraide sur la programmation en WinDev
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 03/02/2012, 12h17   #21
Futur Membre du Club
 
Inscription : janvier 2012
Messages : 171
Détails du profil
Informations forums :
Inscription : janvier 2012
Messages : 171
Points : 16
Points : 16
Merci tatayo d'avoir pris le temps de tout bien détaillé pour que je comprenne et cela à été bénéfique ! J'ai maintenant 444 caractères mais il m'en manque toujours 8 ... une idée?

Voici mon code repris d'apres vos conseils :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
//ENTETE

//Entête chaîne
sTypeEnreg, sTypeLiqui, sRefExtFourCommande, sTypeCodifRefExt, sNumFourExtCommande, sRefExtBeneMandat, sTypeCodifRefExtBeneMandat sont des chaînes
sCodeBanqGuichet, sNumCompteBanc, sCleRib, sTypeDomici, sCodeGestCommande, sCodeOpe, sObjetDepense, sReffacture, sCommenFact sont des chaînes
sSigneMontNetFact, sSigneMontantHT, sSigneMontTTC, sRefAvoir, sSigneMontHTAvoir, sSigneMontTTCAvoir, sSigneTauxEscompte, sSigneMontantEscompte sont des chaînes
sActiviteTaxa, sTypeDeNbr, sConditionPaiement, sModePaiement, sBenefDuMandat, sNumEnregFact, sIndicCreationFact, sIndicAvoir, sDelaiPaiement sont des chaînes
sJourTombePaiement, sIndicAnnula, sNumLiquiAnnula, sNumLiquiOrigine sont des chaînes
sMontantHTAvoir, sTauxTVAAvoir, sMontantTTCAvoir, sTauxEscompte, sMontantEscompte, sTauxRemiseGlobal sont des chaînes
sDatPrevisioMandat, sDateEcheance sont des chaînes

//Entête Entier
nEntJuri, nNumFourCommande, nExercice, nCodeTVA sont des entiers

//Entête Réel
rMontantNetFact, rMontantHT, rTauxTVA, rMontantTTC,rProtaraTVADedu sont des réels

//Entête Date
dDateRecep, dDateFact, dDateArriveFact sont des Dates

// -----------------------------------------------------------------------------------------------------------------------------------

//ENTETE VALEURS

//Entête chaîne
sTypeEnreg = "00"
sTypeLiqui = "LS"
sRefExtFourCommande = Complète(sRefExtFourCommande,15," ")
sTypeCodifRefExt = Complète(sTypeCodifRefExt,2," ")
sNumFourExtCommande = Complète(sNumFourExtCommande,35," ")
sRefExtBeneMandat = Complète(sRefExtBeneMandat,15," ")
sTypeCodifRefExtBeneMandat = Complète(sTypeCodifRefExtBeneMandat,2," ")
sCodeBanqGuichet = Complète(sCodeBanqGuichet,10," ")
sNumCompteBanc = Complète(sNumCompteBanc,15," ")
sCleRib = Complète(sCleRib,2," ")
sTypeDomici = Complète(sTypeDomici,1," ")
sCodeGestCommande = "JV" //a modif
sCodeOpe = Complète(sCodeOpe,10," ")
sObjetDepense = "AAAAAAAAAAAAAAAAAAAAAAAAA" // a modif
sReffacture = "BBBBBBBBBBBBBBBBBBBBBBBBBBBBBB" //a modif
sCommenFact = "CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC" //a modif
sSigneMontNetFact = "+" 
sSigneMontantHT = "+"
sSigneMontTTC = "+"
sRefAvoir = Complète(sRefAvoir,35," ")
sSigneMontHTAvoir = "+"
sSigneMontTTCAvoir = "+"
sSigneTauxEscompte = "+"
sSigneMontantEscompte = "+"
sActiviteTaxa = "P" //a modif
sTypeDeNbr = Complète(sTypeDeNbr,2," ")
sConditionPaiement = Complète(sConditionPaiement,2," ")
sModePaiement = Complète(sModePaiement,2," ")   //252 caractères

//Entête Entier
nEntJuri = "032"
nNumFourCommande = "000000" //a modif
sBenefDuMandat = Complète(NumériqueVersChaîne(sBenefDuMandat),6," ")
nExercice = "2012" //a modif
sNumEnregFact = Complète(NumériqueVersChaîne(sNumEnregFact),6," ")
sIndicCreationFact = Complète(NumériqueVersChaîne(sIndicCreationFact),1," ")
nCodeTVA = "04" //a modif
sIndicAvoir = Complète(NumériqueVersChaîne(sIndicAvoir),1," ")
sDelaiPaiement = Complète(NumériqueVersChaîne(sDelaiPaiement),3," ")
sJourTombePaiement = Complète(NumériqueVersChaîne(sJourTombePaiement),2," ")
sIndicAnnula = Complète(NumériqueVersChaîne(sIndicAnnula),1," ")
sNumLiquiAnnula = Complète(NumériqueVersChaîne(sNumLiquiAnnula),6," ")
sNumLiquiOrigine = Complète(NumériqueVersChaîne(sNumLiquiOrigine),6," ")   //47 caratères

//Entête Réel
rMontantNetFact = "111111111111111" //a modif
rMontantHT = "222222222222222" //a modif
rTauxTVA = "1960" //a modif
rMontantTTC = "333333333333333" //a modif
sMontantHTAvoir = Complète(NumériqueVersChaîne(sMontantHTAvoir),15," ")
sTauxTVAAvoir = Complète(NumériqueVersChaîne(sTauxTVAAvoir),4," ")
sMontantTTCAvoir = Complète(NumériqueVersChaîne(sMontantTTCAvoir),15," ")
sTauxEscompte = Complète(NumériqueVersChaîne(sTauxEscompte),6," ")
sMontantEscompte = Complète(NumériqueVersChaîne(sMontantEscompte),15," ")
rProtaraTVADedu = "0270"
sTauxRemiseGlobal = Complète(NumériqueVersChaîne(sTauxRemiseGlobal),5," ")   //113 caratères

//Entête Date
sDatPrevisioMandat = Complète(DateVersChaîne(sDatPrevisioMandat),8," ")
dDateRecep = "20000101" //a modif
dDateFact = "20000202" //a modif
dDateArriveFact = "20000202" //a modif
sDateEcheance = Complète(DateVersChaîne(sDateEcheance),8," ")  //40 caractères     TOTAL ENTETE 452 caratères???

// Création du fichier externe Entete
ResCreationEntete est une chaîne
ResCreationEntete = fCrée("C:\Mes Projets\Projet LSCP\ExportEntete.txt")
SI ResCreationEntete <> -1 ALORS 
	...
FIN

EnregEntete est une chaîne = (sTypeEnreg+sTypeLiqui+nEntJuri+nNumFourCommande+sRefExtFourCommande+sTypeCodifRefExt+sNumFourExtCommande+sBenefDuMandat+sRefExtBeneMandat+sTypeCodifRefExtBeneMandat+sCodeBanqGuichet+sNumCompteBanc+sCleRib+sTypeDomici+sDatPrevisioMandat+nExercice+sCodeGestCommande+sCodeOpe+sObjetDepense+dDateRecep+sReffacture+sNumEnregFact+sIndicCreationFact+sCommenFact+dDateFact+dDateArriveFact+sSigneMontNetFact+rMontantNetFact+sSigneMontantHT+rMontantHT+rTauxTVA+sSigneMontTTC+rMontantTTC+nCodeTVA+sRefAvoir+sSigneMontHTAvoir+sMontantHTAvoir+sTauxTVAAvoir+sSigneMontTTCAvoir+sMontantTTCAvoir+sSigneTauxEscompte+sTauxEscompte+sSigneMontantEscompte+sMontantEscompte+sActiviteTaxa+rProtaraTVADedu+sIndicAvoir+sTauxRemiseGlobal+sDelaiPaiement+sTypeDeNbr+sConditionPaiement+sJourTombePaiement+sModePaiement+sDateEcheance+sIndicAnnula+sNumLiquiAnnula+sNumLiquiOrigine)

IdFichierEntete est un entier
ResEcritureEntete est une chaîne
IdFichierEntete = fOuvre("C:\Mes Projets\Projet LSCP\ExportEntete.txt", foLectureEcriture)

SI IdFichierEntete <> -1 ALORS
	// Écriture dans ce fichier
	ResEcritureEntete = fEcrit(IdFichierEntete,EnregEntete)
	Info("Votre fichier d'export entête à bien été crée")
	SI ResEcritureEntete <> -1 ALORS
		// ...
	FIN
FIN
juliendu01 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/02/2012, 12h40   #22
Membre éclairé
 
Développeur informatique
Inscription : février 2007
Messages : 319
Détails du profil
Informations personnelles :
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : février 2007
Messages : 319
Points : 338
Points : 338
Bonjour,
comme te l'as déjà dit wimbish, tu peux utiliser le mode debug pas à pas.
Tu dois savoir à partir de quel moment tu perds des caractères.
Avant d'écrire ta ligne tu peux afficher chacune de tes variables ou même la taille de chacune de tes variables. A toi de vérifier celles qui ne correspondent pas.
Bon Dev
Gancau
gancau est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/02/2012, 12h45   #23
Futur Membre du Club
 
Inscription : janvier 2012
Messages : 171
Détails du profil
Informations forums :
Inscription : janvier 2012
Messages : 171
Points : 16
Points : 16
Okay je vais faire sa merci à tous pour votre aide.
juliendu01 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/02/2012, 14h01   #24
Membre chevronné
 
Avatar de wimbish
 
Homme Christophe Vibert
Développeur informatique
Inscription : octobre 2006
Messages : 292
Détails du profil
Informations personnelles :
Nom : Homme Christophe Vibert
Âge : 38
Localisation : France, Manche (Basse Normandie)

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : octobre 2006
Messages : 292
Points : 632
Points : 632
lorsque tu fait : rProtaraTVADedu = "0270"
ta variable rProtaraTVADedu contient "270" car c'est un réel.

idem pour les tous tes numériques.

Si tu veux écrire 0270, tu doit ecrire dans le fichier : NumériqueVersChaine(rProtaraTVADedu,"04d")
wimbish est déconnecté   Envoyer un message privé Réponse avec citation 20
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h08.


 
 
 
 
Partenaires

Hébergement Web