Consulta por diseño de tablas para sistema de producción

127 views
Skip to first unread message

InfoLib

unread,
Apr 28, 2017, 9:39:25 AM4/28/17
to Comunidad de Visual Foxpro en Español
Estimados, estoy en un dilema. Tal vez me estoy ahogando en un vaso de agua, pero le di tantas vueltas al asunto que opiniones frescas no me vendrán mal.
Estoy desarrollando un sistema de producción y me encuentro con la necesidad de definir tablas donde volcar la secuencia de producción de un producto final desde su inicio como materia prima y componentes. Paso a ejemplificar:

Producto Final: Botella de jugo de naranja de 1L.

Cómo se compone:

- Jugo Naranja (Componente)
  - Conservantes XX (M/Prima)
  - Cremogenado     (M/Prima)
  - Glucosa             (M/Prima)
  - Gomas              (M/Prima)
  - Etc.

- Botella PET 1L (Componente)
  - 15g de bolitas de plástico (M/Prima)
  - Etiqueta                          (Componente)
  - Cemento para pegar la etiqueta (M/Prima)
  - Tapita                             (Componente del componente Botella PET 1L)
    - 2g de bolitas de plástico
    - Colorante

Es decir, que para producir una botella de jugo de naranja debo tener una estructura de tablas que me permita definir dicho proceso, para entonces poder estimar stock, costos, tiempos de producción etc.
Hay que tener en cuenta que el producto final puede estar conformado por componentes, y que cada componente se conforma de una materia prima. Pero hay componentes que se conforman de otros componentes; como también puede existir que en producto final pueda contener materia prima además de componentes.
Espero no haberme mezclado demasiado (Aunque ya lo estoy ja)
Desde ya muchas gracias.

Arnaldo Toledano

unread,
Apr 28, 2017, 10:44:13 AM4/28/17
to publice...@googlegroups.com
Yo lo tengo desarrollado de la siguiente manera.

Tabla Artículos.
Código Nombre Es_Arreglo Cantidad
MEDIDA Habilitado_x_venta etc, etc, etc
1000 JUGO DE NARANJA SI 100
Unidad SI
2000 BOTELLA PET 1 LITRO SI 50
Unidad SI

50000 CONSERVANTES XX NO 1000
KILO NO
50001 CREMOGENADO NO 1000
KILO NO
50002 GLUCOSA NO 1000
KILO NO
50003 ETIQUETA NO
5000 UNIDAD NO

Etc.

Tabla Arreglo
CODIGO_PADRE Nombre Codigo_hijo Proporcion
1000 JUGO DE NARANJA 50000
0.50
1000 JUGO DE NARANJA 50001
0.750
1000 JUGO DE NARANJA 50002 0.200
1000 JUGO DE NARANJA 50003 1

De esta manera cuando REALIZO una venta de JUGO de NARANJA
El sistema si ve que ES_ARREGLO esta en .T., busca la tabla de Arreglos
y procede a dar de BAJA la cantidad de artículos vendidos
por la Arreglo.Proporción
La clave esta en la definicon de las medidas de las unidades

Arnaldo Toledano

mapner

unread,
Apr 28, 2017, 12:47:08 PM4/28/17
to Comunidad de Visual Foxpro en Español
Hola,

en principio debes tener una tabla de Productos/Insumos y luego una segunda tabla de Fórmulas de composición
La tabla Fórmula puede operar un varios niveles como en Producto Terminado, Sub Producto o Insumo
Es una estructura de nodos jerárquicos

