Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Facturacion con varias tablas (https://www.clubdelphi.com/foros/showthread.php?t=81330)

DOS 04-11-2012 15:52:42

Facturacion con varias tablas
 
Hola a todos, antes que nada se que hay varios ejemplos de facturacion pero no encontre nada parecido a lo que necesito.
En el sistema de una veterinaria en la parte de facturacion toma datos de dos tablas para facturar, osea de las cuales se va a calcular el importe, mas las de datos, como la del cliente y quien realiza la factura:
Productos:
cod_prod // * numerico autoincrementable
Codigo // string el que le crea el cliente para que lo ubique mejor fk
Cod_prov // para relacionarlo con el proveedor fk
nombre
descripcion
import-compra
import-venta

Servicios:
Cod_servicios *
codigo // IDEM productos
Servicio // descripcion del servicio prestado, ej. radiografia
importe

cree una tercera para relacionarlas
Factura:
cod_factura
Cod_servicio
Cod_producto
Cantidad // para que los multiplique por los productos

y una cuarta para almacenar todo
Cod_facturacion
Cod_factura
Cod_cliente
Cod_administ // quien realiza la facturacion
Fecha
hora

Espero que este bien encarado, se supone que el cliente vera un boton de carga en donde eligira si es producto o servicio y en un DBGrid ira viendo cada cosa que carga con la posibilidad de borrarlo.
Codigo I producto o servicio I importe I Cantidad I

mostrare el subtotal luego el total y lo mostrare en un Qreport.
El problema es que el cliente pueda seleccionar de cualquiera de las dos tablas y la vea como una en el DBGrid, se puede hacer eso?
desde ya muchas gracias
Por cierto utilizo Delphi 7 y Paradox (no me critiquen es solo un ejemplo:)

darkbits 05-11-2012 17:48:56

un saludo DOS

para poder desarrollarlo esto yo te recomiendo db Acces
te animo a que vayas programandolo, te sera mas facil q encontrar uno en la web y vayas parchaandolo

no veo nada de codigo de Delphi o DB y no se donde podemos ayudarte, si vas programando y tiene dudas no dudo q todos los del club te ayudamos cuando hay CERO codigo CERO todos miran y nadie menciona nada

ahi esperamos tu codigo para apoyarte ;)

DOS 06-11-2012 00:42:51

Ok darkbits, lo que pasa este es un sistema de una veterinaria, ya esta terminado todo lo previo, alta, baja y modificacion de datos, mostrar informacion, claves, etc. el problema surgio cuando llegue a este punto, la facturacion, con una tabla, no tengo problemas, solo selecciono y cargo los datos en un DBGrid, con la demas informacion de la factura y con un QRep lo imprimo.
El asunto es que no se como encarar que el cliente cargue datos de dos tablas distintas y la vea como si fuese una al cargarlas, supongamos en un DBGrid. No pido que me lo resuelvan y codifiquen (aunque no estaria mal :D) solo que me vayan tirando ideas para ver si lo puedo solucionar, no puedo codificar nada si no se como encararlo. Esto es el anteultimo paso el sistema esta en un 90%.
Cualquier ayuda/idea, gracias.^\||/

Casimiro Notevi 06-11-2012 00:44:14

El problema es que no se entiende qué problema tienes, hablas de que funciona bien con una tabla y no sabes cómo presentar datos de dos tablas... o algo así, explica mejor lo que necesitas, gracias.

Caral 06-11-2012 00:52:47

Hola
Da la impresion de que quieres cargar los datos con el componente TTable y no usar el TQuery.
Si estas usando un table tendras que hacer un masterdetail.
Es mejor hacer una consulta sql con el tquery.
Saludos

DOS 06-11-2012 01:10:22

Cita:

Empezado por Caral (Mensaje 448692)
Hola
Da la impresion de que quieres cargar los datos con el componente TTable y no usar el TQuery.
Si estas usando un table tendras que hacer un masterdetail.
Es mejor hacer una consulta sql con el tquery.
Saludos

Gracias a todos, hola maestro Caral :D

Tratare de ser lo mas basico y a la vez detallado para explicar lo que necesito hacer.
Tengo 2 tablas, una con servicios otra con productos, en el formulario de facturacion el cliente cargara todo en (supongamos) un DBGrid, pero para el debe ser, creo yo, que lo viera como si fuese una sola tabla de datos, al cliente no le importa buscar si es un producto, en un lugar, si es un servicio en otro, si es alguna otra cosa en otro lado o sino voy a tener que crear una unica tabla en donde se encuentren los servicios, productos, etc. todo aquello que sea viable de facturacion, para que lo cargue sin problemas. No me parece la mejor solucion, no creo que sea correcto, aunque si funcionaria.
Por otro lado puedo realizar un maestro detalle o consulta con sql lo que convenga, pero que realice lo que necesito. gracias.

