El campos estado hasta ahora utilizamos en el proyecto  en varias tablas:articulos,clientes,proveedores,tickets...Este campo hasta ahora era varchar, lo hicimos así porque no quería perder tiempo en decir una tabla con los posibles estado (falta de tiempo)... Ahora el tiempo no sobrá pero bueno, es hora de empezar pensar en esa tabla poder utilizar un id para los estados... :-)

Lo primero definir los estado que utilizamos y en tablas:

Tabla historico_costes

Los registros una de los 3 siguiente estados

  • Pendiente : El registro está pendiente de revisión, esto quiere decir que ha tenido un cambio de precio en un albarán de compras pero no se ha ejecutado el cambio de precio de venta.
  • Recomendado : Se ha modificado el precio de venta y se ha dejado el recomendado por la aplicación
  • A mano : Se ha modificado el precio de venta pero este precio lo ha modificado el usuario.
  • Sin cambios : Es el producto que se dio a eliminar desde el recalculo y no se registra modificación de precio
  • Revisado : Los registros que vienen de albaranes cuando se les cambia el precio pasan de pendiente a revisado.
  • Sin revisar : Son los registros que han sido modificados de precio en fechas posteriores, cuando se guarda en recalculo los productos con este estado no se pueden guardar .

Esta tabla la utilizamos para registrar el historico precios , no solo de costes... :-)

 Tabla modulo_etiquetado_temporal

Los registros de esta tabla puede tener el siguiente estado:

  • Guardado : Cuando un temporal tiene este estado es que esta asociado a un lote que ya está guardado, o sea que es una modificación de uno ya guardado
  • Activo : Cuando se añade un lote nuevo y aun no se ha guardado, el temporal por defecto de colaca con estado activo

Esta tabla la utilizamos para generar la etiquetas de lotes.

Tabla modulo_etiquetado

Los registros de esta tabla puede tener el siguiente estado:

  • Sin guardar : Cuando un lote guardado tiene un temporal
  • Guardado : Estado por defecto al guardar un lote

Esta tabla es la registramos los lotes que realizamos o modificamos.

Tabla albclit (albarán-cliente)

Los registros de esta tabla puede tener los siguientes estados:

  • Guardado : Estado por defecto cuando se guarda un albarán, esto implica que se puede modificar
  • Sin guardar : Estado por defecto del albarán cuando lo modificamos y esa modificación no la guardamos
  • Facturado : Un albarán cambia a este estado cuando lo adjuntamos a una factura, este proceso se realiza en una factura

Esta tabla los datos generales de un albarán cliente

Tabla pedclit (pedidos-cliente)

Los registros de esta tabla puede tener los siguientes estados:

  • Guardado : Estado por defecto cuando se guarda un pedido, esto implica que se puede modificar
  • Sin guardar : Estado por defecto del pedido cuando lo modificamos y esa modificación no la guardamos
  • Facturado :Un pedido cambia a este estado cuando lo adjuntamos a un albarán, este proceso se realiza en un albarán

Esta tabla tiene los datos generales de un pedido

Tabla facclit (factura-cliente)

Los registros de esta tabla puede tener los siguientes estados:

  • Guardado : Estado por defecto cuando se guarda una factura, esto implica que se puede modificar
  • Sin guardar : Estado por defecto de la factura cuando lo modificamos y esa modificación no la guardamos
  • Pagado Parci : La factura pasa a pagado parcial cuando está con estado guardado y se insertan importes pero no llegan a cubrir el total de la factura
  • Pagado Total : La factura pasa a pagado total cuando el total de los importes sea igual que el total de la factura

Esta tabla tiene los datos generales de una factura

Tabla albclilinea

Los registros de esta tabla puede tener los siguientes estados:

  • Activo : Estado por defecto cuando añadimos una linea, esto quiere decir que la línea de producto se cuenta para el calculo de totales
  • Eliminado : Cuando eliminamos una línea se cambia a este estado, quiere decir que cuando se elimina una línea no cuenta para el calculo de totales

Esta tabla contiene las líneas de los productos de albaranes de clientes

Tabla facclilinea

Los registros de esta tabla puede tener los siguientes estados:

  • Activo : Estado por defecto cuando añadimos una linea, esto quiere decir que la línea de producto se cuenta para el calculo de totales
  • Eliminado : Cuando eliminamos una línea se cambia a este estado, quiere decir que cuando se elimina una línea no cuenta para el calculo de totales

