Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Sistema de Gestion, PHP + AJAX?

Estas en el tema de Sistema de Gestion, PHP + AJAX? en el foro de Frameworks JS en Foros del Web. Hola amigos, Estoy viendo la posibilidad de realizar un sistema comercial en un leguaje el cual permita el acceso al sistema desde el browser. Manejo ...
  #1 (permalink)  
Antiguo 27/06/2006, 10:07
Avatar de mape367  
Fecha de Ingreso: noviembre-2004
Ubicación: CDE, Paraguay
Mensajes: 213
Antigüedad: 20 años, 1 mes
Puntos: 3
Sistema de Gestion, PHP + AJAX?

Hola amigos,

Estoy viendo la posibilidad de realizar un sistema comercial en un leguaje el cual permita el acceso al sistema desde el browser.

Manejo PHP, he leido algo sobre AJAX, me gustaria saber si es posible realizar un sistema comercial de gestion con estas tecnologías, incluyendo (modulos de venta, facturacion, stock, RR.HH., ect.)

Es posible realizar, como en otros leguajes, el esquema de encabezado e itemes? con algo parecido a un grid?

Necesito orientaciones, si alguien puede decirme que si es viable técnicamente para luego poder profundizar en el tema.

Desde ya muchas gracias, saludos.

Última edición por mape367; 14/07/2006 a las 14:34
  #2 (permalink)  
Antiguo 28/06/2006, 07:53
 
Fecha de Ingreso: septiembre-2005
Mensajes: 26
Antigüedad: 19 años, 3 meses
Puntos: 0
Si, no vas a tener ningun problema, podes hacer todo el sistema con esas tecnologias. En cuanto a lo de la factura, la vas armando con ayuda de ajax y javascript para lo que vas agregando y cuando terminas la factura la podes imprimir por un PDF si no necesitas usar formulario continuo, sino vas a tener que ir probando en cuanto a la cantidad de lineas de detalle que puedas incluir en cada una de las hojas. La ventaja que vas a tener con estas tecnologias es tener un server para hacer todos los procesos y n cantidad de maquinas clientes, si vas a hacerlo con una sola maquina tb vas a poder usar todo dentro de la misma pc.
  #3 (permalink)  
Antiguo 28/06/2006, 08:05
Avatar de mape367  
Fecha de Ingreso: noviembre-2004
Ubicación: CDE, Paraguay
Mensajes: 213
Antigüedad: 20 años, 1 mes
Puntos: 3
Exclamación Como haria con las ventas

Buenas.

Gracias por la respuesta Agustin, muy amable...

Tengo una duda, quisiera saber si ya tuviste alguna situacion similar..

La situación es la siguietne, en un movimiento de ventas, como hago para vender cierto producto? Por ejemplo en una situacion de concurrencia de varios terminales, que leen al mismo tiempo una cantidad x n el stock, por ejemplo 10, luego una de las terminales realiza primero la venta, y ocacionalmente otra terminal tambien pretendia vender la misma cantida, pero este producto ahora tiene existencia 0.

Alguien tiene alguna sugerencia de como resolver este problema? como usualmente se solucionaria en otros lenguajes?

Desde ya muchisimas gracias...
  #4 (permalink)  
Antiguo 28/06/2006, 09:47
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 11 meses
Puntos: 129
Cita:
La situación es la siguietne, en un movimiento de ventas, como hago para vender cierto producto? Por ejemplo en una situacion de concurrencia de varios terminales, que leen al mismo tiempo una cantidad x n el stock, por ejemplo 10, luego una de las terminales realiza primero la venta, y ocacionalmente otra terminal tambien pretendia vender la misma cantida, pero este producto ahora tiene existencia 0.
mm Bueno .. esos temas se tratan igual idenpendiente si usas PHP y/o Ajax.

Tu debes implementar sistemas que tomen encuenta "transacciones" ... El valor que cuenta es cuando "rebajas" tu stock .. la información que presentas sobre el stock al vendedor/cliente es el de ese instante y efectivamente "rebajas" ese stock cuando sale el producto de tus "bodegas" .. ahí le dan la salida ..por mientras todo queda como "stock virtual" ... es decir .. "vendido" pero no "entregado" (el cliente se puede arrepentir .. tu anular la venta .. etc).

