Algún ej. de transacciones en kardex

Algún ej. de transacciones en kardex

Postby noe aburto » Fri Jul 05, 2013 5:05 pm

Saludos a todos.

Me he encontrado con un asunto que no se como mejorar tanto en código como rápides y seguridad de datos.
Expongo:

En un sistema donde aprox. hay 40 usuarios trabajando con el sistema de refacciones para autos, se elaboran: compras, ventas, ajustes, traspasos y ordenes de servicio. Todos los procesos verifican existencias y dan salida y entradas al kardex del inventario.

El problema que tengo es como validar eficaz el bloqueo y desbloqueo de registros en los archivos involucrados en cada transaccion. Lo que hago en mi programa a grandes rasgos es:

1. Para la afectacion de una compra o venta con mas de 200 registros o numeros de parte primero
- verifico que exista la pieza en el catalogo de articulos
- bloqueo cada registro en el catalogo para su afectacion posterior y reservar en salidas de inventario que no modifiquen mi existencia en kardex.

2. si para la fase 1, actualizo existencias de todo el movimiento en el catalogo y kardex, si no pasa, no afecto nada

3. hago al final un dbunlockall() y dbcommitall()

El problema: si un usuario desea realizar otro procesos de salida o entrada con numeros de parte que bienen en la compra mencionada, le indicara el sistema que la pieza esta bloqueada por otro usuario y no pasará con la pieza.

Considerando el numero de usuarios y la lentitud que puede en su momento tener el sistema por las transacciones del mismo en el servidor esto representa un inconveniente para el buen desempeño del sistema.

Habra un metodo eficaz para realizar este timo de movimientos en sistema.
Noé Aburto Sánchez
Tec. Prog. de Sistemas. -Morelia, Mich. México.
fwh 20.06, Harbour 3.2.0, bcc 7.4
TsBrowse 9.0, TsButton 7.0, xEdit 6.1
naburtos@gmail.com, noeaburto67@hotmail.com
User avatar
noe aburto
 
Posts: 418
Joined: Wed Nov 26, 2008 6:33 pm
Location: Morelia, Mich. Mexico.

Re: Algún ej. de transacciones en kardex

Postby sysctrl2 » Fri Jul 05, 2013 6:40 pm

Hola, a mi me funciona asi:

Trabajo con arrays con los siguientes elementos.

codigo, descrip, cantidad, prec_unit, importe, EXISTENCIA

1. al capturar las claves de la salidas, verifico que tenga existencia, y guardo en la columa del array lo que
se tiene en ese momento.

2. al guardar, la iformacion vuelvo a verificar, si aun sigo teniendo la existencia , si es el caso, guardo el registro,
de lo contrario, envio un mensaje al usuario , EXISTENCIA AGOTADA, regresa a eliminar el registro.

Es resumen, la existencia la valido 2 veces, al momento de capturar las partidas y al momento de guardarlas

espero haberte ayudado un poco.

saludos..
Cesar Cortes Cruz
SysCtrl Software
Mexico

' Sin +- FWH es mejor "
User avatar
sysctrl2
 
Posts: 1020
Joined: Mon Feb 05, 2007 7:15 pm

Re: Algún ej. de transacciones en kardex

Postby sysctrl2 » Fri Jul 05, 2013 6:43 pm

Por cierto, se me olvido mensionar, no uso bloqueos de registros, salvo al reemplazar los datos,
ya que para las capturas uso arrays..

Esto es con DBF, con mysql es similar.

saludos..
Cesar Cortes Cruz
SysCtrl Software
Mexico

' Sin +- FWH es mejor "
User avatar
sysctrl2
 
Posts: 1020
Joined: Mon Feb 05, 2007 7:15 pm

Re: Algún ej. de transacciones en kardex

Postby Armando » Fri Jul 05, 2013 11:07 pm

Amigos:

Creo que lo mejor es crear un archivo común que sirva para todas las terminales, en este archivo
estarán registrados todos los productos y cantidades que cada terminal este a punto de vender o
mejor dicho que ya tenga capturado en su pedido.

Al registrar un nuevo producto, cada terminal deberá "ver" cuanta existencia hay y restar las cantidades
que ya están comprometidas en este archivo común que sean del mismo producto que esta vendiendo.

Ahora bien, cada terminal debe registrar los productos que esta comprometiendo identificándolos con
un número de operación, este folio debe estar en un archivo que también sea común para todas las
terminales o pudiera ser que cada terminal tuviera su propio folio de control aunque se complica un
poco más pues habrá que identificar terminal y folio.

Una vez que se realice la venta hay que descontar existencias del kardex y borrar los productos que
hay en el archivo común.

Si por alguna razón la venta no se concreta, basta con borrar los productos del archivo común y la
existencia queda inalterable.

Y como decía el buen amigo Tomás, Listo el pollo !

Saludos
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
User avatar
Armando
 
Posts: 3209
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México

Re: Algún ej. de transacciones en kardex

Postby noe aburto » Fri Jul 05, 2013 11:52 pm

Saludotes.

Gracias por contestar.

Creo que se me hace más practico el método de Armando, considerando que solo debere bloquear y desbloquear al momento de hacer los "replace" y listo, y solo con las salidas verificar las existencias, que ya lo tengo implementado, pero mejorare la rutina de afectacion.

Gracias,
Noé Aburto Sánchez
Tec. Prog. de Sistemas. -Morelia, Mich. México.
fwh 20.06, Harbour 3.2.0, bcc 7.4
TsBrowse 9.0, TsButton 7.0, xEdit 6.1
naburtos@gmail.com, noeaburto67@hotmail.com
User avatar
noe aburto
 
Posts: 418
Joined: Wed Nov 26, 2008 6:33 pm
Location: Morelia, Mich. Mexico.

Re: Algún ej. de transacciones en kardex

Postby ruben Dario » Sat Jul 06, 2013 1:56 am

Tu problema es que bloqueas la registro, solomante bloquea el registro y desbloquea en el momento de grabar.
Ruben Dario Gonzalez
Cali-Colombia
rubendariogd@hotmail.com - rubendariogd@gmail.com
User avatar
ruben Dario
 
Posts: 1069
Joined: Thu Sep 27, 2007 3:47 pm
Location: Colombia


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 41 guests