Esta tabla contiene las líneas de los productos de la facturas de clientes

Tabla pedclilinea

Los registros de esta tabla puede tener los siguientes estados:

  • Activo : Estado por defecto cuando añadimos una linea, esto quiere decir que la línea de producto se cuenta para el calculo de totales
  • Eliminado:Cuando eliminamos una línea se cambia a este estado, quiere decir que cuando se elimina una línea no cuenta para el calculo de totales

Esta tabla contiene las líneas de los productos de pedidos de clientes

Tabla albcliltemporales

Los registros de esta tabla puede tener los siguientes estados:

  • Abierto : Cuando se crea un registro temporal y nuevo, esto quiere decir que se está añadiendo un documento nuevo , no se está modificando uno guardado
  • Guardado : Se crear el temporal con este estado cuando se está modificando un documento

Esta tabla contiene los datos de un albarán de clientes temporal

Tabla faccliltemporales

Los registros de esta tabla puede tener los siguientes estados:

  • Abierto : Cuando se crea un registro temporal y nuevo, esto quiere decir que se está añadiendo un documento nuevo , no se está modificando uno guardado
  • Guardado : Se crear el temporal con este estado cuando se está modificando un documento

Esta tabla contiene los datos de una factura de clientes temporal

Tabla pedcliltemporales

Los registros de esta tabla puede tener los siguientes estados:

  • Abierto : Cuando se crea un registro temporal y nuevo, esto quiere decir que se está añadiendo un documento nuevo , no se está modificando uno guardado
  • Guardado : Se crear el temporal con este estado cuando se está modificando un documento

Esta tabla contiene los datos de un pedido de clientes temporal

Tabla albprot (Albarán-proveedor)

Los registros de esta tabla puede tener los siguientes estados:

  • Guardado : Estado por defecto cuando se guarda un albarán, esto implica que se puede modificar
  • Sin guardar : Estado por defecto del albarán cuando lo modificamos y esa modificación no la guardamos
  • Facturado : Un albarán cambia a este estado cuando lo adjuntamos a una factura, este proceso se realiza en una factura

Esta tabla contiene los datos generales de los albaranes de proveedor

Tabla pedprot (Pedido-proveedor)

Los registros de esta tabla puede tener los siguientes estados:

  • Guardado : Estado por defecto cuando se guarda un pedido, esto implica que se puede modificar
  • Sin guardar : Estado por defecto del pedido cuando lo modificamos y esa modificación no la guardamos
  • Facturado : Un pedido cambia a este estado cuando lo adjuntamos a un albarán, este proceso se realiza en un albarán

Esta tabla contiene los datos generales de los pedidos proveedor

Tabla facprot (Facturas-proveedor)

Los registros de esta tabla puede tener los siguientes estados:

  • Guardado :Estado por defecto cuando se guarda una factura, esto implica que se puede modificar
  • Sin guardar : Estado por defecto de la factura cuando lo modificamos y esa modificación no la guardamos
  • Pagado Parci : La factura pasa a pagado parcial cuando está con estado guardado y se insertan importes pero no llegan a cubrir el total de la factura
  • Pagado Total : La factura pasa a pagado total cuando el total de los importes sea igual que el total de la factura

Esta tabla contiene los datos generales de las facturas de proveedor

Tabla albprolinea

Los registros de esta tabla puede tener los siguientes estados:

  • Activo: Estado por defecto cuando añadimos una linea, esto quiere decir que la línea de producto se cuenta para el calculo de totales
  • Eliminado: Cuando eliminamos una línea se cambia a este estado, quiere decir que cuando se elimina una línea no cuenta para el calculo de totales

Esta tabla contiene las líneas de productos de los albaranes de proveedores

Tabla facprolinea

Los registros de esta tabla puede tener los siguientes estados:

  • Activo: Estado por defecto cuando añadimos una linea, esto quiere decir que la línea de producto se cuenta para el calculo de totales
  • Eliminado: Cuando eliminamos una línea se cambia a este estado, quiere decir que cuando se elimina una línea no cuenta para el calculo de totales

Esta tabla contiene las líneas de productos de las facturas de proveedores

Tabla pedprolinea

Los registros de esta tabla puede tener los siguientes estados:

  • Activo: Estado por defecto cuando añadimos una linea, esto quiere decir que la línea de producto se cuenta para el calculo de totales
  • Eliminado: Cuando eliminamos una línea se cambia a este estado, quiere decir que cuando se elimina una línea no cuenta para el calculo de totales

