
Problemas exportacion a texto
Publicado por Lazaro (5 intervenciones) el 13/09/2016 15:42:21
Buenas gente.
Tengo el siguiente problema, a la hora de exportar un datawindows a texto, me encuentro que cuando éste es demasiado extenso la exportación se realiza de manera incompleta.
Aqui adjunto el codigo donde doy formato a la linea y la escribo.
Tienen alguna sugerencia???
Tengo el siguiente problema, a la hora de exportar un datawindows a texto, me encuentro que cuando éste es demasiado extenso la exportación se realiza de manera incompleta.
Aqui adjunto el codigo donde doy formato a la linea y la escribo.
Tienen alguna sugerencia???
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
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
for j = 1 to li_cant
ls_fila = ""
//recorro los campos seleccionados
for i = 1 to 8
ls_campo = i_str_format.campo[i]
//de acuerdo al campo que selecciono
Choose case ls_campo
//legajos
case 'legajo'
ls_valor = dw_rp1.getitemstring(j,'legajo')
if isnull(ls_valor ) then ls_valor = ""
//tarjeta
case 'tarjeta'
ls_valor = dw_rp1.getitemstring(j,'tarjeta')
if isnull(ls_valor ) then ls_valor = ""
//conceptos
case 'causa'
ls_valor = dw_rp1.getitemstring(j,'causa')
if isnull(ls_valor ) then ls_valor = ""
//fecdesde
case 'ent'
ldt_ent = dw_rp1.getitemdatetime(j,'ent')
ls_valor = string(date(ldt_ent),ls_formatdate) + " " + string(time(ldt_ent),ls_formattime)
case 'sal'
ldt_sal = dw_rp1.getitemdatetime(j,'sal')
ls_valor = string(date(ldt_sal), ls_formatdate) + " " + string(time(ldt_sal),ls_formattime)
//horasjustif
case 'horas'
ll_cant = dw_rp1.getitemnumber(j,'hsjustif')
if isnull(ll_cant) then ll_cant = 0
ld_cant = round(ll_cant / 60,0)
li_resto = mod(ll_cant,60)
ls_formato = i_str_format.formato
choose case ls_formato
case 'hhhh:mm'
ls_valor = string(ld_cant,'0000') + ':' + string(li_resto,'00')
case 'hh:mm'
ls_valor = string(ld_cant,'00') + ':' + string(li_resto,'00')
case 'h:mm'
ls_valor = string(ld_cant,'0') + ':' + string(li_resto,'00')
case 'hhhhmm'
ls_valor = string(ld_cant,'0000') + string(li_resto,'00')
case 'hhhh.hh'
//divido la cant por 60 y coloco formato con 2 dec separados por un punto
ls_valor = string(ld_cant,'0000') + "." + string(li_resto,'00')
case 'mmmm'
ls_valor = string(ll_cant,'0000.00')
end choose
//tothslab
case 'horaslab'
ll_cant = dw_rp1.getitemnumber(j,'hslab')
if isnull(ll_cant) then ll_cant = 0
ld_cant = round(ll_cant / 60,0)
li_resto = mod(ll_cant,60)
ls_formato = i_str_format.formato
choose case ls_formato
case 'hhhh:mm'
ls_valor = string(ld_cant,'0000') + ':' + string(li_resto,'00')
case 'hh:mm'
ls_valor = string(ld_cant,'00') + ':' + string(li_resto,'00')
case 'h:mm'
ls_valor = string(ld_cant,'0') + ':' + string(li_resto,'00')
case 'hhhhmm'
ls_valor = string(ld_cant,'0000') + string(li_resto,'00')
case 'hhhh.hh'
//divido la cant por 60 y coloco formato con 2 dec separados por un punto
ls_valor = string(ld_cant,'0000') + "." + string(li_resto,'00')
case 'mmmm'
ls_valor = string(dw_rp1.getitemnumber(j,'cant'),'0000.00')
end choose
case 'dias'
ld_cant = dw_rp1.getitemnumber(j,'dias')
ls_valor = string(ld_cant)
//cant de dias laborables
case 'diaslab'
ld_cant = dw_rp1.getitemnumber(j,'diaslab')
ls_valor = string(ld_cant)
End choose
if i_str_format.fijo = 'S' then
//tomo el largo a recortar
li_largo = i_str_format.largo[i]
//calculo dif
li_dif = li_largo - len(trim(ls_valor))
//si faltan caract agrego espacios sino recorto al largo definido
if li_dif >=0 then
choose case ls_campo
case 'tarjeta', 'legajo', 'ent', 'sal', 'horas', 'horaslab', 'dias', 'diaslab'
ls_valor = space(li_dif)+trim(ls_valor)
case 'causa'
ls_valor = space(li_dif)+ trim(ls_valor)
end choose
else
ls_valor = left(trim(ls_valor),li_largo)
end if
else
ls_valor = trim(ls_valor)
end if
if i = 8 then
ls_fila = ls_fila + ls_delimitador + ls_valor + ls_delimitador
else
ls_fila = ls_fila + ls_delimitador + ls_valor + ls_delimitador + ls_separador
end if
next
garbageCollect()
ls_fila = ls_fila + '~r~n'
li_rta = FileWriteEx(li_file, ls_fila)
n++
Valora esta pregunta


0