TpvFox - Gestion de Empresa

Aplicación web para gestionar pequeñas y medianas empresas

Nuestro pequeño bebe 

Puede ver mas información en esta categoria ( Presentacion proyecto Tpvfox) e incluso ver y descargar el código en GITHUB

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

 Funciones y objetivo de TPVFOX

Es una aplicación para gestionar medianas y pequeñas empresas. En la que puedes:

  • Gestionar productos (Altas, modificaciones, gestión stock y control de precios)
  • Gestionar Proveedores ( Altas y modificaciones)
  • Gestionar Clientes ( Altas y modificaciones)
  • Gestión de compras ( Pedidos a proveedores, albaranes de entrada , control de que te factura y cobran)
  • Gestión de ventas ( Tickets-POS, pedidos de clientes, albaranes y facturación)

También se puede conectar con una tienda e-comerce (Joomla + Virtuemart ),  tiene la posibilidad conectarse otros e-comerce como :

  • Prestashop
  • woocommerce
  • ...

Estas aun no esta creada la API, te apetece hacerla.

Licencia y código

Esta publico en GITHUB y con licencia GNU General Public License v2.0

Puede utilizarlo, modificarlo y incluso venderlo, lo que no puedes cambiar la licencia, el código debe ser abierto siempre.( leer licencia )

Aunque el proyecto aun esta su fase beta , ya hay varias empresas que la utilizan, si estas interesado en utilizarlo para ti o tu empresa, estaríamos encantados en ayudar.

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

Usamos el Modal de Javascript de Bootstrap, puede ver la documentación del modal de bootstrap

Como puedes ver en el repositorio github del proyecto tenemos en el directorio plugin/modal los ficheros

  • func_modal.js
  • ventanaModal.php

El primero es JS con el tenemos funciones para abrir modal, cerrarlo y alguna otra mas... :-)

El fichero php es el html template del modal, el cual podremo añadir con Javascript (Jquery) el contenido.

¿ Como lo añado en mi vista ?

Simplemente en fichero vista php añades:

 <?php
echo '<script src="'.$HostNombre.'/plugins/modal/func_modal.js"></script>';
include $URLCom.'/plugins/modal/ventanaModal.php';
?>

 Lo suelo colocar justo antes de cerrar la etiqueta body.

¿ Como muestro popModal  y como cierro?

Pues desde nuestro JS podemos llamar a la función abrirModal que tenemos func_modal.js , enviando titulo y el contenido como parámetros.

Para cerrar lo mismo, utilizamos la funcion cerrarModal que tenemos func_modal.js

¿ Como hago algo después de cerrar el modal ?

En la documentación encontré el evento :

$('#ventanaModal').on('hidden.bs.modal', function (e) {
.... lo queremos hacer despues de cerrar.
});

Con este evento, se ejecuta al cerrar Modal..

 Por ejemplo, puede ser interesante refrescar la pagina cuando añadimos o operamos algo, pero si pulsamos cerrar, te interesa que refresque la pagina para mostrar los cambios.

Esto prefectamente podrías hacerlo sin controlar el evento y poner recarga de pagina con javascript, pero si tienes un boton de cancelar el que no hace nada, o no simplemente deja todo igual, te interesa que no lo haga, es ahi donde entra el metodo anterior.

 

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

Cada usuario puede seleccionar si quiere o  no mostrar botones de las familias en la configuracion en tpv.

Recuerda que para la familia tienes a ver marcado la mostrar en cada familia, hay que tener en cuenta que si una familia padre se muestra, sus hijos se mostraran dentro del padre.

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

Aquí intentaremos explicar los posibles estado que pueda tener el campo estado en las distintas tablas del proyecto TPVFOX.

Este campo hasta ahora era varchar, sabemos que no es lo correcto, crearemos una tabla de estados para relacionarlas con un id :-)

Ahora definimos los posibles estados que vamos utilizando en las distintas tablas.

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

La gestión de los permisos es independiente para cada usuario.

Cuando se crea un modulo , en el fichero acces.xml se indica los permisos por defecto del modulo , de sus vistas y sus acciones.

