Generar varias ventas o varias cobranzas

89 views
Skip to first unread message

ZeRoberto

unread,
Jan 18, 2017, 4:09:06 AM1/18/17
to publicesvfoxpro
Por ejemplo en una mesa se sientan a comer 4 personas se hace el pedido por mesa, pero al finalizar los clientes quieren un ticket por persona.

Como hago en este caso, creo varias ventas por un solo pedido o como?

Saludos

--

Jose Antonio Blasco

unread,
Jan 18, 2017, 4:38:12 AM1/18/17
to Comunidad de Visual Foxpro en Español
Puedes implementar un sistema de cobro múltiple, de forma que si el total de la venta son 100, puedas introducir cantidades parciales a cobrar, 15, 36, 24, 25, e imprimir un ticket por cada cobro, utilizando el número generico que le corresponda, por ejemplo "456721" y añadirle al final "/1", "/2", "/3" y "/4".  En tu fichero de caja debería figurar cada uno de estos tickets pues cada uno podría pagarse por un medio diferente (contado, tarjeta ...), o bien grabarlo una sola vez, e incluir campos para un número máximo de cobros parciales.   En el fichero de tickets (o pedidos), debería figurar uno sólo por el importe total y con el número de ticket generico "456721".

Es sólo una idea.  Seguro que a los compañeros se les ocurren otras.  Ya sabes "Todos los caminos llevan a Roma".

Un saludo.


Jose A. Blasco
Zaragoza - España
Visual FoxPro 9 SP2

Jose Antonio Blasco

unread,
Jan 18, 2017, 4:41:19 AM1/18/17
to Comunidad de Visual Foxpro en Español
Se me olvidaba ....
Puestos en esta situación, tambien puede mejorarse, permitiendo además, seleccionar las comandas correspondientes a cada cobro.  En este caso, SI que podrías plantearte asignar números diferentes a cada uno, y quedarían como comandas independientes.

Un saludo.


Jose A. Blasco
Zaragoza - España
Visual FoxPro 9 SP2


Douglas Sánchez

unread,
Jan 18, 2017, 4:30:18 PM1/18/17
to publice...@googlegroups.com
Hola zRoberto

Una solución seria al momento que el cliente vaya a pagar, desegregar el pago, por tipo de servicio

Douglas 8 Cervezas y un Churrasco
Juan Pérez  1 Jugo Natural y un churrasco
etc

Ya que pueden haber hasta 8 en una sola mesa y todos van a pagar 1 en efectivo otros con tarjeta, otros con puntos de tarjeta, ahi es cuando la cajera viene y le dice al mesonero decile a esos h.p... que se pongan de acuerdo...

Slds

Dsanchez

ZeRoberto

unread,
Jan 18, 2017, 10:54:51 PM1/18/17
to publicesvfoxpro
Hola a todos gracias por sus comentarios.

Creo que lo mejor seria crear varias ventas a partir de un pedido, entonces cuando este pase a caja, el cajero puede ir seleccionado los productos y cuando este se complete se atiende el pedido y se cierra la mesa.

Bueno no se, voy a probar esto... a ver como anda.

Saludos

Arnaldo Toledano

unread,
Jan 19, 2017, 7:28:02 AM1/19/17
to publice...@googlegroups.com

Por experiencia te digo que lo mejor es hacer los cuatro ticket de nuevo y
borrar el original.
No te metas en problemas porque vos lo vas a entender bien, el dueño tambien,
pero los cajeros, que por lo general rotan continuamente, no lo van a entender
y tendrás lindos dolores de cabeza.

Arnaldo Toledano
P/D : El borrado con CLAVE y archivo de auditoria.

mapner

unread,
Jan 19, 2017, 8:09:34 AM1/19/17
to Comunidad de Visual Foxpro en Español
Debes separar el concepto de "Orden/Pedido" del de "Factura", la mesa abierta registra en la "Orden/Pedido" y a cada ítem le puedes asignar el "pagador" (si así lo requieres). Al cerrar la "Orden/Pedido" lo conviertes en N Facturas independientes, una por cada "pagador". 

cuatro tablas Orden Cabecera, Orden Detalle, Factura Cabecera, Factura Detalle, cada factura contendrá N items relacionados con detalle de orden según pagador.

create table orden_cab(orden_id not null primary key, orden_fecha, mesa_id integer, camarero_id integer)
create table orden_det(odet_id not null primary key, orden_id, producto_id integer, odet_preciouni, odet_subtotal, pagador integer)

create table factura_cab(fact_id not null primary key,  orden_id integer, pagador integer, fact_fecha, mesa_id integer, camarero_id integer)
create table orden_det(fdet_id not null primary key, fact_id, producto_id integer, fdet_preciouni, fdet_subtotal, odet_id)

Saludos

Carlos Miguel FARIAS

unread,
Jan 19, 2017, 8:51:34 AM1/19/17
to Grupo Fox
Otra opción
Pedidos = {idPedido, idMesa, tFechaHora, idMozo}
Detalles = {idPedido, iLugar default(1), idFactura, idProducto, nCantidad, yPrecio}
Facturas = {idFactura, dFecha, <<otros datos requeridos>>}
negrita: PK; itálica: FK; itálica subrayado: FK que admite nulos

