Proyecto

''Erika Teller''

(Alpha1)

Avance de Proyecto

 

Responsable del proyecto:

Angel Castro G.

Desarrollador

Angel Castro G.

 

 

Febrero 2003

 

http://erika.sourceforge.net/

Proyecto ''Erika Teller''

1. Introduccion

El proyecto Erika esta siendo desarrollado bajo el lenguaje C con ayuda de las librerias GTK+/GNOME para ser instalado sobre un servidor GNU/Linux, y con una base de datos PostgreSQL.

Para el desarrollo del mismo se requiere conocer lo siguiente: SQL ANSI, Lenguaje C (programacion estructurada), PostgreSQL, GNU/Linux, y Base de Datos.

La version mas actualizada debido a que el lenguaje madre en el que esta programado es espanol, sera en espanol, aunque tiene posibilidades de internacionalizacion que han sido contempladas pero no implementadas.

El proyecto se dividira en los siguientes módulos para su desarrollo

2. Modulos del Projecto.

  • Punto de Venta (pos).
    • Alta de Clientes
    • Busqueda de Clientes
    • Realizacion de la Venta
    • Muestra del importe
  • Inventario (inventory).
    • Alta y baja de Articulos
    • Busqueda de Articulos
    • Control de Existencias
    • Control de Movimiento (compra, venta, devolucion, entradas y salidas de almacen)
  • Caja
    • Pago efectivo o tarjeta
    • Control de retiros de caja
    • Impresion de ticket o factura
  • Reportes
    • Corte de caja
    • Historial de facturas y tickets
    • Estadisticas anual, mensual, y diaria de ventas.
    • Estadisticas de venta por producto
  • Administracion
    • Alta/Baja empleados, y supervisores.
    • Alta/Baja proveedores
    • Alta/Baja almacenes
    • Alta/Baja de cajas

3. Esqueleto de la Base de Datos.

El esqueleto de la base de datos donde se almacena la informacion de Erika Teller se estructura de la siguiente forma. El nombre de los campos aparecen en espanol para facilitar la programacion, si este software llega a impactar el mercado mundial, podria ser necesario cambiar esto en ingles para que otro programadores en todo el mundo puedan comprender sin problema.

Nota importante: Esta por verse eliminar la tabla de gastos ya que para llevar el control de gastos es insuficiente esta tabla sola y no es objetivo de Erika Teller el llevar el control de gastos de una tienda o comercio, sino el vender, para esto se complementaria este proyecto con phpMyERP que llevaria el control de gastos completo y muchas cosas mas, y se puede programar un modulo mas adelante (como un plug-in) para integrarlo con phpMyERP.

Aunque esta es la base de datos que llevo mas de 3 meses disenarla, aun queda a modificaciones, por ello no se ha llegado a la version final y queda como RC2 (Release Candidate 2).

 

 

  1. Desarrollo
    1. Modulo Inventario:

La pantalla de Inventario se ve de la siguiente forma:

Si se presiona el boton Nuevo Articulo lleva a otra pantalla y donde se podra introducir con el teclado el Nombre, Precio, Codigo de Barras (puede ser introducido por un lector de codigo de barras PS/2), unidad, descuento, producto ID Hijo es el ID del producto que tiene dentro o "envuelve" este producto, por ejemplo, supongamos una caja de 10 cajas de discos de 3 donde cada caja tiene 10 discos, Entonces primero se saca un disco y se agrega a Inventario, despues se agrega la caja que contiene 10 discos y se especifica que el ID Hijo es el ID del producto (un solo disco) y se especifica que tiene 10 Hijos y por ultimo se agraga la caja que contiene cajas y se especifica el ID del producto (la caja de 10 discos) y se especifica cuantas caja tiene la caja grande. Espero haberme explicado.

Se puede borrar un articulo simplemente seleccionandolo de la lista y presionando Borrar Articulo, si se requiere modificar el precio de algun producto entonces se da click en el producto a modificar y presiona "Modificar Articulo" esto llevara a la misma pantalla donde agrego un nuevo producto pero con los datos del articulo actual, listo para ser modificados.

Puede tambien realizar una busqueda por descripcion del producto simplemente escribiendo en "Nombre del articulo a Buscar" y presione Enter o presione el boton que esta a la derecha de ese campo de texto, lo que hace esto es un filtro de lo que usted esta buscando. Ahi mismo en esa lista se puede modificar o borrar un producto.

