Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Impresión
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-08-2016
cristian22 cristian22 is offline
Miembro
NULL
 
Registrado: jun 2014
Posts: 18
Poder: 0
cristian22 Va por buen camino
Ayuda con Reporte

Hola diseñe un formulario de venta utilizando query de zeos y mysql -5 en delphi 2010. en dicho formulario utilizo un stringgrid para visualizar los datos de dicha venta. lo que quiero es ahora al dar en el boton aceptar me genere un reporte utilizo rave report. El prolema que tengo es el siguiente en el stringgrid tengo el idproducto,nombre,precio,cantidad,subtotal de los cuales al guardar en la base de datos en la tabla detalle solo guardo el precio cantidad id producto, el subtotal lo trabajo como un campo carculado desde el query. Al general el reporte me visualiza los siguientes datos idproducto,cantidad,subtotal,precio lo que quiero es que me visualice tambien el nombre del producto. Como podria realizar dicha operacion sin agregar un nuevo campo a mi tabla detalle. Intente crear un campo carculado que sea string pero el prolema sigue igual. Dejo el codigo que trabaje
Código SQL [-]
tabla detalle_de_venta
idventa
cantidad
precio
idproducto

Código Delphi [-]
procedure TfVentas.bAceptarClick(Sender: TObject);
var
i:integer;
begin

 try
  fmodulo.conexion.StartTransaction;
    with fmodulo,self do
     fmodulo.qVentas.Active:=true;
     fmodulo.qCaja.Active:=true;
     fmodulo.qVentas.Insert;
     fmodulo.qVentas['idcliente']  := idcliente;
     fmodulo.qFecha.Open;
     fmodulo.qVentas['fechavent']  := fmodulo.qFecha['fecha'];
     fmodulo.qVentas['idcaja']:=fmodulo.qCaja['idcaja'];
     fmodulo.qVentas['horavent']:= fmodulo.qFecha['hora'];
     fmodulo.qVentas['totalventa']:= eTotal.text;
     fmodulo.qFecha.Close;
     fmodulo.qVentas.Post;
     with fmodulo,self,sgDetalle do
     begin
       fmodulo.qdetalle.Active:=true;
       fmodulo.qProductos.Active:=true;
       for i := 1 to rowcount - 2 do
         begin
           fmodulo.qdetalle.Insert;
           fmodulo.qdetalle['idventa']:= fmodulo.qVentas['idventa'];
           fmodulo.qdetalle['idproducto']:= strtoint(sgDetalle.Cells[0,i]);
           fmodulo.qdetalle.FieldByName('nombre').AsString:= sgDetalle.Cells[1,i]; //aqui probe usando un campo carculado pero no logro solucionar el inconveniente  
           fmodulo.qdetalle['precio_venta']:=  strtofloat(sgDetalle.Cells[2,i]);
           fmodulo.qdetalle['cantidad_venta']:= strtofloat(sgDetalle.Cells[3,i]);
           fmodulo.qdetalle.Post;
           fmodulo.rvFactura.Execute;
     end;
     end;
finally
  fmodulo.conexion.Commit;
  self.Close;
  end;

El campo carculado. En el evento onCalcFields del query tengo la siguiente linea
Código Delphi [-]
procedure TfModulo.qdetalleCalcFields(DataSet: TDataSet);
begin
   DataSet['subtotal']:=DataSet['precio_venta']*DataSet['cantidad_venta'];
   DataSet['nombre']:=fmodulo.qProductos['nombrepr'];

end;
Responder Con Cita
  #2  
Antiguo 23-08-2016
bitbow bitbow is offline
Miembro
 
Registrado: jul 2006
Posts: 366
Poder: 18
bitbow Va camino a la fama
Crea una vista, usa una variable de Rave report o algun evento.
__________________
¡Ni como ayudarte Niño!!
bitbow
Responder Con Cita
  #3  
Antiguo 24-08-2016
cristian22 cristian22 is offline
Miembro
NULL
 
Registrado: jun 2014
Posts: 18
Poder: 0
cristian22 Va por buen camino
Hola

Cita:
Empezado por bitbow Ver Mensaje
Crea una vista, usa una variable de Rave report o algun evento.
eso intente creando variables, tanto en el form como luego en el query pero aun asi no logro que me muestre el nombre del producto en el reporte
Responder Con Cita
  #4  
Antiguo 25-08-2016
rocksoft rocksoft is offline
Miembro
NULL
 
Registrado: may 2016
Posts: 71
Poder: 8
rocksoft Va por buen camino
Buenas

Código Delphi [-]
tabla detalle_de_venta
idventa
cantidad
precio
idproducto

Si tu tabla detalle_de_venta la tienes en un query, por que no haces un join de la tabla de procutos y ya tendrias el nombre.
Responder Con Cita
  #5  
Antiguo 25-08-2016
cristian22 cristian22 is offline
Miembro
NULL
 
Registrado: jun 2014
Posts: 18
Poder: 0
cristian22 Va por buen camino
Gracias Por responder

Cita:
Empezado por rocksoft Ver Mensaje
Buenas

Código Delphi [-]
tabla detalle_de_venta
idventa
cantidad
precio
idproducto

Si tu tabla detalle_de_venta la tienes en un query, por que no haces un join de la tabla de procutos y ya tendrias el nombre.
Hola esto ya lo habia intentado antes como una solucion realize dicha consulta y traje el "nombre de los productos" de la tabla productos al query detalle. Como consulta y visualizar todas las ventas que realize sirve perfecto. El prolema es que cuando estoy realizando una venta actual y realizo el post para mostrar luego el reporte en forma de factura me tira error de ""Cannot update a complex query with more then one table"".
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Ayuda generar reporte en fastreport steelha Impresión 5 07-03-2013 19:46:37
Ayuda con un reporte en Rav JefeNet Impresión 2 03-06-2010 18:01:17
Ayuda con Reporte Ricomarz Impresión 0 13-03-2007 08:04:02
Impresion de un Reporte (Ayuda) Inon Impresión 4 16-05-2005 21:39:34
Ayuda con reporte, QReport o lo que sea CI>140 Impresión 2 23-09-2003 23:03:17


La franja horaria es GMT +2. Ahora son las 21:36:15.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi