none
Problema con Unidades de Medida y Equivalencias en Productos RRS feed

  • Pregunta

  • stoy armando la estructura de una BD en SQL SERVER 2005 sobre Almacen e Inventarios.

    El problema se me presenta en la tabla articulos o productos ya que esta empresa vende cada producto por diferentes unidades de medida. Les planteo un ejemplo.

     

    Vende Planta de los zapatos, los vende al por menor, por docena, por ciento, por medio ciento.

    Vende Pegamentos, por tarro, por gramos, 1/4 de litro, 1/2 lito y 1 litro.

    Compra Tarros de Leches por caja cada caja trae 10 unidades, pero tambien vende por unidad.

    Entonces la duda se me da al momento de organizar la estructura de la tabla productos, ya que este tiene varias unidades de medida, y tambien cada unidad medida tiene una equivalencia para poder manejar el inventario en el almacen.

    Alguien con alguna experiencia en este tipo de proyectos, que me de  alguna idea de como poder administrar esa informacion, les estare agradecido.

    domingo, 28 de agosto de 2011 0:37

Respuestas

Todas las respuestas

  • Entonces la duda se me da al momento de organizar la estructura de la tabla productos, ya que este tiene varias unidades de medida, y tambien cada unidad medida tiene una equivalencia para poder manejar el inventario en el almacen.

    pero es simple, define dos campos uno con el valor yel otro con la medida y cuando guardes la informacion por supeusto deberas poner los dos campos, o preguntar al usuario la medida de valor que ingresa

    podrias poenrle al costado del cuadro donde solicitas el valor, un combo de unidades para que seleccion

    por supuesto en el campo de unidad no guardes string que digas Kg, litros, caja10unidades, o cosas asi

    define una tabla adicional de medidas que sea

    Uidades (Tabla)
    IdUnidad PK
    Descripcio


    y la tabla de producto se relaciona por el id con la de unidades, es mas con esta tabla podrias cargar los combos de unidad disponibles para que el usuario seleccione

    por supuesto esto se puede extender mucho mas porque en esta tabla de unidades podrias poner el factor de comversion entre estas, o mejor dicho entre la unidad y alguna base

    o podrias agruparlas las que son de peso, de liquidos, etc

    todo esto lo lograr con solo tener la tabla de unidades para relacionar con al de productos

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    domingo, 28 de agosto de 2011 4:01
  • Muchas gracias dejame ver si entendi.

    Tengo que crear una tabla Unidades de Medida. Que segun eh analizado va a tener la siguiente estructura:

    CodigoUnidadMedida

    NombreUnidadMedida

    AbreviaturaUnidad

    Equivalencia o Cantidad por Unidad (Es decir si la unidad de medida se llama docena, su equivalencia ser a de doce unidades.)

     

    luego me imagino que la clave Pk de UnidadMedida va a pasar como FK a la tabla Articulos. Hasta alli todo shevre, pero en la tabla Factura y Detalle de Factura si no me queada claro.

     

    Digamos que un cliente compra 10 cajas del producto X, dicho producto tiene como unidad de medida UNIDAD.

    Pero cada caja esta conformada por 20 unidades, entonces que debo registrar en el campo  cantidad de la tabla detalle_factura.

    Entonces aqui en este caso, el producto tendria varias unidades de medida (Unidad, Docena, Ciento, Caja, Bulto, etc) y el producto se puede vender por cada unidad de medida, pero en el inventario de almacen siempre debe hacer referencia a su unidad principal o minima.

    En este caso se me ocurre crear una tercera tabla que relacione el codigo de producto y el codigo de unidad de medida. Entonces con la nueva tabla creada relacion su Pk con la tabla Detalle_Factura.

     

    Esta es la parte que me complica un poco, espero haya sabido explicarme bien y ojala puedan darme una idea de como solucionarlo.

     

    saludos.

     

    domingo, 28 de agosto de 2011 22:25
  • hola

    bueno el diseño puede variar, por supuesto lo que comente era solo una idea para encaminar la solucion, despues se puede ampliar todo lo que se necesite

    - en primer lugar recomendaria que a lso campos no les pongas tantos profijos usar CodigoUnidadMedida, NombreUnidadMedida, AbreviaturaUnidad hace muy largo los nombres, si son campos de la tabla Unidades usa simplemente Codigo, Nombre, Abreviatura

    con eso alcanza

     

    me imagino que la clave Pk de UnidadMedida va a pasar como FK a la tabla Articulos

    en realidad depdende, al principio con tu primer plateo hubiera dicho que si, pero ahora con temas de ventas, puede que cambie un poco

    imagino que igualmente se debe relacionar con la tabla unidad porque uan unidad base debe asociarse al producto, pero ccuando incluyas temas de ventas puede cambiar

    Digamos que un cliente compra 10 cajas del producto X, dicho producto tiene como unidad de medida UNIDAD.  Pero cada caja esta conformada por 20 unidades, entonces que debo registrar en el campo  cantidad de la tabla detalle_factura.

    bien, el tema es que aqui entra a jugar temas de ventas, con lo cual la cosa cambia

    lo que podrias definir es una tabla de "Presentacion", o sea una tabla que defina como es el empaque en que se vende un producto

    ojo esta tabla presentaion se relacion de form M a N, un producto puede tener muchos tipos de presentaciones y una presentacion definida puede ser usada por mas de un producto

    es con esta tabla que modelas las ventas porque la presentacion define en que cantidad de unidades se vende

    por supuesto la tabla presentacion se relacion tambien con al tabla de "unidades"

    basicamente la presentacion seria una agrupacion de unidades o redefincion si lo quieres ver mejor, en la presentacion podrias definir que seran "cajas de 20 items", no importa el producto solo es una agrupacion conceptual que se relaciona con la venta

    entonces en tu tabla de factura detalle, definiras una cantidad ejemplo 10, pero de la presentacion "cajas de 20 items", en donde esta define que en realidad estarias comprando 200 unidades del producto en su unidad base

    si se que no es facil, te puedo asegurar que explicarlo por este medio tampoco lo es, son temas muy relaciondos con el negocio, por eso no es simple transmitir el concepto, pero analiza, he intenta hacer modelos para ver si cierra la idea

     

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    domingo, 28 de agosto de 2011 23:03
  • estoy + deacuerdo con la opción de crear una tabla de presentaciones.

    ejemplo:

    como se muestra en la imagen tendras que definir la presentacion según el caso, si definies Caja estandard para todo recuerda que pueden haber productos que en una caja puede variar la cantidad que en esta se pueden embalar.

    por los menos en el programa que yo tengo hecho en la tabla de productos esta la opcion de precios x presentacion.

    ejemplo:

    tambien puedes oviar en la tabla de presentacion la cantidad a rebajar del inventario al vender con esta presentación y agregar mejor el campo en la tabla de precios x presentacion, pero por algun motivo que no recuerdo en este momento lo defini de esta manera.

    ahora!!!!.... cuando hablas del producto pegamento, a según puedo asumir me imagino que la empresa lo compra por libra, toneladas o una medida grande, entonces para que no se te haga dificil o muy complejo seria mejor mantener el inventario en libras u otra unidad según convenga por ejemplo, así podrias crear la presentación "Gramos" y en la cantidad a rebajar del inventario colocar "0.002204" asi cuando vendas 1 gramo, el sistema rebajara del inventario la cantidad de 0.002204 o según sea el caso, para esto puedes agregar un multiplicador que seria la cantidad a rebajar del inventario y segun la cantidad, multiplicar por el multiplicador, ejemplo 2 x 0.002204 = 0.004408 <- esta cantidad se rebajara del inventario.

    luego, si es necesario ver el inventario en otro tipo de unidad de medida entonces si vendria bien crear la tabla de equivalencias que no aplicaria para todos los productos.

    pero la idea base es mantener el inventario en una sola presentación.

    bueno, cualquier otra duda... no dudes en preguntar.

    Salu2,


    Marvin E. Pineda

      ComboBoxMultiColumns

      NetBarControl

      TextEditor



    lunes, 29 de agosto de 2011 1:22
    Moderador
  • Muchas gracias Marvin en realidad me fue de mucha ayuda.

    Logre entender muy bien, crees que sea posible que adjuntes a mi correo algunas imagenes mas de tu formulario donde registras los datos generales de productos, el Formulario de Presentacion, el proceso del Registro de las Ventas. Basicamente para guiarme y poder entende logica de otras personas, asi me retroalimento yo.

     

    Estoy seguro me seran de mucha utilidad en mi vida profesional.

     

    Te dejo mi correo. luis_rp15@hotmail.com

    lunes, 29 de agosto de 2011 2:31
  • Segu lo que me dice marwin y analizando yo mismo la estructura de la BD seri de la siguiente manera.

     

    PRODUCTO

    PROD_codigo (PK)

    PROD_descripcion

    etc

     

    PRESENTACION

    PRE_codigo(PK)

    PRE_descripcion

    PRE_descripcion_cota

    PRE_cantidad_rebajar

     

    PRODUCTO_PRESENTACION_PRECIOS

    PROD_codigo (PK)

    PRE_codigo (PK)

    PPP_precioventa

     

     

    VENTA

    VEN_codigo (PK)

    CLI_codigo

    etc

     

    DETALLE_VENTA

    IdVenta (PK)

    PROD_codigo (FK)

    PRE_codigo(FK)

    PrecioVenta

    Cantidad

    Descuento

    Ganancia

     

    Segun sus recomendaciones y usando mi propia logica este es mi analisis. Espero algunas recomendaciones. Saludos.

     

     

     

    martes, 30 de agosto de 2011 1:03
  • DETALLE_VENTA, agrega campo Multiplicador que sera la cantidad a rebajar segun la presentación, yo prefiero guardar en el detalle de la factura por si cambia en las presentaciones se mantendria igual en el detalle de la factura que ya se han posteado, y asi seria mas facil desencadenar un Trigger para que actualize el inventario tomando el campo (Cantidad * Multiplicador)

    luego lo veo bien...

    Salu2,


    Marvin E. Pineda

      ComboBoxMultiColumns

      NetBarControl

      TextEditor



    martes, 30 de agosto de 2011 1:09
    Moderador
  • Muchas gracias Marwin, me ah sido de mucha utilidad.

    Crees que sea posible que envies algunas imagenes mas del form de productos, y del form de ventas.

    Muchas Gracias. Saludos.

     

    Mi Email es : luis_rp15@hotmail.com

    martes, 30 de agosto de 2011 1:21
  • bueno, de la ficha de productos la que te he mostrado es la más importante ya que en esta defines las presentaciones y precios de venta de los productos y ya la de facturación es esta:

     

    la venta o popup que se muestra para cambiar el precio de venta segun la presentacion yo la activo usando una tecla de función, en mi caso programa F8, seleccionas el producto y precionas F8.

    luego todo lo demas es igual que todos los casos.

    Salu2,

     


    Marvin E. Pineda

      ComboBoxMultiColumns

      NetBarControl

      TextEditor



    martes, 30 de agosto de 2011 1:47
    Moderador
  • Muchas gracias Marwin de nuev, disculpa que te moleste una vez mas con las preguntas  pero si uno kiee aprender y salir adelnte debe de peguntar y preguntar. no me gusta kedarme con la duda.

     

    Comentando con otros coleas les pregunte en donde colocar los campos stock_minimo, stock maximo y stock actual.

     

    Algunos me comentaron que debo crear una tabla diferente llamada Inventario, luego me dijeron que en la misma tabla producto agrege los campos de stock min, max y actual.

    En el caso de tu programa vos agregas los campos de stock en la misma tabla producto verdad?

    martes, 30 de agosto de 2011 1:58
  • si, asi es, por lo menos no veo necesario crear otra tabla, asi que lo utilizo en la misma tabla de productos.

    Salu2,


    Marvin E. Pineda

      ComboBoxMultiColumns

      NetBarControl

      TextEditor



    martes, 30 de agosto de 2011 2:13
    Moderador
  • oh!!!!.. a diferencia de stock actual, esa si esta en otra tabla, como es multi-tienda, debe estar separo el inventario por tienda....

    Salu2,


    Marvin E. Pineda

      ComboBoxMultiColumns

      NetBarControl

      TextEditor



    • Marcado como respuesta Carrasco Tavara martes, 30 de agosto de 2011 15:46
    martes, 30 de agosto de 2011 2:18
    Moderador
  • Muchas gracias marwin. Seria bueno que envies un print de tu BD a mi correo jaja. luis_rp15@hotmail.com

     

    Muchas grcias bye.

    martes, 30 de agosto de 2011 15:53
  • Como diseñaste el tabcontrol en vertical??? podrías darme un tip.
    martes, 29 de septiembre de 2015 17:24