Cuando se empieza a atender una mesa desde cero, se crea una orden, a medida que se van cargando los consumos, si es consumo de nuevo elemento, se agrega una fila en detalle, con la cantidad, si es más de lo mismo, se suma la cantidad a la fila ya creada para ese pedido-producto.
iLugar contiene el lugar en la mesa del cliente, si es un solo cliente o no quieren cuentas separadas, todos van al lugar 1.
Si piden cuentas separadas, el mozo deberá a cada entrada, indicar el lugar que corresponda para cada cliente en el producto correspondiente, si varios pidieron el mismo, deberá crearse una entrada en detalles para cada producto y lugar diferentes y poner las cantidades respectivas.
La gracia va a estar en la flexibilidad que le imprimas a la interfaz de usuario.
También te pueden pedir cuentas separadas por productos que consumen en común. Por ejemplo piden una cocucha efervescente, un trago amargo y una pizza de muzzarella y quieren cuentas separadas miti y miti la pizza.
Saludos: Miguel, La Pampa (RA)

Antonio Meza

unread,
Jan 19, 2017, 9:22:29 AM1/19/17
to Comunidad de Visual Foxpro en Español
Siempre lo mas sencillo es lo mas correcto pero a veces nos complicamos la vida jajajaja

Cuando los comensales lleguen el mesero simplemente les debe preguntar, van a querer cuentas separadas o una global, si va hacer separadas el mesero llevara los pedidos por comensal, de esta forma el cajero seguirá haciendo su trabajo y el mesero que es la fuente del origen de la información deberá llevar ese control y no tienes que hacer ningún cambio en el sistema, bueno posiblemente agregarle un campo al pedido para que lo identifique por el comensal, donde le ponga el pelon pidió esto, la gordita esto, el cuatro ojos esto, la tetanica el otro y listo. jejejej

Todo es cuestión de analizar el origen de la información ahí esta muchas veces la respuesta y no todo es programación si no entender los procedimientos y que la gente los aplique.

saludos
Antonio Meza

Fidel Charny

unread,
Jan 19, 2017, 9:38:18 AM1/19/17
to Comunidad de Visual Foxpro en Español
Antonio:
El problema es si se sientan 4 tipos a comer, el mozo les pregunta sobre cómo facturar y le dicen que va todo junto. Después de tomarse el vino, la cosa se encrespa y tras la pelea, hay que facturarle a cada uno lo que gastó.
Si podemos arreglar a quién se le factura la botella de vino, prefiero la solución de Miguel. Justamente para no complicarnos la vida (y de paso, capaz que evitamos un puñetazo).

Más insoportable resulta cuando viene un solo tipo, se sienta a morfar, pide una chuleta y un vaso de agua, no parece "mamao" pero pide dos facturas: una para la esposa y otra para la amante. Y obviamente, no deja propina.
( Previa de Viernes)

mapner

unread,
Jan 19, 2017, 9:41:44 AM1/19/17
to Comunidad de Visual Foxpro en Español
Antonio, cuando vienen cuatro amigos de copas y desde el comienzo le preguntas como quieren pagar, lo más probable que se rían a carcajadas y luego a la hora de la cuenta, te embrollen... el sistema tiene que estar preparado para cambios...


El jueves, 19 de enero de 2017, 11:22:29 (UTC-3), Antonio Meza escribió:

Fidel Charny

unread,
Jan 19, 2017, 9:52:04 AM1/19/17
to Comunidad de Visual Foxpro en Español
Mapner:
Coincidimos en algo: Vienen 4 tipos. La única diferencia es que para vos son "amigos" y para mí son "tipos".

También está el problema de decidir qué hacer cuando el mozo advierte que uno se levantó y fué al baño, otro se levantó y fué al baño (FOR I = 1 TO 4 ; "rajaron al baño" ; ENDFOR ). El mozo también va al baño y para su tranquilidad ve a los 4 tipos haciendo pis. Algo ruborizado se retira y espera. Nadie vuelve a la mesa. Pasado un rato, vuelve al baño: no hay nadie. No hay Nadie!!!.

mapner

unread,
Jan 19, 2017, 9:54:22 AM1/19/17
to Comunidad de Visual Foxpro en Español
Fidel,

eso es el famoso Paga Dios!

Carlos Miguel FARIAS

unread,
Jan 19, 2017, 9:57:47 AM1/19/17
to Grupo Fox
- Y el señor como piensa pagar?
- Religiosamente
- Son 100.000
- Que Dios te lo pague

mapner

unread,
Jan 19, 2017, 10:05:11 AM1/19/17
to Comunidad de Visual Foxpro en Español
Miguel,

Conozco un cuento similar, el comensal se queda en la mesa, el mozo le pregunta.. y ahora que está esperando? ... Estoy esperando que me traiga el vuelto...

Antonio Meza

unread,
Jan 19, 2017, 10:11:39 AM1/19/17
to Comunidad de Visual Foxpro en Español
De todas formas no le veo problema, si sera así como dicen entonces el mesero simplemente solicita la forma en que se va a pagar pues ya tiene el pedido original y solo es cuestión que lo imprima se lo de a los comensales y le marquen cual es de cada quien y se va a la pc crea los pedidos nuevos y elimina los items del pedido original para ajustarlo o simplemente lo cancela para dejar el historial.

No todo es programación creo que no lo ven así jajajaja

saludos
Antonio Meza
Reply all
Reply to author
Forward
0 new messages