Cuando en produccion añadimos una accion, entonces los permisos tienes que resetearlos.

RESETEAR LOS PERMISOS

Si queremos resetear los permisos, es decir poner a todos los usuarios los permisos por defecto, eliminamos los registros en la tabla permisos (vaciar registros) y cuando se loguee el usuario ya regenera los permisos por defecto.

La clase de permisos cuando NO encuentra permisos para ese usuario los vuelve a regenerar.

PROBLEMAS CON LOS PERMISOS.

Cuando reseteamos los permisos,el problema es que si tenemos muchos usuarios y con permisos diferentes, luego tenemos que volver poner en cada usuario esos permisos, la solucion a esto sería hacer grupos de permisos. Esto ultimo que pendiente para proximas versiones.

 

 

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

CRUD es un acronimo ingles de Crear, Leer, Actualizar y Borrar. Los que me conoceis sabeis que no me gustan mucho tecnicismos y acronimos raros, aunque tenemos que conocerlos para poder hablar a veces con algunos compañeros que si los utilizan.

 En nuetra aplicacion intentamos hacer un modelo CRUD que podamos utilizar en todos los modulos que utilicemos, desde que empezamos el proyecto hasta ahora pasamos ya por varios modelos, por ello es hora empezar de formarme y documentar de una forma mas estandar para tener CRUD en tpvfox.

Ponemos los Modelos que tenemos en estos momento, ya que algunos los fuimos descartando y no existen:

  • /modulos/claseModelo.php
  • /modulos/claseModeloP.php
  • /ClaseTFModelo.php

Poco a poco estoy intentando pasar todas las llamadas a de los primeros al ultimo ( /ClaseTFModelo.php ).

 

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

En el listado de productos podemos visualizar todos los productos que tenemos almacenados en la base de datos.

 

El listado consta de 11 columnas, cada columna con un dato especifico de ese producto:

  • Id: id del producto.
  • Producto: Nombre del producto.
  • Código de barras: Listados de los códigos de barras de ese producto.
  • Referencia: Número de referencia del producto en la tienda.
  • Coste último: Último coste al que hemos comprado el producto.
  • %: Porcentaje del beneficio del producto.
  • Precio sin IVA: Cantidad de precio sin el iva.
  • IVA: Porcentaje del iva que se le aplica a ese producto.
  • P.V.P: Precio de venta al público.
  • Estado: Estado del producto.
  • Reg. Stock: Regularización de stock, cuando clicamos el en botón se regulariza el stock de ese producto.
Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

En nuestro proyecto TPVFOX versionamos  X.Y.Z parche, en el momento de creacion de post estamos en V0.2.25

Metodo de crear versiones (tag)

Esto quiere decir que :

X : Fin de una etapa , ya termino de implentar de nuevas funcionalidades.Actualmente aun estamos 0

Y: Añadimos alguna funcionalidad o cambios muy grandes.

Z: Pequeños cambios y pequeñas mejoras.

P: Parches para arreglar bug, advertencia .... Se crea un parche simplemente cuando es plenamente necesarios, sino se deja en master hasta hacer una nueva version.

 Como versionamos nuesta Base de datos

Todos sabemos que los cambios en la estructura de la Base datos implica siempre posibles problemas, por ello nosotros cuando realizamos un cambio en la estructura de la base de datos, lo que hacermos es un fichero en el directorio BD/Update con las nombre y indicando la version:

install_update_vX.Y.Z.P

En estos ficheros puede encontrar las instrucciones sql para ejecutar para actualizar tu Base de Datos.

Siempre que se genere un fichero install_update nuevo se debe crear una version nueva ( tag nuevo) en proyecto git.

De esta forma todas las instalaciones cuando actualizan saben que  instrucciones sql tiene que ejecutar. Por ejemplo si estamos en la version v0.2.22, si vamos al directorio BD/Update podemos ver cuantos ficheros hay hasta la version actual, y por lo cual sabermos que instruciones sql tenemos que ejecutar.

 

 

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

En el panel principal de inicio se sitúan los accesos directo a las funciones principales del programa.

 

INICIO1