Este tipo de problemas insisto que no es própio del desarrollo con "ajax" o con PHP ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #5 (permalink)  
Antiguo 28/06/2006, 10:04
Avatar de mape367  
Fecha de Ingreso: noviembre-2004
Ubicación: CDE, Paraguay
Mensajes: 213
Antigüedad: 20 años, 1 mes
Puntos: 3
Gracias Cluster,

A ver si entendi, cuando en un modulo de venta, en una de las terminales, se lee el valor del stock actual, entonces, cuando se indica una cantidad x a vender, ahi ya se resta del stock, y luego cuando se efectivisa la venta ya no se realiza el proceso de "restar el stock".

Si la venta no se efectivisa se "devuelven" las mercaderias al stock.

Si en algun momento en el proceso de venta, cambia la cantidad a ser vendida, tambien se actualiza el stock.

Es eso lo de "venta virtual", no? Entiendo perfectamente que todas esta operaciones se realizan en un proceso con transacciones.

Cita:
Este tipo de problemas insisto que no es própio del desarrollo con "ajax" o con PHP ..
Te refieres a que el problema es independiente del lenguaje utilizado, no? O que no es recomendable realizar este tipo de apliaciones en ambiente web y con estas tecnologías?


Desde ya muchas gracias por la contribución.

Saludos
  #6 (permalink)  
Antiguo 28/06/2006, 10:40
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 11 meses
Puntos: 129
Pero .. el "stock" hasta efectivamente entregar la "mercadería" queda en un stock virtual .. que es lo mismo que el real - (menos) lo que se está "vendiendo" en ese instante .. El stock real sólo lo descuentas cuando efectimaente se entrega la mercadería (luego ya vendrán "notas de crédito" o cosas similares si una vez entregada la mercadería se devuelve .. y por otro lado si corresponde ya habrá un ingreso de ese producto al stock por tal razón o asociada a tal "nota de crédito").

Cita:
Te refieres a que el problema es independiente del lenguaje utilizado, no? O que no es recomendable realizar este tipo de apliaciones en ambiente web y con estas tecnologías?
Si .. me refiero a que este problema es independiente del lenguaje, incluso más allá .. es independiente de una programación .. es un "procedimiento" que la empresa adopta.


Como comentario:

Trabajo con un sistema extremadamente viejo que no maneja "stock virtual" y no veas la de problemas que tengo cuando el cliente efectivamente pasa por el despacho (Bodega) a retirar su compra .. ni los vendedores se "fian" del stock que les marca en "pantalla" y van a "bodega" a verficarlo en muchos casos in-situ).

Tal vez estos problemas concretos de como afrontar este tipo de situaciones deberías consultarlas en el foro de "Ingenería del Software y gestión de proyectos" .. (por qué no veo otro foro que encajen estas preguntas .. o en "Ayuda general" .. ), pero lo dicho .. esto es más bien un problema de gestión que no de "programación" en sí ... Tu cuando esa definición de forma de trabajar de tu empresa esté clara .. ahí es cuando tu desarrollarás los mecanimos adecuados para regirlo.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #7 (permalink)  
Antiguo 28/06/2006, 10:50
Avatar de mape367  
Fecha de Ingreso: noviembre-2004
Ubicación: CDE, Paraguay
Mensajes: 213
Antigüedad: 20 años, 1 mes
Puntos: 3
Sonrisa Gracias por la ayuda...

Muchas gracias Cluster, voy a seguir tu consejo, a investigar más en el apartado de ingenieria de la informacion...

Saludos
  #8 (permalink)  
Antiguo 29/06/2006, 05:31
 
Fecha de Ingreso: septiembre-2005
Mensajes: 26
Antigüedad: 19 años, 3 meses
Puntos: 0
El aporte de Cluster es muy bueno, la forma facil de solucionarlo es replicar en una 2da columna el dato de stock, donde será el valor virtual de stock, y vas haciendo ese movimiento temporar sobre esa columna, y cuando desde otra terminal se mira el stock, apunta a esta 2da columna. Una vez realizada la operacion se modifica el stock final, y se acomoda el stock vitual a ese valor,. dependiendo que no halla mas transacciones en curso.
Lo que podes hacer con ajax que te va a ser una ventaja es por ejemplo si desde otra terminal te decrementan el stock, desde la terminal que estes trabajando poner un cartel de aviso con esta informacion o decrementar la cantidad disponible directamente.
Aca vas a tener que "pensar" las "politicas" que vas a usar, esto es, si primero yo pido productos descuenta la operacion en el stock_virtual, y depues vos desde otra terminal haces una venta y la cerras usando el sotck que yo tenia pero que no termine la venta, que pasa en el caso de que yo quiera cerrar la venta y me halla quedado sin stock en la demora de mi venta. etc etc
  #9 (permalink)  
