In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

Pictures en TReport (2

Foro público de Xailer en español
Responder
Guillermo Guevara Car
Mensajes: 176
Registrado: Sab Ene 19, 2008 5:52 pm

Pictures en TReport (2

Mensaje 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
lmcahisa
Mensajes: 36
Registrado: Vie Jun 16, 2006 4:35 am

Pictures en TReport (2

Mensaje 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
Guillermo Guevara Car
Mensajes: 176
Registrado: Sab Ene 19, 2008 5:52 pm

Pictures en TReport (2

Mensaje 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
>
Rene Flores
Mensajes: 620
Registrado: Jue Mar 23, 2006 2:39 am

Pictures en TReport (2

Mensaje 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
>>
>
>
Guillermo Guevara Car
Mensajes: 176
Registrado: Sab Ene 19, 2008 5:52 pm

Pictures en TReport (2

Mensaje 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
>>>
>>
Responder