El boton para actualizar muestra la lista de todos los productos existentes, no importando si se incluyo algun filtro.

El boton Terminar Programa sale del programa normalmente.

 

Los botones de Nuevo Articulo y Modificar Articulo llevan a la siguiente ventana:

En esta pantalla se puede agregar un producto, el ID Producto no se escribe se asigna automaticamente, el Nombre es el nombre del producto, el campo Codigo de Barras puede ser obtenido por medio del escaner o puede ser escrito por el teclado. La Descripcion es la descripcion o caracteristicas generales del producto. Precio cliente es el precio al cliente final y precio distribuidor es el precio del proveedor. Unidad es la unidad en la que se esta midiendo el producto (en este momento esta listado pieza, metro, litro y kilo). El descuento que aparece en esta caja, es solo el descuento maximo para este producto, los descuentos se manejan en POS y varian al momento de la compra.

---- Caracteristicas Faltantes en INVENTORY.

  • Programar Producto Hijo
  • Programar Hijos
  • Agregar a Pieza mas valores (caja...)
  • Deshabilitar que puedan escribir en ID Producto
  • Checar longitudes maximas en campos de entrada para evitar desbordamientos.

    1. Modulo Punto de Venta (POS):

El punto de venta se ve de la siguiente forma:

 

 

Antes de poder vender, tiene que presionar "Comenzar" para poder Comenzar una Venta (equivale a F1), automaticamente se genera el numero de venta y el estado de la venta, el numero de caja es previamente configurado en un archivo de texto (esta caracteristica aun no esta disponible) para que no pueda ser cambiado en la interfaz (previa configuracion), el Nombre del empleado (cajero) puede ser cambiado durante la venta una vez finalizada ya no es posible cambiarla (caracteristica aun no disponible).

En la parte final de esa "barra" estara la hora y la fecha para saber a que hora se realizo la venta y el dia.

La siguiente barra tenemos 3 botones (Buscar Cliente, Agregar Cliente, Borrar Formulario), para agregar un cliente nuevo basta con llenar los campos que estan a la derecha de esa barra (nombre,RFC, direccion, telefono, email, y notas) y presionar el boton guardar cliente, tiene que guardar un cliente para esto, si no desea registrar un cliente por una venta muy simple, puede buscar "Venta de Mostrador" este sera contabilizado en los reportes completamente aparte de las ventas a clientes registrados. El boton anterior es para buscar un cliente, si ya esta registrado entonces tendra que poner parte del nombre en "Nombre:" y presionar Buscar Cliente, si solo existe un cliente con ese nombre apareceran todos los campos inmediatamente en senal que lo encontro, si existen mas de 2 coincidencias con el nombre que se puso entonces desplega una ventana donde podra seleccionar el cliente, en cuanto da click o barra espaciadora se llenaran todos los campos en senal que lo ha encontrado.

----- Caracteristicas faltantes para POS.

  • Checar longitudes maximas en campos de entrada para evitar desbordamientos.
  • Programar Cancelar Venta
  • Programar Busqueda de Venta
  • Evitar que la caja se cierre cuando esta en progreso la venta.
  • Permitir ingresar factura/ticket y que actualize esto en la DB
  • Verificar que exista un ID cliente al introducirlo como factura
  • Programar Busqueda por producto
  • Poner formato de moneda a campos de subtotal,IVA y total.
  • Programar Fecha y Hora que cambie cada minuto.
  • Permitir cambiar el nombre del empleado (posiblemente verificar con contrasena)

 

    1. Modulo Caja (box):

El modulo de caja es el mas sencillo y se ve de la siguiente forma.

Para comenzar a cobrar, hay 2 formas, buscar el numero de venta dando un click en Buscar Venta que muestra las ventas que estan por pagar (puede especificarse que sean exclusivamente del dia) o dar un click en "Ir a venta" y escribir el numero que da el modulo Punto de Venta, automaticamente aparecera el resumen de la nota/factura, y el resumen de la venta, junto con todos los articulos que compro el cliente. El siguiente paso es escribir en "Pago" el dinero que da el cliente y a continuacion "Aplicar Pago". Despues de esto todo el formulario se borra en senal de que el pago fue hecho con éxito.

---- Caracteristicas faltantes para BOX.

  • Pago en efectivo (pago)
  • Pago en tarjeta (referencia)
  • Incluir numero de factura
  • Impresion de Tickets.

Angel Castro G.

angel@solidprovider.com

index