Problema con Report
Publicado: Vie Nov 23, 2007 8:24 pm
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
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