Página 1 de 1

Pictures en TReport (2

Publicado: Sab Ago 01, 2009 11:52 am
por Guillermo Guevara Car
Alguien podría auxiliarme para lograr que en un reporte, un campo numérico
se imprima con un picture determinado con ó sin decimales, lo intenté con el
código mostrado pero no funciona.
COLUMN OF oReport;
TITLE 'Mínimo ';
DATA ARTICULO->Minimo;
PICTURE If(ARTICULO->Decimales=='S','9,999.999',;
'9,999,999');
ALIGN taRIGHT
Lei en la documentación que se puede lograr con:
oCol:aPicture := { "9999999999", "@!" }
Pero no entiendo como y donde aplicarlo
Gracias
Guillermo

Pictures en TReport (2

Publicado: Sab Ago 01, 2009 6:00 pm
por lmcahisa
Hola Guillermo
No soy un experto con objetos y xailer pero te paso lo que solucione con la
parte de DATA
No se si en el picture te funcionara, lo que veo es estas usando un IF y no
un IIF como deberia ser a mi modesto entender.
COLUMN OF oReport ;
TITLE "Debe ";
DATA iif(::libromayor:tipo=='D',::libromayor:importe,0.00);
ALIGN taRIGHT ;
PICTURE "@E 999,999,999.99";
total;
FONT 2
COLUMN OF oReport ;
TITLE "Haber ";
DATA iif(::libromayor:tipo=='D',0.00,::libromayor:importe);
ALIGN taRIGHT ;
PICTURE "@E 999,999,999.99";
total;
FONT 2
Un saludo
Luis Cahisa

Pictures en TReport (2

Publicado: Sab Ago 01, 2009 11:56 pm
por Guillermo Guevara Car
Luis:
Gracias por tu respuesta
Si observas el problema no es en el DATA, sino en el PICTURE, además
funciona igual el If y el IIf pruebalo y verás, sigue al aire la pregunta.
Guillermo
"Luis Cahisa" <lmcahisa@yahoo.com.ar> escribió en el mensaje
news:[email=4a7466a8@svctag-j7w3v3j....]4a7466a8@svctag-j7w3v3j....[/email]
> Hola Guillermo
> No soy un experto con objetos y xailer pero te paso lo que solucione con
> la parte de DATA
> No se si en el picture te funcionara, lo que veo es estas usando un IF y
> no un IIF como deberia ser a mi modesto entender.
> COLUMN OF oReport ;
> TITLE "Debe ";
> DATA iif(::libromayor:tipo=='D',::libromayor:importe,0.00);
> ALIGN taRIGHT ;
> PICTURE "@E 999,999,999.99";
> total;
> FONT 2
>
> COLUMN OF oReport ;
> TITLE "Haber ";
> DATA iif(::libromayor:tipo=='D',0.00,::libromayor:importe);
> ALIGN taRIGHT ;
> PICTURE "@E 999,999,999.99";
> total;
> FONT 2
>
> Un saludo
>
> Luis Cahisa
>

Pictures en TReport (2

Publicado: Lun Ago 03, 2009 6:50 pm
por Rene Flores
Guillermo:
Y no te va a funcionar como lo estas poniendo, porque la clausa PICTURE
de las columnas de los reportes NO ESTA SUSTENTADA POR UN BLOQUE DE CODIGO.
A diferencia de los DATA o de los FONT, donde la expresión está definida
por un bloque de código (que no ves, pero que el preprocesador define),
los picture no están "bloquificados" en la definción del comando.
Hay 2 formas de hacer lo que quieres:
1) Directamente en la cláusula DATA y haciendo un transform con el IF
que propones:
> COLUMN OF oReport;
> TITLE 'Mí­nimo ';
> DATA TRANSFORM (ARTICULO->Minimo , IF(ARTICULO->Decimales == 'S','9,999.999','9,999,999' );
> ALIGN taRIGHT
2) O bien defiendo un bloque de código para la expresion del picture
(esto no estoy seguro que funcione se me ocurre así­ "al bote":
> COLUMN OF oReport;
> TITLE 'Mí­nimo ';
> DATA ARTICULO->Minimo;
> PICTURE EVAL ({|| If(ARTICULO->Decimales=='S','9,999.999',;
> '9,999,999')};
> ALIGN taRIGHT
Saludos.
Rene Flores
http://www.ciber-tec.com
Guevara escribió:
> Luis:
>
> Gracias por tu respuesta
>
> Si observas el problema no es en el DATA, sino en el PICTURE, además
> funciona igual el If y el IIf pruebalo y verás, sigue al aire la pregunta.
>
> Guillermo
>
> "Luis Cahisa" <lmcahisa@yahoo.com.ar> escribió en el mensaje
> news:[email=4a7466a8@svctag-j7w3v3j....]4a7466a8@svctag-j7w3v3j....[/email]
>> Hola Guillermo
>> No soy un experto con objetos y xailer pero te paso lo que solucione con
>> la parte de DATA
>> No se si en el picture te funcionara, lo que veo es estas usando un IF y
>> no un IIF como deberia ser a mi modesto entender.
>> COLUMN OF oReport ;
>> TITLE "Debe ";
>> DATA iif(::libromayor:tipo=='D',::libromayor:importe,0.00);
>> ALIGN taRIGHT ;
>> PICTURE "@E 999,999,999.99";
>> total;
>> FONT 2
>>
>> COLUMN OF oReport ;
>> TITLE "Haber ";
>> DATA iif(::libromayor:tipo=='D',0.00,::libromayor:importe);
>> ALIGN taRIGHT ;
>> PICTURE "@E 999,999,999.99";
>> total;
>> FONT 2
>>
>> Un saludo
>>
>> Luis Cahisa
>>
>
>

Pictures en TReport (2

Publicado: Mar Ago 04, 2009 12:02 am
por Guillermo Guevara Car
Infalible Maestro Rene
Ahora lo veo claro, muy agradecido como siempre.
Asunto cerrado
Guillermo
"Rene Flores" <"rflores[nospam]"@ciber-tec.com> escribió en el mensaje
news:[email=4a77154b@svctag-j7w3v3j....]4a77154b@svctag-j7w3v3j....[/email]
> Guillermo:
>
> Y no te va a funcionar como lo estas poniendo, porque la clausa PICTURE de
> las columnas de los reportes NO ESTA SUSTENTADA POR UN BLOQUE DE CODIGO.
>
> A diferencia de los DATA o de los FONT, donde la expresión está definida
> por un bloque de código (que no ves, pero que el preprocesador define),
> los picture no están "bloquificados" en la definción del comando.
>
> Hay 2 formas de hacer lo que quieres:
>
> 1) Directamente en la cláusula DATA y haciendo un transform con el IF que
> propones:
>
>> COLUMN OF oReport;
>> TITLE 'Mínimo ';
>> DATA TRANSFORM (ARTICULO->Minimo , IF(ARTICULO->Decimales ==
>> 'S','9,999.999','9,999,999' );
>> ALIGN taRIGHT
>
> 2) O bien defiendo un bloque de código para la expresion del picture (esto
> no estoy seguro que funcione se me ocurre así "al bote":
>
>> COLUMN OF oReport;
>> TITLE 'Mínimo ';
>> DATA ARTICULO->Minimo;
>> PICTURE EVAL ({|| If(ARTICULO->Decimales=='S','9,999.999',;
>> '9,999,999')};
>> ALIGN taRIGHT
>
> Saludos.
>
> Rene Flores
> http://www.ciber-tec.com
>
>
>
> Guevara escribió:
>> Luis:
>>
>> Gracias por tu respuesta
>>
>> Si observas el problema no es en el DATA, sino en el PICTURE, además
>> funciona igual el If y el IIf pruebalo y verás, sigue al aire la
>> pregunta.
>>
>> Guillermo
>>
>> "Luis Cahisa" <lmcahisa@yahoo.com.ar> escribió en el mensaje
>> news:[email=4a7466a8@svctag-j7w3v3j....]4a7466a8@svctag-j7w3v3j....[/email]
>>> Hola Guillermo
>>> No soy un experto con objetos y xailer pero te paso lo que solucione con
>>> la parte de DATA
>>> No se si en el picture te funcionara, lo que veo es estas usando un IF y
>>> no un IIF como deberia ser a mi modesto entender.
>>> COLUMN OF oReport ;
>>> TITLE "Debe ";
>>> DATA iif(::libromayor:tipo=='D',::libromayor:importe,0.00);
>>> ALIGN taRIGHT ;
>>> PICTURE "@E 999,999,999.99";
>>> total;
>>> FONT 2
>>>
>>> COLUMN OF oReport ;
>>> TITLE "Haber ";
>>> DATA iif(::libromayor:tipo=='D',0.00,::libromayor:importe);
>>> ALIGN taRIGHT ;
>>> PICTURE "@E 999,999,999.99";
>>> total;
>>> FONT 2
>>>
>>> Un saludo
>>>
>>> Luis Cahisa
>>>
>>