CREATEA TABLE PRODUCTOS(
ID INTEGER NOT NULL PRIMARY KEY, 
CODIGO CHAR(20), 
NOMBRE CHAR(50), 
TIPO CHAR(2)


CREATE TABLE FORMULA_PROD(
ID INTEGER NOT NULL PRIMARY KEY,  
ID_PRODUCTO_CAB INTERGER NOT NULL,
ID_PRODUCTO_DET INTERGER NOT NULL,
CANTIDAD NUMERIC(15,2),
UNIDAD CHAR(2),
PRECIO_UNI NUMERIC(15,12))      

INSERT PRODUCTOS VALUES (1,'PT001','JUGO NARANJA (PT)','PT')
INSERT PRODUCTOS VALUES (2,'PI001','JUGO NARANJA (PI)','PI')
INSERT PRODUCTOS VALUES (3,'PI002','BOTELLA JN 500ML (PI)','PI')

* formula de Producto Terminado Jugo de Naranja 500ml
INSERT FORMULA VALUES (1,2,500)
INSERT FORMULA VALUES (1,3,1)

* fórmula de Producto Intermedio Jugo de Naranga
INSERT FORMULA VALUES (2,...
INSERT FORMULA VALUES (2,...

* fórmula de Producto Intermedio Botella de plástico 500ML
INSERT FORMULA VALUES (3,...
INSERT FORMULA VALUES (3,...

* y luego con SQL puedes listar todas las fórmulas con sus componentes
SELECT PRDE.CODIGO,PRDE.NOMBRE, PRDD,CODIGO,PRDD.NOMBRE, FRM.UNIDAD, FRM.CANTIDAD,  FRM.PRECIO
FROM PRODUCTOS PRDE 
LEFT JOIN FORMULAS FRM ON PRD.ID = FRM.ID_PRODUCTO_CAB
LEFT JOIN PRODUCTOS PRDD ON FRM.ID_PRODUCTO_DET = PRDD.ID 
 
* En los SQL que permiten Stored Procedures y Funciones puedes hacer Querys recursivos para recorrer en diferentes niveles
* te sugiero que googlees BOM Recursive Query Bill Of Materials


* saludos

Carlos Miguel FARIAS

unread,
Apr 28, 2017, 4:09:22 PM4/28/17
to Grupo Fox
Con dos tablas podrías en principio solucionarlo...

Objetos = {idObjeto, cDenominacion, yPrecio, nStock, nStockMinimo, nLoteReposicion, <<otros datos específicos de un objeto>>}

Composicion = {idObjetoCompuesto, idObjetoComponedor, iOrdenComposicion, nCantidad, idProcedimiento}

Clave Primaria, Clave Foránea

Un objeto (producto, materia prima, producto en proceso, cualquier elemento que se utilice, hasta podría ser energía eléctrica...

Esta compuesto por N objetos, que pueden repetirse en distinto momento (por eso es parte de la clave primaria iOrdenComposición, que está marcando el orden en que el objeto componedor (p.e. harina) pasa a formar parte del Objeto compuesto.
Cada vez que el componedor se agrega (en un orden dado) lo hace mediante un procedimiento determinado.

Con estas dos tablas, puedes incluir en objetos cualquier producto, que a su vez puede ser componente de cualquier otro, y en forma jerárquica podes tener toda la estructura de elaboración y composición

ejemplo: auto (objeto) -> 4 ruedas (objetos) + ... -> 4 tuercas (objetos) + Llanta (objeto) + neumático (objeto -> tuerca -> 30 grs. aluminio en cubos (objeto) + 600 watts para torneado (objeto intangible) y así hasta nivel cuántico si quieres desglosar a lo Einstein

Como podes ver, se pueden prever todo tipo de objetos (materiales e inmateriales).

Es una idea más

Saludos: Miguel, La Pampa (RA)
Larga Vida y Productividad
Que la Fuerza los acompañe con mucho humor

Armando Marcelo ROMERO GOMEZ

unread,
Apr 30, 2017, 2:23:17 PM4/30/17
to publice...@googlegroups.com
Muchas gracias por el tiempo prestado. Ya tengo un panorama acerca​ del modo de encarar​ el desarrollo utilizando 2 tablas y sus jerarquías. Les comento​ luego si llegue a buen puerto. Muchas gracias por la ayuda desinteresada y espero​ poder devolver esta atencion el algun momento. Feliz dia para todos los integrantes mañana.
Reply all
Reply to author
Forward
0 new messages