FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour REPORT IMPRIMIR EN 2 LINEAS UN REGISTRO
Posts: 1078
Joined: Thu Sep 27, 2007 03:47 PM
REPORT IMPRIMIR EN 2 LINEAS UN REGISTRO
Posted: Tue Feb 23, 2010 10:50 PM
Como imprimo una segunda linea con el REPORT requiero imprimir un registro en 2 o mas lineas

Code (fw): Select all Collapse
聽 REPORT oReport ;
聽 聽 聽 聽 聽 TITLE 聽"REGISTRO REFERENCIAS ",;
聽 聽 聽 聽 聽 聽 聽 聽 聽OemtoAnsi("");
聽 聽 聽 聽 聽 FONT 聽 oFon1,;
聽 聽 聽 聽 聽 聽 聽 聽 聽oFon2,;
聽 聽 聽 聽 聽 聽 聽 聽 聽oFon3 ;
聽 聽 聽 聽 聽 PEN 聽 聽oPen1,;
聽 聽 聽 聽 聽 聽 聽 聽 聽oPen2 ;
聽 聽 聽 聽 聽 HEADER 聽" Fecha : "+dtoc(date()),;
聽 聽 聽 聽 聽 聽 聽 聽 聽 "Hora 聽: "+time(),;
聽 聽 聽 聽 聽 聽 聽 聽 聽 "Pagina: "+strzero(oReport:nPage,3),;
聽 聽 聽 聽 聽 聽 聽 聽 聽 memvar->X_TPAQU;
聽 聽 聽 聽 聽 聽 聽 聽 聽 RIGHT ;
聽 聽 聽 聽 聽 FOOTER OemtoAnsi(memvar->X_SIGLA );// 聽CENTERED;
聽 聽 聽 聽 聽 PREVIEW 聽//TO DEVICE oPrn PREVIEW 聽 聽 // 聽 聽 聽TO FILE "d:\test.txt" TO

聽 聽 oReport:bPreInit:= { || oDatos:MoveFirst() } 聽// se cocolo el 22 ago 2009 prueba para excel

聽 聽 聽 聽 聽COLUMN TITLE "Sta" DATA 聽{ || iif( oDatos:Fields("status"):Value=1,"Si","No")} ;
聽 聽 聽 聽 聽 聽 聽 聽 FONT 1 聽SIZE 3 //SHADOW GRID 1 hace la raya vertical
聽 聽 聽 聽 聽COLUMN TITLE "Item" DATA oDatos:Fields("consec"):Value;
聽 聽 聽 聽 聽 聽 聽 聽 FONT 1 聽SIZE 3 //SHADOW GRID 1 hace la raya vertical
聽 聽 聽 聽 聽COLUMN TITLE "Codigo.Prod" DATA oDatos:Fields("codprod"):Value;
聽 聽 聽 聽 聽 聽 聽 聽 FONT 1 聽SIZE 10 //SHADOW GRID 1 hace la raya vertical
聽 聽 聽 聽 聽COLUMN TITLE "Simbolo" DATA oDatos:Fields("simbolo"):Value ;
聽 聽 聽 聽 聽 聽 聽 聽 FONT 1 聽SIZE 35 聽//SHADOW grid 聽//coloca sombreado
聽 聽 聽 聽 聽COLUMN TITLE "Referencia" DATA oDatos:Fields("referencia"):Value ;
聽 聽 聽 聽 聽 聽 聽 聽 FONT 1 聽SIZE 25 聽//SHADOW grid 聽//coloca sombreado
聽 聽 聽 聽 聽COLUMN TITLE "Largo/Alt" DATA oDatos:Fields("largo"):Value PICTURE "999.99" ;
聽 聽 聽 聽 聽 聽 聽 聽 FONT 1 聽SIZE 8 //SHADOW grid 聽//coloca sombreado
聽 聽 聽 聽 聽COLUMN TITLE "Ancho/B.Menor" DATA oDatos:Fields("ancho"):Value PICTURE "999.99" ;
聽 聽 聽 聽 聽 聽 聽 聽 FONT 1 聽SIZE 8 聽//SHADOW grid 聽//coloca sombreado
聽 聽 聽 聽 聽COLUMN TITLE "Ancho/B.Menor" DATA oDatos:Fields("ancho_m"):Value PICTURE "999.99";
聽 聽 聽 聽 聽 聽 聽 聽 FONT 1 聽SIZE 10 //SHADOW grid 聽//coloca sombreado
聽 聽 聽 聽 聽COLUMN TITLE "Fuelle.F" DATA oDatos:Fields("fuel_f"):Value PICTURE "999.99" ;
聽 聽 聽 聽 聽 聽 聽 聽 FONT 1 聽SIZE 6 聽//SHADOW grid 聽//coloca sombreado
聽 聽 聽 聽 聽COLUMN TITLE "Fuelle.L" DATA oDatos:Fields("fuel_l"):Value PICTURE "999.99" ;
聽 聽 聽 聽 聽 聽 聽 聽 FONT 1 聽SIZE 6 聽//SHADOW grid 聽//coloca sombreado
聽 聽 聽 聽 聽COLUMN TITLE "Tara" DATA oDatos:Fields("tara"):Value 聽PICTURE "999.99";
聽 聽 聽 聽 聽 聽 聽 聽 FONT 1 聽SIZE 6 聽//SHADOW grid 聽//coloca sombreado
聽 聽 聽 聽 聽COLUMN TITLE "Solapa" DATA oDatos:Fields("solapa"):Value PICTURE "999.99" ;
聽 聽 聽 聽 聽 聽 聽 聽 FONT 1 聽SIZE 6 聽//SHADOW grid 聽//coloca sombreado
聽 聽 聽 聽 聽COLUMN TITLE "Metros" DATA oDatos:Fields("metros"):Value PICTURE "999.99" ;
聽 聽 聽 聽 聽 聽 聽 聽 FONT 1 聽SIZE 6 聽//SHADOW grid 聽//coloca sombreado
聽 聽 聽 聽 聽COLUMN TITLE "Peso/Mil" DATA oDatos:Fields("kilmil"):Value PICTURE "99.9999" ;
聽 聽 聽 聽 聽 聽 聽 聽 FONT 1 聽SIZE 6 聽//SHADOW grid 聽//coloca sombreado