Antiguo 30/06/2006, 01:53
 
Fecha de Ingreso: junio-2005
Ubicación: Madrid, España
Mensajes: 288
Antigüedad: 19 años, 5 meses
Puntos: 1
bueno eso en otros lenguajes se soluciona mediante el acceso exclusivo a varibales, es decir mientras un usuario la este utilizando nadie mas la puede tocar hasta que termine, esto se puede implementar mediante semaforos o monitores pero nunca lo he probado en php si podria hacerlo. seria investigar si es posible, o se puede hacer el acceso exclusivo a variables.
  #10 (permalink)  
Antiguo 05/07/2006, 10:23
 
Fecha de Ingreso: diciembre-2002
Ubicación: argentina... de ahí seran veinte cuadras
Mensajes: 382
Antigüedad: 22 años
Puntos: 0
Yo hago algo parecido a lo que te proponen cluster y agustinvinao, tengo en la tabla articulos un campo que denominé stock comprometido, cuando tomo el pedido (es decir, el instante que ocurre entre el pedido y el cierre de la operacion mediante la facturación o entrega de la mercaderia, digamos remito)
en ese momento le sumo al stock comprometido la cantidad actual (digamos en espera de facturacion o entrega), cuando un usuario quiera acceder desde otra terminal, el stock que le va a mostrar como disponible es el stock - stock comprometido. finalizada la operación, resto al stock la cantidad de productos entregados y resto la misma cantidad a stock comprometido.

ahora el tema del control de stock en tiempo real es otra cosa...
__________________
Juan Pablo
  #11 (permalink)  
Antiguo 05/07/2006, 10:30
Avatar de mape367  
Fecha de Ingreso: noviembre-2004
Ubicación: CDE, Paraguay
Mensajes: 213
Antigüedad: 20 años, 1 mes
Puntos: 3
Gracias por la ayuda...

Gracias amigos, me han ayudado mucho...

Estaré comentando estas posibilidades a mis superiores para que analizemos una solución a la situación.

Denuevo, muchas gracias a todos.

Saludos
  #12 (permalink)  
Antiguo 18/10/2006, 05:44
 
Fecha de Ingreso: octubre-2006
Mensajes: 2
Antigüedad: 18 años, 2 meses
Puntos: 1
De acuerdo Solución: sincronización con semáforos

Buenas!
Justamente yo estaba buscando exactamente lo mismo que mape367.

El problema del stock es básicamente un problema de concurrencia, puesto que si dos personas han abierto la página con el stock disponible y sólo queda 1 unidad del producto, acabarás teniendo -1. O lo que es peor aún, que se descuadre el stock: si los dos leen el dato stock = 1, y los dos le restan 1, el resultado para los dos será 0, y en lugar de -1 (dos compras), tendremos 0!!

Creo que he encontrado una buena solución a un problema de concurrencia: utilizar semáforos (función de php sem_get() i derivadas). Consiste en reservar una zona de memoria de manera que todos los procesos que se ejecutan simultáneamente en el servidor (con las peticiones a través de los navegadores de los clientes) no puedan acceder a la vez a esa zona de la memoria sinó que lo hagan de forma sincronizada. Esto lo controla un semáforo que se encarga de parar a todos los procesos antes de que puedan acceder a la memoria, dejando entrar sólo a 1 (configurable en sem_get), y hasta que éste no ha salido no puede entrar el siguiente. Así aseguramos que en esa parte del código, el proceso se ejecuta sólo, y podrá leer -el stock-, modificarlo y guardarlo de nuevo en la base de datos. Así cuando entre el siguiente proceso a leer el stock, seguro que ese dato está bién, y nadie más lo modificará hasta que él termine.

Antes de hacer nada recomiendo la lectura de este breve documento:
www . malditainternet.com/node/93

Y posteriormente entrar ya en el manual de php:
php.net/manual/en/function.sem-get.php

Espero haber ayudado a alguien, aunque quizás he llegado tarde para mape367 (aunque más vale tarde que nunca xDD).

Saludos, minterior.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:25.