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.

Problema con Report

Foro de Xailer profesional en español
Responder
Andres Hocevar
Mensajes: 141
Registrado: Mar Sep 18, 2007 3:30 pm

Problema con Report

Mensaje por Andres Hocevar »

Hola Foro
Estoy haciendo un reporte simple que funciona bien hasta que totaliza
este es el codigo de la columna
oColumn := oReport:AddColumn()
oColumn:aTitle := { {|| "Articulos" } }
oColumn:aData := { {|| mC:perte } }
oColumn:aPicture := { "99,999" }
oColumn :cTotalPict:= { "999,999" }
oColumn:nAlignment := 2
oColumn:Create()
luego agrego esto antes del Create por su puesto
oColumn:lTotal := .T.
y me sale este error???
"Argument error: TRANSFORM on line 114; oReport:Run()"
Lo estoy ejecutando desde un blob guardado en una tabla usando xascript
La columna "mC:perte" es numerica ya que si val(mC:perte) da error de
argumento y cuando no totaliza muestra un numero.
Que estoy haciendo mal????
ESTE ES EL CODIGO COMPLETO
Function Reporte()
LOCAL oFont1, oFont2, oFont3, oFont4, oFont5, mSQL, mC, oReport,
oGroup1, oGroup2, oColumn
oFont1 := TFont():New()
oFont1:cName := "Arial"
oFont1:nSize := 10
oFont1:lBold := .F.
oFont2 := TFont():New()
oFont2:cName := "Arial"
oFont2:nSize := 12
oFont2:lBold := .F.
oFont3 := TFont():New()
oFont3:cName := "Arial"
oFont3:nSize := 14
oFont3:lBold := .F.
oFont4 := TFont():New()
oFont4:cName := "Arial"
oFont4:nSize := 12
oFont4:lBold := .T.
oFont5 := TFont():New()
oFont5:cName := "Arial"
oFont5:nSize := 10
oFont5:lBold := .T.
mSQL := "SELECT a.depto, b.descrip dptodesc, a.linea, c.descrip
lineadesc, a.grupo, a.nom_grup, a.tipo, "
mSQL += " (SELECT COUNT(*) FROM sinv c WHERE c.grupo=a.grupo ) perte "
mSQL += "FROM grup a JOIN dpto b ON a.depto=b.depto JOIN line c ON
a.linea=c.linea "
mSQL += "ORDER BY a.depto,a.linea,a.grupo"
mC := oCon:query(mSQL)
mC:GoTop()
oReport := TReport():New()
oReport:oTitle := TRptLine():Create( oReport, { {|| "LISTA DE GRUPOS"}
}, 6 , "t" )
oReport:oHeader := TRptLine():Create( oReport, { {|| DtoC( Date() ) + "
" + Time()} }, 0 , "h" )
oReport:oFooter := TRptLine():Create( oReport, { {|| "Pagina: " +
lTrim( Str( oReport:nPage ) )} }, 2, "f" )
oReport:aFonts := { oFont1, oFont2, oFont3, oFont4, oFont5 }
oReport:lPreview := .T.
oReport:Create()
oGroup1 := oReport:AddGroup()
oGroup1:bGroup := {|oSender| " "+mC:depto+"
"+mC:dptodesc }
oGroup1:bHeader := {|oSender| oGroup1:cValue }
oGroup1:bFooter := {|oSender| "Final Departamento
"+alltrim(oGroup1:cValue)}
oGroup1:nFont := 4
oGroup1:lEject := .T.
oGroup1:Create()
oGroup2 := oReport:AddGroup()
oGroup2:bGroup := {|oSender| mC:linea+" "+mC:lineadesc }
oGroup2:bHeader := {|oSender| oGroup2:cValue }
oGroup2:bFooter := {|oSender| "Final Linea "+oGroup2:cValue}
oGroup2:nFont := 5
oGroup2:Create()
oColumn := oReport:AddColumn()
oColumn:aTitle := { {|| "Grupo" } }
oColumn:aData := { {|| mC:grupo} }
oColumn:nCharSize := 6
oColumn:Create()
oColumn := oReport:AddColumn()
oColumn:aTitle := { {|| "Nombre" } }
oColumn:aData := { {|| mC:nom_grup} }
oColumn:nCharSize := 30
oColumn:Create()
oColumn := oReport:AddColumn()
oColumn:aTitle := { {|| "Tipo" } }
oColumn:aData := { {|| mC:tipo} }
oColumn:nCharSize := 3
oColumn:Create()
oColumn := oReport:AddColumn()
oColumn:aTitle := { {|| "Articulos" } }
oColumn:aData := { {|| mC:perte } }
oColumn:aPicture := { "99,999" }
oColumn :cTotalPict := { "999,999" }
oColumn:nAlignment := 2
oColumn:lTotal := .T. // <===== AQUI ES EL PROBLEMA
oColumn:Create()
oReport:bWhile := {|| ! mC:Eof() }
oReport:bSkip := {|| mC:Skip() }
oReport:Run()
Return Nil
Andres Hocevar
Mensajes: 141
Registrado: Mar Sep 18, 2007 3:30 pm

Problema con Report

Mensaje por Andres Hocevar »

Ya lo encontre el problema es la linea
oColumn :cTotalPict:= { "999,999" }
debe ser
oColumn :cTotalPict:= "999,999"
Andres Hocevar escribió:
> Hola Foro
>
> Estoy haciendo un reporte simple que funciona bien hasta que totaliza
> este es el codigo de la columna
>
> oColumn := oReport:AddColumn()
> oColumn:aTitle := { {|| "Articulos" } }
> oColumn:aData := { {|| mC:perte } }
> oColumn:aPicture := { "99,999" }
> oColumn :cTotalPict:= { "999,999" }
> oColumn:nAlignment := 2
> oColumn:Create()
>
> luego agrego esto antes del Create por su puesto
>
> oColumn:lTotal := .T.
>
> y me sale este error???
>
> "Argument error: TRANSFORM on line 114; oReport:Run()"
>
> Lo estoy ejecutando desde un blob guardado en una tabla usando xascript
>
> La columna "mC:perte" es numerica ya que si val(mC:perte) da error de
> argumento y cuando no totaliza muestra un numero.
>
> Que estoy haciendo mal????
>
> ESTE ES EL CODIGO COMPLETO
>
> Function Reporte()
> LOCAL oFont1, oFont2, oFont3, oFont4, oFont5, mSQL, mC, oReport,
> oGroup1, oGroup2, oColumn
>
> oFont1 := TFont():New()
> oFont1:cName := "Arial"
> oFont1:nSize := 10
> oFont1:lBold := .F.
>
> oFont2 := TFont():New()
> oFont2:cName := "Arial"
> oFont2:nSize := 12
> oFont2:lBold := .F.
>
> oFont3 := TFont():New()
> oFont3:cName := "Arial"
> oFont3:nSize := 14
> oFont3:lBold := .F.
>
> oFont4 := TFont():New()
> oFont4:cName := "Arial"
> oFont4:nSize := 12
> oFont4:lBold := .T.
>
> oFont5 := TFont():New()
> oFont5:cName := "Arial"
> oFont5:nSize := 10
> oFont5:lBold := .T.
>
> mSQL := "SELECT a.depto, b.descrip dptodesc, a.linea, c.descrip
> lineadesc, a.grupo, a.nom_grup, a.tipo, "
> mSQL += " (SELECT COUNT(*) FROM sinv c WHERE c.grupo=a.grupo ) perte "
> mSQL += "FROM grup a JOIN dpto b ON a.depto=b.depto JOIN line c ON
> a.linea=c.linea "
> mSQL += "ORDER BY a.depto,a.linea,a.grupo"
> mC := oCon:query(mSQL)
> mC:GoTop()
>
> oReport := TReport():New()
> oReport:oTitle := TRptLine():Create( oReport, { {|| "LISTA DE GRUPOS"}
> }, 6 , "t" )
> oReport:oHeader := TRptLine():Create( oReport, { {|| DtoC( Date() ) + "
> " + Time()} }, 0 , "h" )
> oReport:oFooter := TRptLine():Create( oReport, { {|| "Pagina: " +
> lTrim( Str( oReport:nPage ) )} }, 2, "f" )
> oReport:aFonts := { oFont1, oFont2, oFont3, oFont4, oFont5 }
> oReport:lPreview := .T.
> oReport:Create()
>
> oGroup1 := oReport:AddGroup()
> oGroup1:bGroup := {|oSender| " "+mC:depto+"
> "+mC:dptodesc }
> oGroup1:bHeader := {|oSender| oGroup1:cValue }
> oGroup1:bFooter := {|oSender| "Final Departamento
> "+alltrim(oGroup1:cValue)}
> oGroup1:nFont := 4
> oGroup1:lEject := .T.
> oGroup1:Create()
>
> oGroup2 := oReport:AddGroup()
> oGroup2:bGroup := {|oSender| mC:linea+" "+mC:lineadesc }
> oGroup2:bHeader := {|oSender| oGroup2:cValue }
> oGroup2:bFooter := {|oSender| "Final Linea "+oGroup2:cValue}
> oGroup2:nFont := 5
> oGroup2:Create()
>
> oColumn := oReport:AddColumn()
> oColumn:aTitle := { {|| "Grupo" } }
> oColumn:aData := { {|| mC:grupo} }
> oColumn:nCharSize := 6
> oColumn:Create()
>
> oColumn := oReport:AddColumn()
> oColumn:aTitle := { {|| "Nombre" } }
> oColumn:aData := { {|| mC:nom_grup} }
> oColumn:nCharSize := 30
> oColumn:Create()
>
> oColumn := oReport:AddColumn()
> oColumn:aTitle := { {|| "Tipo" } }
> oColumn:aData := { {|| mC:tipo} }
> oColumn:nCharSize := 3
> oColumn:Create()
>
> oColumn := oReport:AddColumn()
> oColumn:aTitle := { {|| "Articulos" } }
> oColumn:aData := { {|| mC:perte } }
> oColumn:aPicture := { "99,999" }
> oColumn :cTotalPict := { "999,999" }
> oColumn:nAlignment := 2
> oColumn:lTotal := .T. // <===== AQUI ES EL PROBLEMA
> oColumn:Create()
>
> oReport:bWhile := {|| ! mC:Eof() }
> oReport:bSkip := {|| mC:Skip() }
> oReport:Run()
>
> Return Nil
Responder