// esto que sigue lo requiero en otra linea 
聽 聽 聽 聽 聽COLUMN TITLE "Tipo.Selle" DATA oDatos:Fields("nombre_selle"):Value ;
聽 聽 聽 聽 聽 聽 聽 聽 FONT 1 聽SIZE 6 聽//SHADOW grid 聽//coloca sombreado
聽 聽 聽 聽 聽COLUMN TITLE "Tipo.Estilo" DATA oDatos:Fields("nombre_estilo"):Value ;
聽 聽 聽 聽 聽 聽 聽 聽 FONT 1 聽SIZE 6 聽//SHADOW grid 聽//coloca sombreado
聽 聽 聽 聽 聽COLUMN TITLE "Tipo.Material" DATA oDatos:Fields("nombre_mat"):Value ;
聽 聽 聽 聽 聽 聽 聽 聽 FONT 1 聽SIZE 6 聽//SHADOW grid 聽//coloca sombreado
聽 聽 聽 聽 聽COLUMN TITLE "Ruta" DATA oDatos:Fields("nombre_rut"):Value ;
聽 聽 聽 聽 聽 聽 聽 聽 FONT 1 聽SIZE 6 聽//SHADOW grid 聽//coloca sombreado
聽 聽 聽 聽 聽COLUMN TITLE "Tipo.Fac" DATA oDatos:Fields("tipo_factu"):Value ;
聽 聽 聽 聽 聽 聽 聽 聽 FONT 1 聽SIZE 6 聽//SHADOW grid 聽//coloca sombreado
聽 聽 聽 聽 聽COLUMN TITLE "Caras" DATA oDatos:Fields("caras"):Value ;
聽 聽 聽 聽 聽 聽 聽 聽 FONT 1 聽SIZE 6 聽//SHADOW grid 聽//coloca sombreado
聽 聽 聽 聽 聽COLUMN TITLE "Colores" DATA oDatos:Fields("colores"):Value ;
聽 聽 聽 聽 聽 聽 聽 聽 FONT 1 聽SIZE 6 聽//SHADOW grid 聽//coloca sombreado
聽 聽 聽 聽 聽COLUMN TITLE "C.Tratatas" DATA oDatos:Fields("tratado"):Value ;
聽 聽 聽 聽 聽 聽 聽 聽 FONT 1 聽SIZE 6 聽//SHADOW grid 聽//coloca sombreado
聽 聽 聽 聽 聽COLUMN TITLE "No.Carperf" DATA 聽oDatos:Fields("ncarper"):Value ;
聽 聽 聽 聽 聽 聽 聽 聽 FONT 1 聽SIZE 3 //SHADOW GRID 1 hace la raya vertical
聽 聽 聽 聽 聽COLUMN TITLE "Tipo.Perforado" DATA 聽oDatos:Fields("tipo_perforado"):Value ;
聽 聽 聽 聽 聽 聽 聽 聽 FONT 1 聽SIZE 3 //SHADOW GRID 1 hace la raya vertical
聽 聽 聽 聽 聽COLUMN TITLE "Tipo.Troquelado" DATA 聽oDatos:Fields("Tipo_troquelado"):Value ;
聽 聽 聽 聽 聽 聽 聽 聽 FONT 1 聽SIZE 3 //SHADOW GRID 1 hace la raya vertical
聽 聽 聽 聽 聽COLUMN TITLE "Selle.Adicional" DATA 聽oDatos:Fields("Selle_adicn"):Value ;
聽 聽 聽 聽 聽 聽 聽 聽 FONT 1 聽SIZE 3 //SHADOW GRID 1 hace la raya vertical
聽 聽 聽 聽 聽COLUMN TITLE "Dist.Perf" DATA 聽oDatos:Fields("Distper"):Value ;
聽 聽 聽 聽 聽 聽 聽 聽 FONT 1 聽SIZE 3 //SHADOW GRID 1 hace la raya vertical
聽 聽 聽 聽 聽COLUMN TITLE "Nro.Macperf" DATA 聽oDatos:Fields("nro_macper"):Value ;
聽 聽 聽 聽 聽 聽 聽 聽 FONT 1 聽SIZE 3 //SHADOW GRID 1 hace la raya vertical
聽 聽 聽 聽 聽COLUMN TITLE "Tipo.Manija" DATA 聽oDatos:Fields("Tipo_manija"):Value ;
聽 聽 聽 聽 聽 聽 聽 聽 FONT 1 聽SIZE 3 //SHADOW GRID 1 hace la raya vertical
聽 聽 聽 聽 聽COLUMN TITLE "Color.Manija" DATA 聽oDatos:Fields("color_manija"):Value ;
聽 聽 聽 聽 聽 聽 聽 聽 FONT 1 聽SIZE 3 //SHADOW GRID 1 hace la raya vertical
聽 聽 聽 聽 聽COLUMN TITLE "Termino_Envio" DATA 聽oDatos:Fields("termino_envio"):Value ;
聽 聽 聽 聽 聽 聽 聽 聽 FONT 1 聽SIZE 3 //SHADOW GRID 1 hace la raya vertical
聽 聽 聽 聽 聽COLUMN TITLE "num_paq" DATA 聽oDatos:Fields("num_paq"):Value ;
聽 聽 聽 聽 聽 聽 聽 聽 FONT 1 聽SIZE 3 //SHADOW GRID 1 hace la raya vertical
聽 聽 聽 聽 聽COLUMN TITLE "uni_paq" DATA 聽oDatos:Fields("uni_paq"):Value ;
聽 聽 聽 聽 聽 聽 聽 聽 FONT 1 聽SIZE 3 //SHADOW GRID 1 hace la raya vertical
聽 聽 聽 聽 聽COLUMN TITLE "Nro.Macperf" DATA 聽oDatos:Fields("nro_macper"):Value ;
聽 聽 聽 聽 聽 聽 聽 聽 FONT 1 聽SIZE 3 //SHADOW GRID 1 hace la raya vertical

