PC SOFT

PROFESSIONAL NEWSGROUPS
WINDEVWEBDEV and WINDEV Mobile

Home → WINDEV 28 → ayuda con la grupacion dentro de una table o Grid
ayuda con la grupacion dentro de una table o Grid
Started by PEDROMANUEL / pedro, Jul., 30 2017 6:27 PM - 1 reply
Registered member
26 messages
Posted on July, 30 2017 - 6:27 PM
Esta es mi programacion pero y alimento la tabla o grid de esta forma , pero como puedo darle en la parte superior el nombre de cada agrupacion por favor ayuda con una explicacion


IF NoSpace(xbodega,sscRight)="TodaslasBodegas" THEN
//consult ="select a.fecha,a.producto,b.nombre,a.cantidad,a.tipo,a.numero,a.orden,a.costo,a.costo_pro,a.bodega from Union_Inv_Fac a,fcproduc b where a.fecha>='"+EDT_Date_d+" 00:00:00' and a.fecha<='"+EDT_Date_h+" 23:00:00' and a.producto>='"+EDT_producto_d+"' and a.producto<='"+EDT_producto_H+"' and a.producto=b.codigo order by a.producto,a.fecha,a.orden,a.tipo"

consult = "SELECT b.codigo, b.nombre,b.linea, isnull(a.nombre,'') AS nombre_linea, ISNULL "+
" ((SELECT SUM(cantidad) AS Expr1 "+
" FROM dbo.FCMOVI_INVENTARIO "+
" WHERE (producto = b.codigo) and fecha<= '"+EDT_Date_c+"' AND (tipo IN ('CO', 'OI', 'TR', 'CL', 'DE', 'TM', 'PD', 'CP', 'AJ', 'AI', 'IP'))), 0) - (ISNULL "+
" ((SELECT SUM(cantidad) AS Expr1 "+
" FROM dbo.FCMOVI_INVENTARIO AS FCMOVI_INVENTARIO_1 "+
" WHERE (producto = b.codigo) and fecha<='"+EDT_Date_c+"' AND (tipo IN ('SA', 'LI', 'OS', 'SM', 'ET', 'EM', 'ED', 'EP'))), 0) + ISNULL "+
" ((SELECT SUM(cantidad) AS Expr1 "+
" FROM dbo.FCMOVI_FACTURACION "+
" WHERE (producto = a.codigo) and fecha<='"+EDT_Date_c+"' AND (tipo IN ('FA', 'NV', 'TI', 'FE'))), 0)) + ISNULL "+
" ((SELECT SUM(cantidad) AS Expr1 "+
" FROM dbo.FCMOVI_FACTURACION AS FCMOVI_FACTURACION_1 "+
" WHERE (producto = a.codigo) and fecha<= '"+EDT_Date_c+"' AND (tipo IN ('DE', 'DV'))), 0) AS Existencia,b.costo "+
" FROM dbo.fcproduc b left outer JOIN dbo.dbtablas a on a.codigo= b.linea and (a.tipo = 'LIN') "+
"WHERE "+p_lineas+" ( b.codigo>='"+EDT_producto_d+"') AND ( b.codigo<= '"+EDT_producto_h+"') order by b.linea"

