PDA

Ver la Versión Completa : Problema con 2 Campos en un dbGrid


AGAG4
17-11-2004, 16:05:12
Uso IBX 6.08, Delphi 6, FireBird 1.52

Aqui ando de nuevo molestandolos, ahora la duda que tengo, bueno mas que duda es que el problema es que no se en donde podre aterrizar mi idea, pero bueno mi problema es, tengo un dbGrid del cual lo enlazo a un Detalle de un Maestro-Detalle(Factura), este Detalle tiene su Campo Clave del Articulo, Su Descripcion del Articulo entre otros campos, cuando abro el Detalle tengo esta sentencia SQL en el SelecSQL del ibDataset:
Código SQL:
Select Fac.Bodega,Fac.TipoMov,Fac.Folio,Fac.Indice,Fac.ClaveArt, Fac.Cantidad,Fac.Descto,Fac.Pventa,Fac.DesglosaI,Fac.ImpSIva, Fac.ArtIva,Fac.ImpCIva,Fac.ArtDesc,Fac.ImpDescto,Fac.Servicios, Inv.ClaveArt,Inv.DesArtfrom TFAC_DFACTURAS FacJoin TINV_ARTICULOS Inv on (Fac.ClaveArt=Inv.ClaveArt)where Fac.bodega=:bodega and Fac.tipomov=:tipomov and Fac.folio=:folio

Ahora veran que puse en Negritas 2 campos uno es la Descripcion del Articulo y el Otro Campo es la Descripcion de Servicios en Caso de que la Clave sea un Servicio en vez de un articulo Guardo lo que capturan en la Descripcion en el Campo Servicios, el Campo Servicios no lo tengo enlazado al dbGrid por que forma parte de la Descripcion del Articulo, el Detalle que tengo es que al Abrir una Factura que tiene Servicios no se como hacerle que en el Campo Descripcion del Articulo visualizar el SERVICIO en caso de haberlo, como por ejemplo:

Tengo el siguiente producto en la Tabla de Articulos:
CODIGO DESCRIPCION
0001 MARTILLO V-88

Tengo el siguiente Servicio en la Tabla de Articulos:
CODIGO DESCRIPCION
Servicio01 Servicio

Si guardo el Codigo Servicio01 y en la Descripcion le pongo "XXXXXXXX" y guardo la Factura al Abrirla me mostrara "Servicio", porque tengo enlazado el dbGrid a la Descripcion del Articulo, vuelvo a repetir. En que parte puedo hacer que al momento de Abrir el Detalle durante el proceso de este evento poner una condicion para igualar el Campo Descripcion=Servicios para que se muestre este último, espero no haberlos mareado con tanto rollo.

Agradezco cualquier comentario.

Que tengan buen día.

defcon1_es
23-11-2004, 17:09:54
Hola,
una posible solución es crearte un campo calculado de tipo string,
que es el que debes mostrar en el grid,
y en el evento OnCalcFields del DataSet,
comprobar si es un artículo o un servicio y
asignar a este campo el valor correspondiente.

Salu2.