Re: Stock Actual de Productos

From: Carlos Enrique Perez - Syswarp - Direccion <Carlos(dot)perez(at)syswarp(dot)com(dot)ar>
To: Alberto Cuevas <betocuevas(dot)net(at)gmail(dot)com>
Cc: pgsql <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Stock Actual de Productos
Date: 2016-07-12 19:15:36
Message-ID: 1468350936.7237.53.camel@nbcperez
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Te paso a modo de resumen lo que tenemos armado en un ERP tratando de
marcar algunas tablas satelites por su importancia nada mas.

. Familias

. Grupos
Esta tabla puede tener una relacion directa a una familia o a un
grupo padre, esto te va a permitir que si algun cliente quiere hacer una
apertura mas profunda que dividir por familia y grupo, la puedas hacer
como quieras (algo asi tiene SAP).

Articulos
. Aca van campos de los que mencionas en tu modelo, aunque quede a tu
criterio, yo pondria todo tipo de costo y precio (ej promedio ponderado,
ultima compra... idem con la utilizacion de unidad de medida principal y
alternativas por si necesitas hacer conversiones (ej. cajas, botellas).

. Movimientos de stock
Aca basicamente registra todo los datos necesarios que se necesitan
para hacer entradas / salidas (y cambios de depositos ) que no son mas
que una salida de un deposito y una entrada al otro en forma atomica.

. Historico de stock
Todo lo necesario para tener las cantidades de cada producto a fecha.

. Vista materializada con las cantidades actuales.

Hay lugares donde te piden mas ampliacion respecto a los datos. Ej.
cuando se importa /exporta a otro pais te piden datos como lote,
despacho, fecha de vencimiento, pais de origen, etc.
..... tenes que ver que hacer cuando los productos se vencen..... (en
general se decide con el cliente) ej. hacerle un proceso batch.

....y respecto a eso de hacer siempre un insert, yo en tu lugar si es
que lo decis para tener una suerte de auditoria completa, pondria un
_his de cada una de las tablas que tenga un trigger en la tabla origen
que las vaya alimentando.

Si mas o menos se entiende lo que quise expresar y consideras que te
sirve, si queres te paso por privado el modelo de datos basico.
saludos.

El mar, 12-07-2016 a las 18:57 +0000, Alberto Cuevas escribió:

> Hola a todos, en los siguientes puentos detallo lo que requiero:
>
>
> 1 - Tengo en mi tabla PRODUCTOS los campos:
>
> CAN_INCIAL = Stock Inicial
> CAN_ACTUAL = Stock Actual, que se va actualizando a medida que se se
> hacen compras o ventas.
>
> Esto me ha servido, pero es porque muy pocas personas están conectadas
> a la Base de Datos, no habrá muchos conflictos. Pero si puede haber
> miles de personas conectadas (vender por Internet, un producto que
> tiene mucha demanda, por ejemplo) allí el asunto cambia ya que al
> hacer UPDATE al campo CAN_ACTUAL de la tabla PRODUCTOS con miles,
> millones de registros.
>
>
> 2. Pienso estructurar mi tabla PRODUCTOS quitando los campos
> CAN_INCIAL y CAN_ACTUAL quedando de esta manera:
>
> IDE_PRODUCTO = Identificador de tabla
> IDE_EMPRESA = Identificador de tabla empresa
> IDE_SUCUSAL = Identificador de tabla sucursal
> IDE_FAMILIA = Identificador de tabla familia
> IDE_CLASE = Identificador de tabla clase
> IDE_SUBCLASE = Identificador de tabla subclase
> IDE_MARCA = Identificador de tabla marca
> IDE_UNIDAD = Identificador de tabla unidad de medida
> COD_BARRA = Codigo de barra de producto
> NOM_PRODUCTO = Nombre de producto
> PRE_UNITARIO = Precio Unitario de producto
> TXT_DETALLE = Descripción o detalle de producto
> EST_PRODUCTO = Estado de producto V=Vigente A=Anulado
> USU_REGISTRO = Usuario de registro
> PC_REGISTRO = PC de registro
> FEC_REGISTRO = Fecha de registro
> USU_MODIFICO = Usuario de modificacion
> PC_MODIFICO = PC de modificacion
> FEC_MODIFICO = Fecha de modificacion
>
> He creado 2 tablas. Estructuradas de la siguiente forma:
>
> SALDOS_PRODUCTOS_CAB
>
> IDE_SALDO = Identificador de tabla
> IDE_EMPRESA = Identificador de tabla empresa
> IDE_SUCUSAL = Identificador de tabla sucursal
> IDE_ALMACEN = Identificador de tabla almacen
> IDE_PRODUCTO = Identificador de tabla producto
> CNT_INICIAL = Cantidad de Stock inicial
> FEC_REGISTRO = Fecha de registro
>
> SALDOS_PRODUCTOS_DET
>
> IDE_SALDO_DET = Identificador de tabla
> IDE_EMPRESA = Identificador de tabla empresa
> IDE_SUCUSAL = Identificador de tabla sucursal
> IDE_ALMACEN = Identificador de tabla almacen
> ID_SAL BIGINT = Identificador de tabla SALDOS_PRODUCTOS_CAB
> CAN_ENTRADA = Cantidad de Entrada
> CAN_SALIDA = Cantidad de Salida
> FEC_REGISTRO = Fecha de registro
>
> SALDOS_PRODUCTOS_CAB = Cabecera de los saldos de los productos. En
> esta tabla solamente se realizara INSERT, jamás un UPDATE, salvo que
> el saldo inicial o la fecha inicial estuvieran incorrectos, pero no
> debería ocurrir si se hizo todo bien.
>
> SALDOS_PRODUCTOS_DET = Se registrara las entredas y salidas del
> producto. En esta tabla también solamente se realizan INSERT, jamás un
> UPDATE.
>
>
> 3. Es buena la idea que quiero implementar?
>
>
> 4. Según su experiencia, que me sugieren o como lo trabajan?
>
>
> Muchas gracias por su tiempo.
>
>
> Saludos.
>

--
Carlos Enrique Perez
SYSWARP - SRL - Direccion

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alberto Cuevas 2016-07-12 19:35:31 Re: Stock Actual de Productos
Previous Message Alberto Cuevas 2016-07-12 18:57:17 Stock Actual de Productos