Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Registros de Facturacion y Eventos (XML) (https://www.clubdelphi.com/foros/forumdisplay.php?f=67)
-   -   Numeración de tickets (https://www.clubdelphi.com/foros/showthread.php?t=97426)

novatico 29-04-2025 12:51:42

En nuestro caso, no tendríamos ese problema, porque el encadenamiento lo hago el último registro del "Registro de Facturación" para la AEAT, que es independiente de mi fichero de facturas. En ese Registro de Facturación no grabo nada hasta que la factura está terminada y lista para imprimir. De esta forma siempre encadeno con la última emitida, sea cual sea.

Jarogo08 29-04-2025 13:16:34

Cita:

Empezado por bmfranky (Mensaje 564102)
Hola, en ese caso , no generas un ticket, abres como nosotros en mi ramo diriamos, una hoja de reparacion, que lleva su numero de serie, para almacenarla y puede o no facturarse, por ejemplo te pasan la orden de reparacion y sabes que va a subir una pasta, asi que se lo presupuestas al cliente y no lo reparas, esa orden de reparacion no se factura porque no llego a repararse, no le asignas un numero definitivo de factura, o si la reparas , se genera una factura que en ese caso si se le asigna un numero, en tu caso el camarero llega a la mesa y el cliene te pide la nota, en ese momento la caja, si emite el ticket real, al que se le asigna un numero de factura , se encadena y encola /envia.


Mientras no generas/imprimes el ticket, es una prefactura/proforma o cualquier documento inermedio que se te ocurra con una numeracion independiente.


Eso está bien si tienes dos documentos, pero nosotros en el caso de los tickets sólo tenemos 1 :D.
En las facturas, como dices, haces un albarán (documento previo) y cuando lo das por definitivo lo facturas y aparece la factura (con su número definitivo)
Pero en los tickets no tenemos un documento previo, y de ahí la pregunta inicial.

Jarogo08 29-04-2025 13:18:00

Cita:

Empezado por novatico (Mensaje 564105)
En nuestro caso, no tendríamos ese problema, porque el encadenamiento lo hago el último registro del "Registro de Facturación" para la AEAT, que es independiente de mi fichero de facturas. En ese Registro de Facturación no grabo nada hasta que la factura está terminada y lista para imprimir. De esta forma siempre encadeno con la última emitida, sea cual sea.

sí si... eso lo tengo claro que es así. El hilo iba por otro lado, por la numeración de tickets (mientras no es definitivo y luego una vez que se finaliza)

bmfranky 29-04-2025 13:55:01

Cita:

Empezado por Jarogo08 (Mensaje 564107)
Eso está bien si tienes dos documentos, pero nosotros en el caso de los tickets sólo tenemos 1 :D.
En las facturas, como dices, haces un albarán (documento previo) y cuando lo das por definitivo lo facturas y aparece la factura (con su número definitivo)
Pero en los tickets no tenemos un documento previo, y de ahí la pregunta inicial.

Pues lo veo facil, asignas numero de mesa, en vez de numero de ticket y en el momento de imprimirlo, si , ya se convierte en el ticket final, que asignas numeracion y encadenas, si no lo haceis asi, con la nueva normativa, podeis tener algun lio, al final.
Imaginaste que tienes 3 tickets, abiertos, cierras el 3 y lo envias, segun ellos no pasa nada si luego envias los otros 2 en el orden que sea, pero ayer cayo la luz y adios a los 2 tickets pendientes... (* si devio haber un backup, grupo, sai...), hoy ni te acuerdas porque al empezar el turno los camareros son otros, y vuelves a enviar el ticket 1, se lo traga porque no existe, el 2 tabmbien el 3 error, porque si existe y ahora que hago....:eek::eek:, el camarero ni idea de lo que pasa, el encargado en casa, y los tickets acumulados...
o peor, tu SIf, comprueba el ultimo ticket enviado, el 3 , asi que asigna el 4 .... y los 2 que te faltan?


Como esa veo muchas mas incidencias posibles, ahora que estais a caballo del burro, modificad para que se asigne una numeracion temporal al ticket hasta la impresion , y sabed que habeis de habilitar las rectificativas o anular los tickets y asignar nuevos , cada vez que se equivoquen, no vale modificarlos como hasta ahora...(*Lo haciamos tod@s.)

bmfranky 29-04-2025 13:58:57

Cita:

Empezado por Jarogo08 (Mensaje 564009)
Muchas gracias Galahad


El problema es que la clave primaria de mi tabla de tickets es Ejercicio/Serie/Numero, y lo que dices me obligaría a cambiar la clave de la tabla (para que el Numero estuviera a 0 hasta que se finalizase). Y no me gusta nada esa idea porque me cambiaría la estructura de la tabla, con lo que tendría que cambiar código en todos los sitios donde se consultan/borran/crean/actualizan datos de esa tabla.

Es que has de hacer eso mismo, no has de asignar el numero de ticket a encolar hasta el momento mismo de imprimir, por mil motivos, como los que te he comentado mas arriba.
O duplicar esa tabla, como por ejemplo no definitiva, con sus numeraciones x y en el momento de facturala copiarla a la definitiva y alli si asignar las numeraciones definitivas.

Jarogo08 29-04-2025 16:02:34

Cita:

Empezado por bmfranky (Mensaje 564110)
no has de asignar el numero de ticket a encolar hasta el momento mismo de imprimir, por mil motivos, como los que te he comentado mas arriba.
O duplicar esa tabla, como por ejemplo no definitiva, con sus numeraciones x y en el momento de facturala copiarla a la definitiva y alli si asignar las numeraciones definitivas.


El numero de ticket lo tengo que asignar porque es campo clave, y no puedo tener x tickets sin ese número informado (a 0) porque la tabla no me lo permite. A no ser que cambie la clave primaria de la tabla.

Lo de duplicar la tabla es irte a la opción de un documento previo, que está claro que funcionaría.

El problema es que esas dos opciones son las que quiero evitar, porque me suponen un cambio grande en la estructura. Al final estoy haciendo pruebas con lo que mencionaba más arriba (crear un los campos Ejercicio-Serie-Numero Verifactu, que sólo se asignan correlativamente al momento de finalizar el ticket). Así en principio me está funcionando, ya veré si me saltan incidencias cuando esto empiece en serio :eek:


La franja horaria es GMT +2. Ahora son las 12:11:29.

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