Error al enviar a Excel un Report (SOLUCIONADO)
Posted: Sat Dec 14, 2024 4:40 pm
Buenas
Tengo éste código:
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
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 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