![]() |
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. |
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 |
Roman, cada dia eres más original :D
|
Cita:
:D // Saludos |
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 |
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 |
Cita:
:D :D Saludos. |
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 |
La franja horaria es GMT +2. Ahora son las 21:48:46. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi