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

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

 

INICIO1

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

Lo primero es deciros que esta entrada es un borrador para nosotros los programadores de tpvfox, no es un modelo a seguir, para nada, todo contrario ya que este proyecto empezó con código espagueti y poco a poco lo vamos mejorando.

Si estas interesado continuar mejorando nuestro TPVFOX es interesante que sigas leyendo. No dudes en ponerte en contacto con nosotros para cualquier aclaración o duda.

Un poco teoría y referencias.

Un MVC que precie debería separar la lógica de la aplicación con la vista (lo que muestra), es decir que nos permite separar los componentes de nuestra aplicación según su funcionalidad, que cuando hacemos un cambio en alguna parte de nuestro código, esto no afecte otra parte del mismo, no es una tarea fácil.

Por ejemplo:

En una web un usuario hace una petición en una web , el controlador responde esa petición, ya que es el controlador el se que encarga de la lógica de la web.

El controlador le pide al modelo la información de esa petición. El modelo se encarga de los datos ( consultar la base de datos) , una vez los tenga , se los envía al controlador nuevamente , por ultimo es el controlador el que se los envía a la vista para mostrarlos.

Tengo que decir que todas las referencias que fui leyendo , no  siempre los modelos se encargan de los datos, por lo que entiendo que no todas los sistema MVC son iguales.

 Algunas de las referencias que encontré MVC :

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

El modulo de importación a virtuemart es el que utilizamos para actualizar tpvfox desde virtuemart y viceversa, aun que el proceso queremos mejorar es el primero, es decir el que utilizamos para dar de alta productos en tpvfox desde virtuemart.

Es proceso es un poco lioso y ademas tiene opciones que no son correctas y otras que no funcionan, adjunto gráfica explicativa.(descargar svg siguiente gráfica ).

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

El objetivo es hacer un proceso sencillo para poder controlar eventos de tecla y raton. Una idea similar como shortcut.js.

Nosotros creamos lib teclado.js, que tenemos en lib/js/, donde una forma sencilla, creo :-), controlamos los eventos de teclado y los eventos de raton

¿Como empezar?

Lo primero añadiendo es añadir los objetos globales en JS en el head


var idInput = {
	id_input : 'idInput', // Este se añade ante construir ya que el id input es Unidad_Fila_1
	acciones : {
		 13 : 'accion_realizar_pulsar_intro', // Pulso intro
		 40 : 'accion_realizar_pulsar_abajo', // Pulso abajo. 
		 38 : 'accion_realizar_pulsar_arriba', // Pulso arriba pero va para abajo.
			},
	parametros : {
		dedonde : 'nombre_pantalla'
		// Los parametros que podemos necesitar
		}
}

Luego añadir la libreria

 <script src="/<?php echo $HostNombre; ?>/lib/js/teclado.js"></script> 

Poner en input,check,button o la caja permita eventos,el atributo data-obj="Nombre_objeto_global"

Tambien poner en el evento queramos controlas llamamos a la funcion controlEventos(event).

Y ya solo queda currar lo queremos que haga.

En esta parte tienes que tener en cuenta que las funciones que necesita y utiliza son:

  • function controladorAcciones(caja,accion)
  • function after_constructor(padre_caja,event)
  • function before_constructor(caja)

¿Que hace la funcion controladorAcciones ?

Esta funcion puede ser un switch o simple if donde comprobamos si existe la accion que le tenemos objeto global.

Llegamos a la funcion cuando pulso una tecla o un evento que tengamos definido en el objeto global, realizar la accion que le indiquemos