聽 聽 END REPORT
Ruben Dario Gonzalez
Cali-Colombia
rubendariogd@hotmail.com - rubendariogd@gmail.com
Posts: 111
Joined: Thu Jan 19, 2006 11:47 PM
Re: REPORT IMPRIMIR EN 2 LINEAS UN REGISTRO
Posted: Tue Feb 23, 2010 11:21 PM
Ruben Dario:

Prueba as铆:

Code (fw): Select all Collapse
聽COLUMN TITLE "Tipo.Selle/Tipo.Estilo";
聽 聽 聽 聽 DATA 聽(oDatos:Fields("nombre_selle "):Value),;
聽 聽 聽 聽 聽 聽 聽 (oDatos:Fields("nombre_estilo"):Value) ;
聽 聽 聽 聽 FONT 1 聽SIZE 6 聽//SHADOW grid 聽//coloca sombreado


Espero te sirva.
Edgar Mauricio Ar茅valo Mogoll贸n.
Bogot谩 DC. Colombia
FWH FTDN, xHarbour 1.2.1, Pelles C, Fivedit, Visual Studio Code, Borland 7.30, Mysql, Dbfs
http://www.hymplus.com http://www.hymlyma.com
Tratando de retomar la programaci贸n....
Posts: 1078
Joined: Thu Sep 27, 2007 03:47 PM
Re: REPORT IMPRIMIR EN 2 LINEAS UN REGISTRO
Posted: Wed Feb 24, 2010 09:17 PM