ELSE
consult = "SELECT b.codigo, b.nombre,b.linea, isnull(a.nombre,'') AS nombre_linea, ISNULL "+
" ((SELECT SUM(cantidad) AS Expr1 "+
" FROM dbo.FCMOVI_INVENTARIO "+
" WHERE (producto = b.codigo) AND (bodega ="+xbodega+") and fecha<= '"+EDT_Date_c+"' AND (tipo IN ('CO', 'OI', 'TR', 'CL', 'DE', 'TM', 'PD', 'CP', 'AJ', 'AI', 'IP'))), 0) - (ISNULL "+
" ((SELECT SUM(cantidad) AS Expr1 "+
" FROM dbo.FCMOVI_INVENTARIO AS FCMOVI_INVENTARIO_1 "+
" WHERE (producto = b.codigo) AND (bodega ="+xbodega+") and fecha<='"+EDT_Date_c+"' AND (tipo IN ('SA', 'LI', 'OS', 'SM', 'ET', 'EM', 'ED', 'EP'))), 0) + ISNULL "+
" ((SELECT SUM(cantidad) AS Expr1 "+
" FROM dbo.FCMOVI_FACTURACION "+
" WHERE (producto = a.codigo) AND (bodega ="+xbodega+") and fecha<= '"+EDT_Date_c+"' AND (tipo IN ('FA', 'NV', 'TI', 'FE'))), 0)) + ISNULL "+
" ((SELECT SUM(cantidad) AS Expr1 "+
" FROM dbo.FCMOVI_FACTURACION AS FCMOVI_FACTURACION_1 "+
" WHERE (producto = a.codigo) AND (bodega ="+xbodega+") and fecha<= '"+EDT_Date_c+"' AND (tipo IN ('DE', 'DV'))), 0) AS Existencia,b.costo "+
" FROM dbo.fcproduc b left outer JOIN dbo.dbtablas a on a.codigo= b.linea and (a.tipo = 'LIN') "+
"WHERE "+p_lineas+" ( b.codigo>='"+EDT_producto_d+"') AND ( b.codigo<= '"+EDT_producto_h+"') order by b.linea "
END
lista is Data Source
TableDeleteAll(TABLE_movimiento)
x05 is string=""
SQLExec(consult,lista)
IF SQLFetch(lista)=0 THEN
//nombre_lineas=SQLGetCol(lista, 4)
x05 =SQLGetCol(lista, 3)
TableAddLine(TABLE_movimiento,SQLGetCol(lista, 1),SQLGetCol(lista, 2),SQLGetCol(lista, 5),SQLGetCol(lista, 6),SQLGetCol(lista, 3),SQLGetCol(lista, 4))
END
WHILE SQLFetch(lista)=0
//******************************************************
x01 is string=SQLGetCol(lista, 1)
x02 is string=SQLGetCol(lista, 2)
x03 is numeric=SQLGetCol(lista, 5)
x04 is numeric=SQLGetCol(lista, 6)
IF NoSpace(x05,sscAll)<> NoSpace(SQLGetCol(lista, 3),sscAll) THEN
x05 =SQLGetCol(lista, 3)
// TABLE_movimiento.BreakHeader1.nombre_lineas=SQLGetCol(lista, 4)
//nombre_lineas=SQLGetCol(lista, 4)
END


//TableAddLine(TABLE_movimiento.Nombre_Linea..Value,SQLGetCol(lista, 3))
TableAddLine(TABLE_movimiento,SQLGetCol(lista, 1),SQLGetCol(lista, 2),SQLGetCol(lista, 5),SQLGetCol(lista, 6),SQLGetCol(lista, 3),SQLGetCol(lista, 4))
SQLGetCol(lista, 2)
END

SQLClose(lista)
Posted on July, 31 2017 - 12:35 PM
Buenos dias,

prueba con este código (adaptandolo)

//Variables a utilizar
nIDLinia is int // numero de linea insertada
nIDBreak1 is int =0 // numero de break procesado

// se añade la linea a la tabla y guardo la posición
nIDLinia=TableAddLine(TABLE_Efectes,.........)

// miro si el break de la linea insertada a cambiado
IF nIDBreak1 <> TableBreakSubscript(BRK_BreakHeader1,nIDLinia) THEN
// si cambia recupero el nuevo id de break

nIDBreak1=TableBreakSubscript(BRK_BreakHeader1,nIDLinia)
// relleno el titulo
TABLE_Efectes[nIDBreak1].STC_Agrupacio = "nuevo titulo"
END
END

Saludos
Raül Vidiella




El 30/07/2017 a les 16:27, PEDROMANUEL / pedro ha escrit:
Esta es mi programacion pero y alimento la tabla o grid de esta forma ,
pero como puedo darle en la parte superior el nombre de cada agrupacion
por favor ayuda con una explicacion


IF NoSpace(xbodega,sscRight)="TodaslasBodegas" THEN
//consult ="select
a.fecha,a.producto,b.nombre,a.cantidad,a.tipo,a.numero,a.orden,a.costo,a.costo_pro,a.bodega
from Union_Inv_Fac a,fcproduc b where a.fecha>='"+EDT_Date_d+"
00:00:00' and a.fecha<='"+EDT_Date_h+" 23:00:00' and
a.producto>='"+EDT_producto_d+"' and a.producto<='"+EDT_producto_H+"'
and a.producto=b.codigo order by a.producto,a.fecha,a.orden,a.tipo"
consult = "SELECT b.codigo, b.nombre,b.linea,
isnull(a.nombre,'') AS nombre_linea, ISNULL "+
" ((SELECT SUM(cantidad) AS Expr1 "+
" FROM dbo.FCMOVI_INVENTARIO "+
" WHERE (producto = b.codigo) and fecha<=
'"+EDT_Date_c+"' AND (tipo IN ('CO', 'OI', 'TR', 'CL', 'DE', 'TM', 'PD',
'CP', 'AJ', 'AI', 'IP'))), 0) - (ISNULL "+
" ((SELECT SUM(cantidad) AS Expr1 "+
" FROM dbo.FCMOVI_INVENTARIO AS FCMOVI_INVENTARIO_1 "+
" WHERE (producto = b.codigo) and
fecha<='"+EDT_Date_c+"' AND (tipo IN ('SA', 'LI', 'OS', 'SM', 'ET',
'EM', 'ED', 'EP'))), 0) + ISNULL "+
" ((SELECT SUM(cantidad) AS Expr1 "+
" FROM dbo.FCMOVI_FACTURACION "+
" WHERE (producto = a.codigo) and
fecha<='"+EDT_Date_c+"' AND (tipo IN ('FA', 'NV', 'TI', 'FE'))), 0)) +
ISNULL "+
" ((SELECT SUM(cantidad) AS Expr1 "+
" FROM dbo.FCMOVI_FACTURACION AS FCMOVI_FACTURACION_1 "+
" WHERE (producto = a.codigo) and fecha<=
'"+EDT_Date_c+"' AND (tipo IN ('DE', 'DV'))), 0) AS Existencia,b.costo "+
" FROM dbo.fcproduc b left outer JOIN dbo.dbtablas a on
a.codigo= b.linea and (a.tipo = 'LIN') "+
"WHERE "+p_lineas+" ( b.codigo>='"+EDT_producto_d+"') AND (
b.codigo<= '"+EDT_producto_h+"') order by b.linea"

