xbrowse con columnas variables
xbrowse con columnas variables
buenos dias :
he construido un select cuyo resultado puede tener una cantidad variable de columnas ( los nombres de las columnas pueden cambiar segun la empresa que lo use )
ejemplo ... mes, v_alma01, v_alma02, v_alma03, v_alma04, v_alma05
mes, v_hist, v_proy, v_trans
este select contiene las ventas mensuales por cada tienda
Enero, 100, 150, 120
febrer0, 200,150,130
como puedo hacer para construir un xbrowse que me muestre las columnas obtenidas ( que como indique anteriormente son variables )
gracias por la atencion
he construido un select cuyo resultado puede tener una cantidad variable de columnas ( los nombres de las columnas pueden cambiar segun la empresa que lo use )
ejemplo ... mes, v_alma01, v_alma02, v_alma03, v_alma04, v_alma05
mes, v_hist, v_proy, v_trans
este select contiene las ventas mensuales por cada tienda
Enero, 100, 150, 120
febrer0, 200,150,130
como puedo hacer para construir un xbrowse que me muestre las columnas obtenidas ( que como indique anteriormente son variables )
gracias por la atencion
Re: xbrowse con columnas variables
Busca en el foro AddCol, es justo lo que necesitas, puedes definir el xbrowse vacio o con algunas columnas y despues ir añadiendo según tus necesidades
http://forums.fivetechsupport.com/viewt ... 08#p223906
http://forums.fivetechsupport.com/viewt ... 08#p223906
C. Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
Si alguien te dice que algo no se puede hacer, recuerda que esta hablando de sus limitaciones, no de las tuyas.
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
Si alguien te dice que algo no se puede hacer, recuerda que esta hablando de sus limitaciones, no de las tuyas.
Re: xbrowse con columnas variables
aTdas ... es un arreglo de las tiendas de una empresa ( este arreglo puede ser variable, es decir hoy tiene 3 y luego puede tener 5, 6, o mas )
TEM_T ... es una tabla (producto de un select) donde tiene las valores de las ventas de las tiendas
necesito un browse con las ventas de las tiendas, pero solo obtengo 0,00 en el browse ( las cabeceras si se muestran correctamente )
for i := 1 to len(aTdas)
WITH OBJECT oCol := oBrwT:AddCol()
:bStrData := { || cValToChar( TEM_T->( FieldGet( i ) ) ) }
:cHeader := trim(aTdas[i,1])
END WITH
next i
favor su ayuda ...
TEM_T ... es una tabla (producto de un select) donde tiene las valores de las ventas de las tiendas
necesito un browse con las ventas de las tiendas, pero solo obtengo 0,00 en el browse ( las cabeceras si se muestran correctamente )
for i := 1 to len(aTdas)
WITH OBJECT oCol := oBrwT:AddCol()
:bStrData := { || cValToChar( TEM_T->( FieldGet( i ) ) ) }
:cHeader := trim(aTdas[i,1])
END WITH
next i
favor su ayuda ...
Re: xbrowse con columnas variables
Qué versión de Fwh utilizas?hpoliz wrote:aTdas ... es un arreglo de las tiendas de una empresa ( este arreglo puede ser variable, es decir hoy tiene 3 y luego puede tener 5, 6, o mas )
TEM_T ... es una tabla (producto de un select) donde tiene las valores de las ventas de las tiendas
necesito un browse con las ventas de las tiendas, pero solo obtengo 0,00 en el browse ( las cabeceras si se muestran correctamente )
for i := 1 to len(aTdas)
WITH OBJECT oCol := oBrwT:AddCol()
:bStrData := { || cValToChar( TEM_T->( FieldGet( i ) ) ) }
:cHeader := trim(aTdas[i,1])
END WITH
next i
favor su ayuda ...
Mira a ver si utilizando una variable intermedia te funciona
Code: Select all
for i := 1 to len(aTdas)
WITH OBJECT oCol := oBrwT:AddCol()
cDato := cValToChar( TEM_T->( FieldGet( i ) ) )
:bStrData := { || cDato }
:cHeader := trim(aTdas[i,1])
END WITH
next i
C. Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
Si alguien te dice que algo no se puede hacer, recuerda que esta hablando de sus limitaciones, no de las tuyas.
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
Si alguien te dice que algo no se puede hacer, recuerda que esta hablando de sus limitaciones, no de las tuyas.
Re: xbrowse con columnas variables
Estimado cnavarro :
estoy usando fwh 17.09 y no funciono usando la variable intermedia que sugeriste.
Se agradece tu sugerencia
estoy usando fwh 17.09 y no funciono usando la variable intermedia que sugeriste.
Se agradece tu sugerencia
Re: xbrowse con columnas variables
Qué error te da?
C. Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
Si alguien te dice que algo no se puede hacer, recuerda que esta hablando de sus limitaciones, no de las tuyas.
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
Si alguien te dice que algo no se puede hacer, recuerda que esta hablando de sus limitaciones, no de las tuyas.
Re: xbrowse con columnas variables
Estimado cnavarro :
disculpa si me exprese mal ..
No hay error en la sentencia ... me referia a que no visualizo los datos ... solo veo 0,00
Colocando de esta forma si se visualizan los valores, pero como no se cuantas columnas tendra la tabla necesito que el browse sea variable
ADD COLUMN TO XBROWSE oBrwT ;
DATA TEM_T->V_ALMA01 ;
HEAD "ALMA01" SIZE 80
ADD COLUMN TO XBROWSE oBrwT ;
DATA TEM_T->V_ALMA02 ;
HEAD "ALMA02" SIZE 80
ADD COLUMN TO XBROWSE oBrwT ;
DATA TEM_T->V_ALMA03 ;
HEAD "ALMA03" SIZE 80
disculpa si me exprese mal ..
No hay error en la sentencia ... me referia a que no visualizo los datos ... solo veo 0,00
Colocando de esta forma si se visualizan los valores, pero como no se cuantas columnas tendra la tabla necesito que el browse sea variable
ADD COLUMN TO XBROWSE oBrwT ;
DATA TEM_T->V_ALMA01 ;
HEAD "ALMA01" SIZE 80
ADD COLUMN TO XBROWSE oBrwT ;
DATA TEM_T->V_ALMA02 ;
HEAD "ALMA02" SIZE 80
ADD COLUMN TO XBROWSE oBrwT ;
DATA TEM_T->V_ALMA03 ;
HEAD "ALMA03" SIZE 80
Re: xbrowse con columnas variables
El problema seguramente es lo que se denomina "detached" local, busca en el foro y si no ves como solucionarlo, seguimos con ello
C. Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
Si alguien te dice que algo no se puede hacer, recuerda que esta hablando de sus limitaciones, no de las tuyas.
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
Si alguien te dice que algo no se puede hacer, recuerda que esta hablando de sus limitaciones, no de las tuyas.
Re: xbrowse con columnas variables
Estimado cnavarro :
Gracias por la atencion ... revisare lo sugerido
Gracias por la atencion ... revisare lo sugerido
- FranciscoA
- Posts: 1964
- Joined: Fri Jul 18, 2008 1:24 am
- Location: Chinandega, Nicaragua, C.A.
Re: xbrowse con columnas variables
hpoliz (no se tu nombre)
Hago algo muy, pero muy parecido a lo que expones, solo que con dbfs.
Intenta adaptar el siguiente codigo, en el que claramente se ve que la tabla InfoVtas sería como el resultado de tu consulta Sql.
Saludos.
Hago algo muy, pero muy parecido a lo que expones, solo que con dbfs.
Intenta adaptar el siguiente codigo, en el que claramente se ve que la tabla InfoVtas sería como el resultado de tu consulta Sql.
Code: Select all
//------------------------------------//FranciscoA
Function Ventas()
//Ej. Todos los PtosVta: "BAR","RES","RCH","COM","PIS"
local aPtoVtas:={"BAR","RCH"} //Ptos/Vta que deseamos informar
local aVentas, aStruct:= {}, cCampo, n, cPto, dFecha, nVtas:=0
DBUsearea(.t.,,"Ventas","Ventas",.t.)
INDEX ON FIELD->PUNTOVTA + DTOS(field->FECHA) TO PF TEMPORARY
aadd( aStruct, {"FECHA", "D", 8,0 } )
For n := 1 to len(aPtoVtas)
aadd( aStruct, { aPtoVtas[n], "N", 10,2 } )
Next
DbCreate( ".\infovtas", aStruct )
DBUsearea(.t.,,".\InfoVtas","InfoVtas",.f.)
DbSelectArea("Ventas")
dbgotop()
For n := 1 to len(aPtoVtas)
if Ventas->( DbSeek( cPto := aPtoVtas[n] ) )
While alltrim(field->PuntoVta) == cPto
dFecha := field->Fecha
nVtas := 0
While field->fecha = dFecha
nVtas += Field->ValorFact
dbSkip()
Enddo
InfoVtas->(dbAppend())
InfoVtas->Fecha := dFecha
InfoVtas->&cPto := nVtas
SysRefresh()
Enddo
endif
next
Ventas->(DbCloseArea())
BrwVentas("INFOVTAS",aPtoVtas)
INFOVTAS->(DBCLOSEAREA())
FERASE(".\INFOVTAS.DBF")
Return nil
//------------------------------------//
Function BrwVentas(cTblName,aHeaders)
local oDlg, oBrw
DEFINE DIALOG oDlg SIZE 600,400 PIXEL TITLE "Ventas por Tienda"
@ 2, 0 XBROWSE oBrw OF oDlg PIXEL SIZE 280,140 ;
DATASOURCE cTblName ;
HEADERS aHeaders ;
FOOTERS CELL LINES
WITH OBJECT oBrw
:nColDividerStyle := LINESTYLE_LIGHTGRAY
:nRowDividerStyle := LINESTYLE_LIGHTGRAY
END
oBrw:CreateFromCode()
ACTIVATE DIALOG oDlg CENTERED ;
ON INIT ( oBrw:Move(40,20) )
RETURN NIL
Francisco J. Alegría P.
Chinandega, Nicaragua.
Fwxh1204-MySql-TMySql
Chinandega, Nicaragua.
Fwxh1204-MySql-TMySql