Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 25-07-2008
hugo_Junior hugo_Junior is offline
Miembro
 
Registrado: may 2008
Posts: 19
Poder: 0
hugo_Junior Va por buen camino
Distinto numeros de Factura

En un Form de Facturación tengo un Nº de comprobante para Factura A, otra B, C y Presupuesto.(son 4 campos distintos)

Código Delphi [-]
procedure tfac.Numero_A;{incremento a el Nº de la Factura 1 mas}
begin
na:=0;
datos.Historial_Factura.Last;
inc(na);
na:=na+datos.Historial_FacturaNumero_a.Value  ;
end;
{se repite lo mismo para los demás comprobantes}
{NA=fac A}
{NB=fac B}
{NC=fac C}
{NP=presupuesto}

Tengo un combo que guarda las letras(A,B,C) de los comprobantes, según oprima se van a visualizar los correspondientes DbEdit a cada nº.
Código Delphi [-]
procedure TFac.ImprimirClick(Sender: TObject);{mando a Imprimir}
begin
if
 MessageDlg('¿Comfirma los datos del Comprobante?',
    MTWarning, mbOKCancel,0) <> mrOK
  then
    Exit;
{si el dbedit que contiene al Nº de Comp. está visible al imprimir, que le sume 1 a ese Nº nada mas}
if dbedit13.Visible=true then   numero_presupuesto;
  if dbedit14.Visible=true then   numero_a;
    if dbedit15.Visible=true then   numero_b;
      if dbedit16.Visible=true then   numero_c;
with datos do begin
 historial_factura.Insert;
    Historial_FacturaVendedor.Value := dbedit10.Text ;
    Historial_FacturaTipodeComprobante.Value := Tipo_Comprobantesdescripcion.Value;
    Historial_FacturaLetraComprobante.Value := Letra_CompLetra.Value;
    Historial_FacturaFechadeEmision.Value := Trunc(Now);
    Historial_FacturaCodigo_de_Cliente.Value:= ClientesCodigodeCliente.Value;
    Historial_FacturaNombre_Apellido_Cliente.value:= ClientesNombre_Apellido.Value;
    Historial_FacturaForma_de_Pago.Value:= cond_ventaDescripcion.Value;
    Historial_FacturaSubtotal.Value:= FFac_SubTotal;
    Historial_Facturatotal.Value:= FFac_Total;
    Historial_facturaNumero_presupuesto.Value:=NP;
    historial_FacturaNumero_A.Value:=NA;
    Historial_FacturaNumero_B.Value:=NB;
    Historial_FacturaNumero_c.Value:=NC;
     datos.Historial_Factura.Post;


  ///////////////////////////////////////////////////////////////////////////////////////
  with datos.factura do begin
      First;
   while not EOF do begin  {van el detalle para documentos emitidos}
        detalle_factura.Append;
        detalle_factura.FieldByName('Codigo').Value:=FieldByName('Codigo').Value;
detalle_factura.FieldByName('Descripcion').Value:=FieldByName('Nombre').Value;
detalle_factura.FieldByName('Precio Unitario').Value:= FieldByName('Costo').Value;
detalle_factura.FieldByName('Cantidad').Value:=FieldByName('Cantidad').Value;
detalle_factura.FieldByName('Importe').Value:= FieldByName('Importe').Value;
        Next;
        end;
{el historial con el detalle arman un Maestro-Detalle}
Bien, el problema es que imprimo un par de Facturas y después los valores de
los Dbedit se ponen en 0;
Les doy las gracias por anticipado por su tiempo y espero que se interprete.
Responder Con Cita
  #2  
Antiguo 25-07-2008
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.734
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Opción 1:
Puede ser que el Dataset esté cerrado y por eso la función numero_a devuelva 0.

Código Delphi [-]procedure tfac.Numero_A;{incremento a el Nº de la Factura 1 mas} begin na:=0; datos.Historial_Factura.Last; inc(na); na:=na+datos.Historial_FacturaNumero_a.Value ; end;


Opción 2:
Luego de hacer el Post, quizás deberías hacer un Refresh o un Close;Open; de la tabla Historial_Factura, para refrescar los datos y que la función Numero_A funcione correctamente.
Código Delphi [-]
with datos do begin
 historial_factura.Insert;
    Historial_FacturaVendedor.Value := dbedit10.Text ;
    Historial_FacturaTipodeComprobante.Value := Tipo_Comprobantesdescripcion.Value;
    Historial_FacturaLetraComprobante.Value := Letra_CompLetra.Value;
    Historial_FacturaFechadeEmision.Value := Trunc(Now);
    Historial_FacturaCodigo_de_Cliente.Value:= ClientesCodigodeCliente.Value;
    Historial_FacturaNombre_Apellido_Cliente.value:= ClientesNombre_Apellido.Value;
    Historial_FacturaForma_de_Pago.Value:= cond_ventaDescripcion.Value;
    Historial_FacturaSubtotal.Value:= FFac_SubTotal;
    Historial_Facturatotal.Value:= FFac_Total;
    Historial_facturaNumero_presupuesto.Value:=NP;
    historial_FacturaNumero_A.Value:=NA;
    Historial_FacturaNumero_B.Value:=NB;
    Historial_FacturaNumero_c.Value:=NC;
    datos.Historial_Factura.Post;
    datos.Historial_Factura.Close;
    datos.Historial_Factura.Open;
Responder Con Cita
  #3  
Antiguo 25-07-2008
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Hola hugo_junion, añadiendo a lo que dijo duliosiloa, no estas haciendo un post por cada registro del detalle.

Código Delphi [-]
while not EOF do begin  {van el detalle para documentos emitidos}
  detalle_factura.Append;
  detalle_factura.FieldByName('Codigo').Value:=FieldByName('Codigo').Value;
  detalle_factura.FieldByName('Descripcion').Value:=FieldByName('Nombre').Value;
  detalle_factura.FieldByName('Precio Unitario').Value:= FieldByName('Costo').Value;
  detalle_factura.FieldByName('Cantidad').Value:=FieldByName('Cantidad').Value;
  detalle_factura.FieldByName('Importe').Value:= FieldByName('Importe').Value;
  detalle_factura.Post;  
  Next;
end;

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.

Última edición por Caro fecha: 25-07-2008 a las 12:09:00.
Responder Con Cita
  #4  
Antiguo 26-07-2008
hugo_Junior hugo_Junior is offline
Miembro
 
Registrado: may 2008
Posts: 19
Poder: 0
hugo_Junior Va por buen camino
Ya solucionés los del Post del detalle, gracias. Pero sigo teniendo el mismo problema cuando abro el formulario me muestra los últimos nº, pero cuando imprimo un factura, le suma a la letra que estoy trabajando y al resto las pone en 0.
Responder Con Cita
  #5  
Antiguo 28-07-2008
hugo_Junior hugo_Junior is offline
Miembro
 
Registrado: may 2008
Posts: 19
Poder: 0
hugo_Junior Va por buen camino
Thumbs up solucionado

Ya está solucionado, gracias a todos.
Responder Con Cita
Respuesta



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
Aplicacion en distinto lenguaje CARSOFT_AR Varios 3 14-11-2005 19:11:24
Actualización números de factura Marina Firebird e Interbase 9 21-07-2005 21:25:02
Fallo Nº Factura y Linea Factura CarmaZone Tablas planas 5 26-05-2005 11:17:19
Escribir 3 copias de una factura poniendo texto distinto en cada copia pacope Impresión 5 26-01-2004 08:42:47
Tamallo En 98 Distinto Al De Xp sampras Windows 1 20-09-2003 22:15:27


La franja horaria es GMT +2. Ahora son las 19:00:32.


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