ELSE
consult = "SELECT b.codigo, b.nombre,b.linea,
isnull(a.nombre,'') AS nombre_linea, ISNULL "+
" ((SELECT SUM(cantidad) AS Expr1 "+
" FROM dbo.FCMOVI_INVENTARIO "+
" WHERE (producto = b.codigo) AND (bodega ="+xbodega+")
and fecha<= '"+EDT_Date_c+"' AND (tipo IN ('CO', 'OI', 'TR', 'CL',
'DE', 'TM', 'PD', 'CP', 'AJ', 'AI', 'IP'))), 0) - (ISNULL "+
" ((SELECT SUM(cantidad) AS Expr1 "+
" FROM dbo.FCMOVI_INVENTARIO AS FCMOVI_INVENTARIO_1 "+
" WHERE (producto = b.codigo) AND (bodega ="+xbodega+")
and fecha<='"+EDT_Date_c+"' AND (tipo IN ('SA', 'LI', 'OS', 'SM', 'ET',
'EM', 'ED', 'EP'))), 0) + ISNULL "+
" ((SELECT SUM(cantidad) AS Expr1 "+
" FROM dbo.FCMOVI_FACTURACION "+
" WHERE (producto = a.codigo) AND (bodega ="+xbodega+")
and fecha<= '"+EDT_Date_c+"' AND (tipo IN ('FA', 'NV', 'TI', 'FE'))),
0)) + ISNULL "+
" ((SELECT SUM(cantidad) AS Expr1 "+
" FROM dbo.FCMOVI_FACTURACION AS FCMOVI_FACTURACION_1 "+
" WHERE (producto = a.codigo) AND (bodega ="+xbodega+")
and fecha<= '"+EDT_Date_c+"' AND (tipo IN ('DE', 'DV'))), 0) AS
Existencia,b.costo "+
" FROM dbo.fcproduc b left outer JOIN dbo.dbtablas a on
a.codigo= b.linea and (a.tipo = 'LIN') "+
"WHERE "+p_lineas+" ( b.codigo>='"+EDT_producto_d+"') AND (
b.codigo<= '"+EDT_producto_h+"') order by b.linea "
END
lista is Data Source
TableDeleteAll(TABLE_movimiento)
x05 is string=""
SQLExec(consult,lista)
IF SQLFetch(lista)=0 THEN
//nombre_lineas=SQLGetCol(lista, 4)
x05 =SQLGetCol(lista, 3)
TableAddLine(TABLE_movimiento,SQLGetCol(lista,
1),SQLGetCol(lista, 2),SQLGetCol(lista, 5),SQLGetCol(lista,
6),SQLGetCol(lista, 3),SQLGetCol(lista, 4))
END
WHILE SQLFetch(lista)=0
//******************************************************
x01 is string=SQLGetCol(lista, 1)
x02 is string=SQLGetCol(lista, 2)
x03 is numeric=SQLGetCol(lista, 5)
x04 is numeric=SQLGetCol(lista, 6)
IF NoSpace(x05,sscAll)<> NoSpace(SQLGetCol(lista, 3),sscAll)
THEN
x05 =SQLGetCol(lista, 3)
//
TABLE_movimiento.BreakHeader1.nombre_lineas=SQLGetCol(lista, 4)
//nombre_lineas=SQLGetCol(lista, 4)
END



//TableAddLine(TABLE_movimiento.Nombre_Linea..Value,SQLGetCol(lista, 3))
TableAddLine(TABLE_movimiento,SQLGetCol(lista,
1),SQLGetCol(lista, 2),SQLGetCol(lista, 5),SQLGetCol(lista,
6),SQLGetCol(lista, 3),SQLGetCol(lista, 4))
SQLGetCol(lista, 2) END
SQLClose(lista)



---
El software de antivirus Avast ha analizado este correo electrónico en busca de virus.
https://www.avast.com/antivirus