Esta tabla contiene las líneas de productos de los pedidos de proveedores

Tabla albproltemporales

Los registros de esta tabla puede tener los siguientes estados:

  • Abierto: Cuando se crea un registro temporal y nuevo, esto quiere decir que se está añadiendo un documento nuevo , no se está modificando uno guardado
  • Guardado: Se crear el temporal con este estado cuando se está modificando un documento

Esta tabla contiene los datos de los albaranes temporales

Tabla facproltemporales

Los registros de esta tabla puede tener los siguientes estados:

  • Abierto : Cuando se crea un registro temporal y nuevo, esto quiere decir que se está añadiendo un documento nuevo , no se está modificando uno guardado
  • Guardado :Se crear el temporal con este estado cuando se está modificando un documento

Esta tabla contiene los datos de las facturas temporales

Tabla pedprotemporales

Los registros de esta tabla puede tener los siguientes estados:

  • Abierto: Cuando se crea un registro temporal y nuevo, esto quiere decir que se está añadiendo un documento nuevo , no se está modificando uno guardado
  • Guardado :Se crear el temporal con este estado cuando se está modificando un documento

Esta tabla contiene los datos de los pedidos temporales

Tabla articulos

Los registros de esta tabla puede tener los siguientes estados:

  • Activo: Estado normal.
  • Nuevo: Estado por defecto cuando se creo hace menos de 30 días.
  • Temporal: Un producto que solo se comprar de forma temporal, en una epoca. En el proceso compra, debería advertilo y saber porque se compra
  • Baja : Indica que es un producto que se puede vender hasta fin existencias. Debería advertir a encargados compra que no se puede comprar
  • importado: Producto importado, de alguna tienda. Se creo forma automatica. Se cambia el estado, cuando ya lo compremos o cuando lo modifiquemos en ficha de producto

Esta tabla contiene los datos principales de los productos

Tabla articulosTiendas

Los registros de esta tabla puede tener los siguientes estados aparte de los estados de la tabla articulos:

  • NoPublicado: Que existe en la tienda web pero no está publicado para la venta.
  • Publicado: Si esta creado y la venta en la tienda web

Esta tabla contiene los datos relacionados con un articulo en una tienda

Tabla articulosProveedores

Los registros de esta tabla puede tener los siguientes estados aparte de los estados de la tabla articulos:

  • SinStock: El proveedor en estos momento no tiene Stock de producto.
  • Tarifa: Precio propuesto por el proveedor pero aun no se compro

Esta tabla contiene los datos relacionados con los productos y proveedor

Tabla ticketst

Los registros de esta tabla puede tener los siguientes:

  • Cerrado : Un ticket cerrado es que ya se realizo el cierre de caja
  • Cobrado : Un ticket cobrado es que ya esta cobrado pero aún no se realizó el cierre de caja
  • Abierto : Ticket que aún no se ha cobrado

Esta tabla contiene los datos principales de cada ticket

Tabla ticketsLinea

Los registros de esta tabla puede tener los siguientes:

  • Activo: Estado por defecto cuando añadimos una linea
  • Eliminado: Este estado se genera cuando eliminamos un producto del ticket

Esta tabla contiene los datos de las líneas de un ticket

Tabla ticketstemporales

Los registros de esta tabla puede tener los siguientes:

  • Cobrado: Cuando el ticket ya está cobrado
  • Abierto: El ticket aún no está cobrado
  • Actual: Ticket que está abierto en ese momento y sin haber dado a F5

Tabla resumen de todos los estados

EstadosTablasDescripciones
Pendiente
  • historico_costes
  • El registro está pendiente de revisión, esto quiere decir que ha tenido un cambio de precio en un albarán de compras pero no se ha ejecutado el cambio de precio de venta.
Recomendado
  • historico_costes
  • Se ha modificado el precio de venta y se ha dejado el recomendado por la aplicación
A mano
  • historico_costes
  • Se ha modificado el precio de venta pero este precio lo ha modificado el usuario.
Sin cambios
  • historico_costes
  • Es el producto que se dio a eliminar desde el recalculo y no se registra modificación de precio
Revisado
  • historico_costes
  • Los registros que vienen de albaranes cuando se les cambia el precio pasan de pendiente a revisado.
Sin Revisar
  • historico_costes
  • Son los registros que han sido modificados de precio en fechas posteriores, cuando se guarda en recalculo los productos con este estado no se pueden guardar
