Page 1 of 1

Error al enviar a Excel un Report (SOLUCIONADO)

Posted: Sat Dec 14, 2024 4:40 pm
by JoseLuis
Buenas
Tengo éste código:

Code: Select all | Expand

static function Ltarifa(aAlias )
********************************
     local oFont:=array(3)
     local nfield
     local a,pre,tra,pos1,pos2,precio:=array(41),tramo:=array(41)
     local xtipo,oReport
     local cIndi:=(aAlias[1])->( OrdSetFocus() )
  for a=1 to 41
    pre:='precio'+alltrim(str(a))
    tra:='tramo' +alltrim(str(a))
    pos1:=(aAlias[1])->(fieldpos(pre))
    pos2:=(aAlias[1])->(fieldpos(tra))
    precio[a]:=(aAlias[1])->(fieldget(pos1))
    tramo[a] :=(aAlias[1])->(fieldget(pos2))
  next a
    Do case
       Case (aAlias[1])->Tipo=1
            xtipo:="Bultos"
       Case (aAlias[1])->Tipo=2
            xtipo:="Tramos/Kilos"
       Case (aAlias[1])->Tipo=3
            xtipo:="Kilos"
    end case

     DEFINE FONT oFont[1] NAME "ARIAL" SIZE 0,-9 BOLD 
     DEFINE FONT oFont[2] NAME "ARIAL" SIZE 0,-8 
     DEFINE FONT oFont[3] NAME "ARIAL" SIZE 0,-7 

    REPORT oReport TITLE "TARIFA NUMERO "+(aAlias[1])->Codigo," "," "," ","Codigo de Tarifa "+xtipo  ;
        FONT oFont[1], oFont[2], oFont[3];
        HEADER "TARIFA DE PRECIOS AÑO "+Publicas:cSubd," "," "," "," "," "," "," "CENTERED;
        PREVIEW
        nfield:=1
        COLUMN TITLE "Tramo"            DATA "Hasta"+Transform(Tramo[nfield],"@E 99,999")+" Kilos"  SIZE 15 FONT 3 RIGHT//  PICTURE "@E 99,999" 
        COLUMN TITLE "Precio / Tramo"   DATA Precio[nfield] SIZE 15 FONT 2 RIGHT  PICTURE "@E 999.999999" 
        COLUMN TITLE "Importe / Tramo"  DATA (Precio[nfield]*Tramo[nfield]) SIZE 15 FONT 2 RIGHT  PICTURE "@E 999.99" 
     END REPORT
     oReport:CellView()
     IF oReport:lCreated
         oReport:bSkip:= { || nField++  }
     ENDIF
        oReport:bInit := {|| (aAlias[1])->(dbgotop()) }// activar excel en report 
        ACTIVATE REPORT oReport WHILE Tramo[nfield] <> 0 .and. !(aAlias[1])->(Eof());
        ON STARTPAGE Bitmaps(oReport)
     oFont:End()
     oReport:End()
     (aAlias[1])->( OrdSetFocus(cindi) )
     (aAlias[1])->(Dbgotop())
RETURN NIL
 
Me presenta correctamente el report, pero al pasarlo al activar Excel, me genera éste con todo, cabeceras, etc, pero sin datos.
Me da la impresión que puede ser que ha llegado al final de los datos, cuando hacemos el report, y el oReport:binit no sube el puntero al principio.

Saludos

Re: Error al enviar a Excel un Report (SOLUCIONADO)

Posted: Sun Dec 15, 2024 11:44 am
by JoseLuis
Solucionado,

No me había dado cuenta que bskip debía inicializarlo a 1

Saludos