Proceso en base de datos - Aplicación VB.NET

El motivo de esta pregunta es el siguiente:
Tengo una aplicación echa en VB.NET para controlar inventarios y costo en PEPS la base de datos que usa es access 2010, la aplicación funciona muy bien para cuando lo usa un usuario solamente. El problema que se me presenta es que al momento de dar una salida de un producto fuera del inventario se corre un proceso llamado PEPS este proceso lo que hace es consumir del inventario disponible la salida pero este proceso es muy necesario porque consume en diferente costo en si nos da el costo real a todo momento, es decir:
Tengo 5pz a un costo de $100pesos y de este mismo producto también tengo 4pz mas a un costo de $90pesos. Entonces yo doy una salida de 6pz de ese producto que van para una determinada área y el proceso lo que hace es consumir las 6pz en la manera que: consume las 5pz que cuestan $100pesos y 1pz que cuesta $90pesos entonces se calcula el PEPS, dándome un total de consumo o gasto de $590pesos. Espero me explique.
Mi problema viene cuando esta aplicación dos usuarios diferentes dan una saliada entonces el proceso del PEPS automático entra en acción pero como es una misma base de datos en access se contrapea el procesos porque no se puede correr 2 veces al mismo tiempo entonces algunas salidas no se consumen con el proceso y quedan retenidas.
Me di cuenta de esto porque una persona usa el sistema por si misma, osea, nada mas un usuario lo usa, y en otra área lo usan 2 personas pero es la misma base de datos entonces hay muchos problemas. No puedo dividir la base de datos porque el área es muy grande y es la misma información entonces no debe haber variaciones.

1 respuesta

Respuesta
1

Muchas cuestiones:

5 pz de 100 pesos <- bien
4 pz de 90 pesos. <- Bien

Duda: El proceso al que haces referencia, Tu lo programaste para
Tomar primero las piezas que cuestan $100 ¿?, o lo hace conforme a una
consulta (POR) en la base de datos.?

Consume las
5pz que cuestan
$100pesos y 1pz
Que cuesta $90pesos entonces se calcula el PEPS,
dándome un total de consumo o gasto de $590pesos. <- Bien

Cuando tu usuario interactúa con el sistema,

¿Es en una aplicación?

¿En la base datos directamente?

¿O de que manera lo realiza?

¿Correr 2 veces <- Tu proceso realmente que hace? ¿Y en que lo corres?

No se consumen con el proceso y quedan retenidas.<- que resultado te regresa?

¿Cuántos usuarios de access tienes definidos? Nota: No los que interactúan con el sistema.

Duda: El proceso al que haces referencia, Tu lo programaste para
tomar primero las piezas que cuestan $100 ¿????, o lo hace conforme a una
consulta (POR) en la base de datos.????

R= Este proceso yo lo programe en Visual Basic .net lo cual no fue sencillo, lo que hace este proceso como es por medio de peps estomar la primera entrada es decir la fecha mas antigua hasta la mas actual y realizando el calculo de costo.

Cuando tu usuario interactúa con el sistema,
Es en una aplicación??? R= Si, es una aplicación realizada en Visual Studio 2012 en lenguaje de programación VB.NET


En la base datos directamente?? R= En la aplicación.
O de que manera lo realiza??? R= En la aplicación y proceso también en la aplicación de manera local en cada PC pero la base de datos es la que esta compartida.

correr 2 veces <- Tu proceso realmente que hace???? y en que lo corres??? R= la aplicación lo corre al dar una salida del sistema automáticamente y esto no lo puedo quitar porque tiene que hacerse el calculo, entonces cuando dos personas dan 1 salida el proceso se iniciara en la aplicación pero en la misma base de datos y es cuando se ocasiones los errores, algunas salidas no se consumen quedan pendientes pero no se vuelven a consumir.
no se consumen con el proceso y quedan retenidas.<- que resultado te regresa??? R= No me marca ningún error, pero en la base de datos los consumos no son los correctos.


Cuantos usuarios de access tienes definidos????Nota: No los que interactúan con el sistema. R= Actualmente la base de datos esta en un servidor en una carpeta compartida y tiene aproximadamente 6 usuarios.

Que parámetros tomas para ejecutar tu proceso:

Son definidos por el usuario

¿Seleccionando algún dato de un campo de tu aplicación?

Buenos días,
Que parámetros tomas para ejecutar tu proceso:
Son definidos por el usuario
Seleccionando algún dato de un campo de tu aplicación???

R= Los parámetros no son definidos por el usuario se definen el código de programación. Si, se seleccionan campos de las tablas de la base de datos, los cuales son: Fecha, Numero de parte, cantidad, estos campos son de la tabla entradas y de la tabla salidas son exactamente los mismos.

Debes definir un tiempo de refresh, en tu aplicación.

Usuario 1 accesa carga información en pantallas

En pantalla 8 ejecuta tu proceso:

Queda 0

Usuario 2 accesa carga información en pantallas
En pantalla 8 <- queda el valor 8 y no el nuevo.

Usuario 3 accesa carga información en pantallas
En pantalla 8 <- queda el valor 8 y no el nuevo

O realiza una segunda consulta antes de ejecutar tu proceso y muestralo en pantalla para que tu usuario este informado.

Hola que tal,

A que te refieres con pantallas?

¿A qué te refieres con pantallas? <- A la aplicación que esta usando el usuario final.

Lo que no entiendo es que mencionas:

En pantalla 8 ejecuta tu proceso:
queda 0

En pantalla 8 <- queda el valor 8 y no el nuevo.

En pantalla 8 Pz. Ejecuta tu proceso:
Queda 0 Pz. <- Pz.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas