Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Tablas planas
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 05-06-2003
xalemdq xalemdq is offline
Registrado
 
Registrado: may 2003
Ubicación: Mar del Plata
Posts: 6
Poder: 0
xalemdq Va por buen camino
facturacion

hola ! disculpen. soy muy novato en programacion.

necesito hacer un sistema de facturacion. como puedo hacer ? yo tengo un form que tiene un

edit : numero de cliente. este edit obtiene los datos del cliente a facturar. lo que necesito es saber como hacer para tomar los productos. no se que componentes puedo usar. me recomendaron un dbgrid. la idea es tener un boton "ingresar producto" y otro boton "borrar producto". cuando presionas click en ingresar se tiene que abrir una ventana que pide

id del producto:

detalle:

cantidad:

precio:

------------------------------

cuando ingreso, tiene que figurar el producto ingresado con los impuestos calculados. pero si quiero borrar ese producto seleccionando el producto y con un click en "borrar producto", se tiene que borrar, actualizandose el total.

cuando se terminan de ingresar los productos se pone imprimir.

necesito eso. si por favor me pueden ayudar.

muchisimas gracias.
Responder Con Cita
  #2  
Antiguo 05-06-2003
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Lo puedes hacer así:

Ingredientes
tblClientes: TTable // tabla de clientes
tblDetalles: TTable // tabla de detalles
dsClientes: TDataSource // asociado a tblClientes
dsDetalles: TDataSource // asociado a tblDetalles
edtClienteId: TEdit // para captuar el id del cliente
btnBuscar: TButton // Para buscar al cliente
grdDetalles: TDBGrid // para mostrar los detalles

Preparación
1. Pones a dsClientes como "MasterSource" de tblDetalles y los conectas con la propiedad "MasterFields" para relacionar el id del cliente en la tabla de clientes con el campo cliente_id de la tabla de detalles.

2. Asignas dsDetalles a la propiedad "DataSource" de grdDetalles

3. En el evento OnClick de btnBuscar usas el método FindKey de tblClientes para localizar al cliente. Si devuelve false es que no existe un cliente con ese id y le mandas un mensaje al usuario.

4. En el evento OnShow del formulario activas tus tablas.

5. Ejecutas tu aplicación y ¡voilà!, escribes un id de cliente, aprietas el botón y el dbgrid te mostrará los detalles de ese cliente.

El resto te lo dejo de tarea y te recomiendo que te leas alguna introducción al uso de componentes db aware

Sugerencias para la tarea
Buscar en la ayuda de Delphi acerca de los métodos "Append", "Delete" y "FieldByName" de TTable.

// Saludos

Última edición por roman fecha: 05-06-2003 a las 23:17:07.
Responder Con Cita
  #3  
Antiguo 05-06-2003
Avatar de __marcsc
__marcsc __marcsc is offline
Miembro
 
Registrado: may 2003
Ubicación: Girona
Posts: 577
Poder: 22
__marcsc Va por buen camino
Roman, cada dia eres más original
Responder Con Cita
  #4  
Antiguo 05-06-2003
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Posteado originalmente por marcsc
Roman, cada dia eres más original
Pero todavía no sé si vale la pena agregarme métodos y propiedades o buscar un componente de terceros. ¿No sabes si las RXLib incluyen TRxRoman?



// Saludos
Responder Con Cita
  #5  
Antiguo 05-06-2003
xalemdq xalemdq is offline
Registrado
 
Registrado: may 2003
Ubicación: Mar del Plata
Posts: 6
Poder: 0
xalemdq Va por buen camino
Cool

la parte del cliente ya la hice con un query SELECT * FROM CLIENTES.DB WHERE ID= '+id.text+' ....

funciona bien .. me imprime todos los datos .. el problema que tengo es principalmente con los productos

ahi no se que usar.... la tabla de productos ya la tengo echa

tambien hice una ventana que pide id del producto

