Mira el siguiente codigo:
- Code: Select all Expand view RUN
static function cReport(aini,afin,nOpcion,nOpcion1,nOpcion2,aAlias)
********************************
local oFont1, oFont2
local oPrinter
local ctitle
local atipo:=iif(nOpcion=1,'de Credito','de Contado')
local nindex:=(aAlias[31])->(Ordsetfocus())
(aAlias[31])->(Ordsetfocus('Fecha'))
(aAlias[31])->(Ordscope(0,dtos(aIni)))
(aAlias[31])->(Ordscope(1,dtos(aFin)))
(aAlias[31])->(Dbgotop())
DEFINE FONT oFont1 NAME "ARIAL" SIZE 0,-10 BOLD ITALIC
DEFINE FONT oFont2 NAME "ARIAL" SIZE 0,-8 ITALIC
REPORT oReport ;
TITLE ctitle, ;
"",;
"" ;
FONT oFont1,;
oFont2 ;
FOOTER "Página: "+str(oReport:nPage,3) ;
CENTERED ;
PREVIEW
COLUMN TITLE "Num." DATA (aAlias[31])->Albaran SIZE 5
COLUMN TITLE "Fecha" DATA (aAlias[31])->Fecha
COLUMN TITLE "Codigo" DATA (aAlias[31])->Codpro
COLUMN TITLE "Nombre" DATA oemtoansi((aAlias[31])->Pro) Picture "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
COLUMN TITLE "Conductor" DATA oemtoansi((aAlias[31])->nconductor) Picture "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
COLUMN TITLE "Importe" DATA (aAlias[31])->Baseimpo;
TOTAL ;
RIGHT ;
PICTURE "@Z 99,999.99";
SIZE 9
COLUMN TITLE "Factura" DATA (aAlias[31])->Factura SIZE 5
if nOpcion1=1 .and. nOpcion=1
GROUP ON (aAlias[31])->codpro ;
HEADER "Cliente "+(aAlias[31])->codpro+' '+alltrim((aAlias[31])->pro);
FOOTER "Total Albaranes "+ltrim(str(oReport:aGroups[1]:nCounter))
endif
END REPORT
IF oReport:lCreated
oReport:aColumns[1]:bDataFont := {|| 2 }
oReport:aColumns[2]:bDataFont := {|| 2 }
oReport:aColumns[3]:bDataFont := {|| 2 }
oReport:aColumns[4]:bDataFont := {|| 2 }
oReport:aColumns[5]:bDataFont := {|| 2 }
oReport:aColumns[6]:bDataFont := {|| 2 }
oReport:aColumns[7]:bDataFont := {|| 2 }
ENDIF
do case
case nopcion2=1
IF nOpcion=1
ACTIVATE REPORT oReport for (aAlias[31])->estado="1" .and. (aAlias[31])->tipo=1
ELSE
ACTIVATE REPORT oReport for (aAlias[31])->tipo=2
ENDIF
case nopcion2=2
if nOpcion=1
ACTIVATE REPORT oReport for (aAlias[31])->tipo=1
else
ACTIVATE REPORT oReport
endif
end case
oFont1:End()
oFont2:End()
(aAlias[31])->(Ordscope(0,Nil))
(aAlias[31])->(Ordscope(1,Nil))
(aAlias[31])->(Ordsetfocus(nindex))
RETURN NIL
//-----------------------------------
Pues bien, éste código que me muestra albaranes con condicionantes, me pasa lo que tu dices, que me sale la pantallita de que está generando el preview, y se corta, y además el programa finaliza sin ningún tipo de error ,y no hay error.log ni nada.
Sin embargo, éste mismo código con la base de datos de clientes, con los mismos condicionanes, me funciona perfectamente.
No he sido capaz de averiguar por qué, ni quitando los scopes ni nada.
Saludos
Jose Luis