Guardado
  • modulo_etiquetado_temporal
  • modulo_etiquetado
  • albclit
  • pedclit
  • facclit
  • albcliltemporales
  • faccliltemporales
  • pedcliltemporales
  • albprot
  • pedprot
  • facprot
  • albproltemporales
  • facproltemporales
  • pedprotemporales
  • Una tabla temporal adoptará este estado cuando es un moficicación
  • Estado por defecto al guardar un lote
  • Estado por defecto cuando se guarda tanto en compras como en ventas, esto implica que se puede modificar
  • Se crear el temporal con este estado cuando se está modificando un documento
Activo
  • modulo_etiquetado_temporal
  • albclilinea
  • facclilinea
  • pedclilinea
  • albprolinea
  • facprolinea
  • pedprolinea
  • articulos
  • articulosTiendas
  • articulosProveedores
  • ticketslinea
  • Cuando se añade un lote nuevo y aun no se ha guardado, el temporal por defecto de colaca con estado activo
  • Estado por defecto cuando añadimos una linea, esto quiere decir que la línea de producto se cuenta para el calculo de totales
  • Estado normal.
Sin Guardar
  • modulo_etiquetado
  • albclit
  • pedclit
  • facclit
  • albprot
  • pedprot
  • facprot
  • Cuando un lote guardado tiene un temporal
  • >
  • Estado por defecto de un documento tanto de compras como de ventas cuando lo modificamos y esa modificación no la guardamos
Facturado
  • albclit
  • pedclit
  • albprot
  • pedprot
  • Un albarán cambia a este estado cuando lo adjuntamos a una factura, este proceso se realiza en una factura
  • Un pedido cambia a este estado cuando lo adjuntamos a un albarán, este proceso se realiza en un albarán
Pagado Parci
  • facclit
  • facprot
  • La factura pasa a pagado parcial cuando está con estado guardado y se insertan importes pero no llegan a cubrir el total de la factura
Pagado Total
  • facclit
  • facprot
  • La factura pasa a pagado total cuando el total de los importes sea igual que el total de la factura
Eliminado
  • albclilinea
  • facclilinea
  • pedclilinea
  • albprolinea
  • facprolinea
  • pedprolinea
  • ticketslinea
  • Cuando eliminamos una línea se cambia a este estado, quiere decir que cuando se elimina una línea no cuenta para el calculo de totales
Abierto
  • albcliltemporales
  • faccliltemporales
  • pedcliltemporales
  • albproltemporales
  • facproltemporales
  • pedprotemporales
  • ticketst
  • ticketstemporales
  • Cuando se crea un registro temporal y nuevo, esto quiere decir que se está añadiendo un documento nuevo , no se está modificando uno guardado
Nuevo
  • articulos
  • articulosTiendas
  • articulosProveedores
  • Estado por defecto cuando se creo hace menos de 30 días.
Temporal
  • articulos
  • articulosTiendas
  • articulosProveedores
  • Un producto que solo se comprar de forma temporal, en una epoca. En el proceso compra, debería advertilo y saber porque se compra
Baja
  • articulos
  • articulosTiendas
  • articulosProveedores
  • Indica que es un producto que se puede vender hasta fin existencias. Debería advertir a encargados compra que no se puede comprar
importado
  • articulos
  • articulosTiendas
  • articulosProveedores
  • Producto importado, de alguna tienda. Se creo forma automatica. Se cambia el estado, cuando ya lo compremos o cuando lo modifiquemos en ficha de producto
NoPublicado
  • articulosTiendas
  • Que existe en la tienda web pero no está publicado para la venta.
Publicado
  • articulosTiendas
  • Si esta creado y la venta en la tienda web
SinStock
  • articulosProveedores
  • El proveedor en estos momento no tiene Stock de producto.
Tarifa
  • articulosProveedores
  • Precio propuesto por el proveedor pero aun no se compro
Cerrado
  • ticketst
  • Cuando ya se realizó el cierre de los tickets
Cobrado
  • ticketstemporales
  • ticketst
  • Cuando está cobrado
Actual
  • ticketstemporales
  • Ticket que está abierto en ese momento

Posibles modificaciones de estados:

  • Activo: agrupar en activo todos los que tengan estado Activo , Nuevo y Actual
  • Temporal: agrupar en activo todos los que tengan estado Temporal y Sin guardar
  • Cobrado: agrupar los tickets cobrados y las facturas de ventas con pagado total