pide el detalle, la cantidad, y el valor del producto.

cuando aprieto el boton ingresar, lo que quiero es que me imprima eso en la ventana principal de facturacion donde estan esos detalles del cliente, etc.

no se donde ingresar esos productos .. ese es el problema principal.

despues con un boton facturar ya ! y aprendiendo un poco de Quick report jaja calculo que voy a hacer un sistemita de facturacion....


si me podes ayudar. muchas graciasss
Responder Con Cita
  #6  
Antiguo 06-06-2003
Nelson Alberto Nelson Alberto is offline
Miembro
 
Registrado: may 2003
Ubicación: Santiago, Rep. Dominicana
Posts: 30
Poder: 0
Nelson Alberto Va por buen camino
hola. a ver si te entendi, tienes una tabla llamada detalle verdad, este es un ejemplo sencillo. como ya sabes buscar el cliente. ahora guardas en detalle

1- en un edit donde tienes el codigo del producto ahi clikea
y te va a salir un codigo parecido:

//*******aqui tu localizas el producto.************
begin

producto.locate('codigo_pr',edit1.text,[]);
edit2.text := producto.fieldbyname('descripcion').asvariant;
edit3.text := producto.fieldbyname('precio').asvariant

end;

//********guardar en la tabla detalle********

2- en el boton grabar haz click

begin
detalle.insert;

detalle.fieldbyname('codigo_pr').asvariant := edit1.txt
detalle.fieldbyname('descripcion').asvariant := edit2.txt
detalle.fieldbyname('precio').asvariant := edit1.txt

detalle.post;

end;

nota:

sabes que en la tabla detalle tienes que guardar en codigo del cliente, numero de factura, fecha de la factura ademas de los campos del ejemplo.

ojala esto te sirva de algo
__________________
EL Duque
Responder Con Cita
  #7  
Antiguo 06-06-2003
Avatar de __marcsc
__marcsc __marcsc is offline
Miembro
 
Registrado: may 2003
Ubicación: Girona
Posts: 577
Poder: 22
__marcsc Va por buen camino
Cita:
Posteado originalmente por roman
Pero todavía no sé si vale la pena agregarme métodos y propiedades o buscar un componente de terceros. ¿No sabes si las RXLib incluyen TRxRoman?



// Saludos
Bueno, a mi no me gusta reinventar la rueda pero como me caes bien creo que será mejor preparar una nueva versión (o bebería decir receta? ) a usar el TRxRoman...



Saludos.
Responder Con Cita
  #8  
Antiguo 06-06-2003
Avatar de José Luis Garcí
[José Luis Garcí] José Luis Garcí is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Las Palmas de G.C.
Posts: 1.372
Poder: 23
José Luis Garcí Va camino a la fama
Vete a la siguiente dirección y bajate el curso de Delphi que tiene es buenisimo y aprenderas mucho, ademas tiene un ejemplo sobre facturación que aunque no este terminado, te ayudara mucho, ademas de Sql, Bde, Ide, etc, es muy facil de seguirlo y esta en PDF.

en mi esperiencia te puedo decir que para una factura utilizo tres tablas, en la primera datos basicos, en la segunda el detalle de la factura, pero luego utilizo otra que es el detalle de articulos inexistentes, explico, cuando un articulo no existe desde tu sistema de facturación debe darte la opción de poder crearlo y continuar con la facturación, pero y si es una cosa puntual, lo que hago es lo siguiente si el código es 0 o el texto de descripción del articulo se modifica, crea entonces un registro en esta base de datos, sólo en este caso, claro en el detalle esiste un campo boolean que indica si un articulo ha sido modificado y no va a la base de datos de articulos si no a la tercera.

Espero te ayude, un saludo desde Canarias.

Que cabeza la dirección es

http://webs.satlink.com/usuarios/c/c...ajarDelphi.htm
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


La franja horaria es GMT +2. Ahora son las 19:48:14.


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