Caral 06-11-2012 01:23:46

Hola
No entiendo muy bien, me parece que:
1- tienes dos tablas
2- quieres poder cargar tanto servicios como productos en un dbgrid.
3- me parece que puedes cargarlos independientemente pero verlos juntos en el dbgrid.
No entiendo amigo.
Saludos

Casimiro Notevi 06-11-2012 01:30:34

Creo que la explicación nos ha confundido más :confused:

Caral 06-11-2012 01:36:49

Hola
Creo entender mas o menos que que necesita, el problema para mi es que (segun lo que veo en otros hilos) esta usando muchos tables y prácticamente lo hace todo sin codigo.
No entiendo bien cual es el problema de UNIR la informacion de dos tablas en un dbgrid, para mi sigue siendo el uso de tables y no usar sql.
Me gustaria ayudar con algun ejemplo pero el amigo DOS usa paradox y ahi ya me canso solo de pensarlo.....:D:D
Saludos

Casimiro Notevi 06-11-2012 01:50:29

Cita:

Empezado por Caral (Mensaje 448700)
Me gustaria ayudar con algun ejemplo pero el amigo DOS usa paradox y ahi ya me canso solo de pensarlo.....:D:D

Ya te has acostumbrado a lo bueno :D

DOS 06-11-2012 01:50:34

Es verdad casi todo lo realizo sin codigo, lamentablemente lo de Paradox es con lo que me estan enseñando :( no fue mi eleccion. de hecho muchas de las cosas que hago las he aprendido de San Google y en este foro, puedo intentar algo nuevo, pero no me queda mucho para la presentacion del proyecto.
Supongamos que comienzo de 0 a crear las tablas y las relaciones, cual seria el lenguaje y o programa para realizarlo, que no sea muy dificil y por supuesto mejor que Paradox. Gracias.

Caral 06-11-2012 01:58:19

Hola
Ya lo tienes casi todo montado, sigue con paradox de momento.
tienes que tener en cuenta que no estamos sentados al lado tuyo y nos es dificil entender lo que quieres hacer, tennos paciencia.
coloca el programa con la base de datos en un zip y lo subes aqui, a ver si puedo hacer algo.
saludos
PD: Como me conecto a paradox :D:confused:

DOS 06-11-2012 02:40:04

Ok lo subi a la nube https://www.dropbox.com/s/k4oh0ou4ndvkr4m/ITM.rar , se decomprime y lo pones en C: asi mantiene la ruta y no hay problemas, son dos carpetas una con las tablas la otra con los units, queda disponible para el que le sirva de algo, saludos.

Caral 06-11-2012 02:59:24

Hola
Ya tengo el programa.
Veo que tienes un form factura (form14)
Veo que tienes tres dbgrid
Ahora que necesitas, que quieres hacer ?.
saludos

DOS 06-11-2012 03:17:52

Caral la idea seria que haya un DBGrid en vez de 3 en donde el usuario vea lo que carga para facturar, tal vez con un boton cargar, donde selecciona lo que va a cobrar, sea productos y/o servicios luego en la otra pestaña veria la factura final antes de imprimir y guardar, por supuesto que me tendra que actualizar el stock, pero ese es otro tema y tal vez lo solucione solo :D
se va entendiendo un poco mas?

Caral 06-11-2012 03:23:23

Hola
Si, te entiendo.
Vamos paso a paso:
Empecemos........
1- coloca un combobox en el form14
la propiedad text dejala en blanco.
en la propiedad string ponle:
Productos
Servicios
2- en el evento onchance del combobox pondras la activacion de las tablas solo para un dbgrid.
me sigues...
saludos

Caral 06-11-2012 03:29:09

Hola
La idea es muy simple:
Tienes un combobox con los item productos y servicios
cuando cambias de uno a otro se establece el datasource que esta ligado a la tabla que necesitas.
Como los datos no coinciden de una tabla a otra se establece el item de cada dbgrid en ese mismo paso.
luego se activa.
Saludos

Caral 06-11-2012 03:31:59

Hola
Hoy es un poco tarde pero mañana te digo el codigo para que lo pongas y te funcione sin problemas.
Hasta mañana, Buenas noches.
Saludos

DOS 06-11-2012 12:10:49

Gracias Caral, hoy a la noche cuando llegue a casa lo voy a implementar a ver que sucede. Saludos.

Caral 06-11-2012 20:35:12

Hola
aqui estan los cambios en el form 14.
saludos


La franja horaria es GMT +2. Ahora son las 02:48:28.

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