Perfecto Mauricio Me funciono, Te pregunto tu tienes un ejemplo para hacer rompimiento.
Es decir quiero hacer rompimiento por el cliente, es este caso codprov.

La otra preguna seria como dejo una linea en blanco por cada 2 lineas que imprimo para este caso

Ruben Dario Gonzalez
Cali-Colombia
rubendariogd@hotmail.com - rubendariogd@gmail.com
Posts: 111
Joined: Thu Jan 19, 2006 11:47 PM
Re: REPORT IMPRIMIR EN 2 LINEAS UN REGISTRO
Posted: Fri Feb 26, 2010 04:28 PM
Ruben Dario:

Ejemplo con codigo como tal no, pero talvez lo hara asi:

Genero un ciclo con do while, genero la variable temporal de V_CodProv , la cargo con los datos de la DBF y luego en la medida que avanza el registro lo comparo con los datos de la DBF, cuando encuentre diferencia hago el rompimiento y vuelvo a cargar la V_CodProv de la DBF y sigue hasta terminar el ciclo do while..

Para la linea en blanco aprovechando que se esta en el ciclo do while genero un variable contador V_linea y en la medida que cumpla la condici贸n V_linea=2 genero la linea en blanco :
Code (fw): Select all Collapse
COLUMN TITLE 聽DATA IF(V_linea=2, " 聽 聽 聽" , (oDatos:Fields("nombre_selle "):Value) )..


y se inicializa la variable otra vez a V_linea=1

Saludos
Edgar Mauricio Ar茅valo Mogoll贸n.
Bogot谩 DC. Colombia
FWH FTDN, xHarbour 1.2.1, Pelles C, Fivedit, Visual Studio Code, Borland 7.30, Mysql, Dbfs
http://www.hymplus.com http://www.hymlyma.com
Tratando de retomar la programaci贸n....
Posts: 1078
Joined: Thu Sep 27, 2007 03:47 PM
Re: REPORT IMPRIMIR EN 2 LINEAS UN REGISTRO
Posted: Fri Feb 26, 2010 08:45 PM
Mauricio , Me podrias indicar en donde se colocaria el Do while.
Pense que existia algun alguna function incorporada el REport , Pense que era esta
GROUP ON FIELD->CODICABEZ ;
HEADER "";

Actualmente estoy trabajando con Mysql





Code (fw): Select all Collapse
REPORT oReport ;
聽 聽 聽 聽 聽 TITLE 聽"REGISTRO REFERENCIAS ",;
聽 聽 聽 聽 聽 聽 聽 聽 聽OemtoAnsi("");
聽 聽 聽 聽 聽 FONT 聽 oFon1,;
聽 聽 聽 聽 聽 聽 聽 聽 聽oFon2,;
聽 聽 聽 聽 聽 聽 聽 聽 聽oFon3 ;
聽 聽 聽 聽 聽 PEN 聽 聽oPen1,;
聽 聽 聽 聽 聽 聽 聽 聽 聽oPen2 ;
聽 聽 聽 聽 聽 HEADER 聽" Fecha : "+dtoc(date()),;
聽 聽 聽 聽 聽 聽 聽 聽 聽 "Hora 聽: "+time(),;
聽 聽 聽 聽 聽 聽 聽 聽 聽 "Pagina: "+strzero(oReport:nPage,3),;
聽 聽 聽 聽 聽 聽 聽 聽 聽 memvar->X_TPAQU;
聽 聽 聽 聽 聽 聽 聽 聽 聽 RIGHT ;
聽 聽 聽 聽 聽 FOOTER OemtoAnsi(memvar->X_SIGLA );// 聽CENTERED;
聽 聽 聽 聽 聽 PREVIEW 聽//TO DEVICE oPrn PREVIEW 聽 聽 // 聽 聽 聽TO FILE "d:\test.txt" TO

聽 聽 oReport:bPreInit:= { || oDatos:MoveFirst() } 聽

聽 聽 聽 聽 聽COLUMN TITLE "Sta" DATA 聽{ || iif( oDatos:Fields("status"):Value=1,"Si","No")} ;
聽 聽 聽 聽 聽 聽 聽 聽 FONT 1 聽SIZE 3 //SHADOW GRID 1 hace la raya vertical
聽 聽 聽 聽 聽COLUMN TITLE "Item" DATA oDatos:Fields("consec"):Value;
聽 聽 聽 聽 聽 聽 聽 聽 FONT 1 聽SIZE 3 //SHADOW GRID 1 hace la raya vertical
聽 聽 聽 聽 聽COLUMN TITLE "Codigo.Prod" DATA oDatos:Fields("codprod"):Value;
聽 聽 聽 聽 聽 聽 聽 聽 FONT 1 聽SIZE 10 //SHADOW GRID 1 hace la raya vertical
聽 聽 聽 聽 COLUMN TITLE "Solapa" DATA oDatos:Fields("solapa"):Value PICTURE "999.99" ;
聽 聽 聽 聽 聽 聽 聽 聽 FONT 1 聽SIZE 6 聽//SHADOW grid 聽//coloca sombreado
聽 聽 聽 聽 聽COLUMN TITLE "Metros" DATA oDatos:Fields("metros"):Value PICTURE "999.99" ;
聽 聽 聽 聽 聽 聽 聽 FONT 1 聽SIZE 3 //SHADOW GRID 1 hace la raya vertical
聽 聽 聽 聽 聽COLUMN TITLE "Tipo.Troquelado" DATA 聽oDatos:Fields("Tipo_troquelado"):Value ;
聽 聽 聽 聽 聽 聽 聽 聽 FONT 1 聽SIZE 3 //SHADOW GRID 1 hace la raya vertical


聽 聽 END REPORT
Ruben Dario Gonzalez
Cali-Colombia
rubendariogd@hotmail.com - rubendariogd@gmail.com
Posts: 215
Joined: Fri Feb 02, 2007 03:38 PM
Re: REPORT IMPRIMIR EN 2 LINEAS UN REGISTRO
Posted: Sat Feb 27, 2010 02:20 AM

Ruben Dario ,

Un ejemplo de un reporte con rompimiento x cliente

SELECT C
USE CLIENTES NEW SHARED
INDEX ON C->COD_CLI + C->NUM_DOC TAG MIINDICE

REPORT oReport TITLE " ","EMPRESA X S.A. ","ESTADO DE SALDOS Y ABONOS", "HISTORICO X CLIENTE ";
PREVIEW

   GetPrintDc()

   COLUMN TITLE "No FACT  "      DATA C->NUM_DOC            SIZE 9
   COLUMN TITLE "Fecha    "      DATA C->FEC_FAC            PICTURE "99/99/9999"  SIZE 11
   COLUMN TITLE "F/Venc "        DATA C->FEC_VENC           PICTURE "99/99/9999"  SIZE 11
   COLUMN TITLE "Monto  "        DATA C->CARGO              PICTURE "999,999.99"  TOTAL
   COLUMN TITLE "Abonado "       DATA C->ABONADO            PICTURE "999,999.99"  TOTAL
   COLUMN TITLE "Ajuste   "      DATA C->IGV_DOL            PICTURE "9,999.99"  TOTAL
   COLUMN TITLE "Saldo    "      DATA C->IGV_COR            PICTURE "999,999.99"  TOTAL

   GROUP ON C->CODIGO   // DEFINO EL ROMPIMIENTO SIN NECESIDAD DEL DO WHILE

   END REPORT

   ACTIVATE REPORT oReport ON ENDPAGE oReport:lPageTotal:= .f. ;
   ON STARTGROUP( oReport:NewLine(),;
   oReport:EndLine(),;
   oReport:Say(0,"CLIENTE :    " +C->CODIGO+"-"+ALLTRIM(C->NOMBRES),4,,oReport:nRow),;
   oReport:NewLine(),;
   oReport:EndLine() ) ;

   CLOSE CLIENTES

RETURN NIL

ESPERO TE SEA DE UTILIDAD
SALUDOS DESDE Manaua, Nicaragua

Ramon Paredes

... Desde la Tierra de lagos y Volcanes......

Continue the discussion