none
Procedimiento Almacenado que calcule la Utilidad de una venta RRS feed

  • Pregunta

  • Hola a todos... Tengo 7 tablas y debo obtener la utilidad de la venta que se realiza a diario. Esta son las tablas:

    Este es mi codigo:

    ALTER PROCEDURE [dbo].[VerGananciasTotalesXfechas]
    @Fecha1 datetime,
    @Fecha2 datetime
    AS
    SELECT       FACTURA.Numero_Factura, PRODUCTO.Codigo_Producto, PRODUCTO.Nombre_Producto,
    Detalle_Factura.Cantidad, Costos.Costo, Precios_Venta.Precio, Detalle_Factura.Monto, Detalle_Factura.Descuento,
      (Precios_Venta.Precio-Costos.Costo-Detalle_Factura.Descuento) as UTILIDAD
    FROM            PRODUCTO INNER JOIN
                             Producto_Costo ON PRODUCTO.Id_Producto = Producto_Costo.Id_Producto INNER JOIN
                             Producto_Precio ON PRODUCTO.Id_Producto = Producto_Precio.Id_Producto INNER JOIN
                             Costos ON Producto_Costo.Id_Costo = Costos.Id_Costo INNER JOIN
                             Precios_Venta ON Producto_Precio.Id_Precio = Precios_Venta.Id_Precio INNER JOIN
                             Detalle_Factura ON PRODUCTO.Id_Producto = Detalle_Factura.Id_Producto INNER JOIN
                             FACTURA ON Detalle_Factura.Id_Factura = FACTURA.Id_Factura
    WHERE (FACTURA.Fecha BETWEEN @Fecha1 AND @Fecha2) 
    GROUP BY
    FACTURA.Numero_Factura, 
    PRODUCTO.Codigo_Producto, 
    PRODUCTO.Nombre_Producto, 
    Costos.Costo, 
    Precios_Venta.Precio, 
    Detalle_Factura.Cantidad, 
    Detalle_Factura.Monto, 
    Detalle_Factura.Descuento

    RETURN

    Pero el asunto es que el monto es el total de toda la factura y no se cómo hacer para obtener esa utilidad. Me pueden generar un ejemplo de como encontrar esa variable? 


    rammyni

    jueves, 14 de mayo de 2020 23:04

Respuestas

  • Hola  Ramiro Castañeda,

      

    Gracias por levantar tu consulta en los foros de MSDN. Con respecto a la misma, te comento si entendemos que la utilidad de ventas es:

      Utilidad de ventas = ( ventas netas - costo de lo vendido )

     

    Ventas netas:  ventas brutas - (devoluciones + rebajas)

    Costo de lo vendido: (inventario inicial + compras netas) - inventario final

     

    Si es asi entonces seria  que hagas un SELECT de la tabla en donde tienen el dato de las ventas brutas y con otro SELECT un calculo que haga las (devoluciones + rebajas) y asi con el costo de lo vendido y despues de tener esos dos calculos los restas y eso te da la utilidad de ventas. 

     

    Informacion para guiarte

    Ventas Netas

    Costo de lo vendido

    Utilidad de ventas

      

    Operadores 

    https://docs.microsoft.com/es-es/sql/t-sql/language-elements/arithmetic-operators-transact-sql?view=sql-server-ver15

    Gracias por usar los foros de MSDN. 

      

    Andres Aguilar 

     ____________________________ 

      

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde.  

    Microsoft ofrece este servicio de forma gratuita, con la finalidad de ayudar a los usuarios y la ampliación de la base de datos de conocimientos relacionados con los productos y tecnologías de Microsoft.   

    Este contenido es proporcionado "tal cual" y no implica ninguna responsabilidad de parte de Microsoft. 

    viernes, 15 de mayo de 2020 14:49
    Moderador
  • Hola Ramiro Castañeda:

    Pero el asunto es que el monto es el total de toda la factura y no se cómo hacer para obtener esa utilidad.

    ¿Qué es lo que necesitas obtener? En España ese concepto, o al menos yo no lo conozco como tal, no existe. ¿Puedes mejorar tú definición?

    viernes, 15 de mayo de 2020 5:27
  • Hola, te lo explico de esta manera: Si le compro a un proveedor un producto con un precio de coste de $100 para que yo venda ese producto lo tendría que dar a un precio de venta $150 y mi utilidad o ganancia serían 50 (150-100=50), pero teniendo en cuenta que ahora sean 6 productos que venda, obviamente he comprado 6, siempre al mismo precio de coste y venda al mismo precio de venta y a éste le apliqué un descuento de $20. Cómo hago el procedimiento almacenado asignando las variables a utilizar para hacer dicho cálculo, tomando en cuenta este?

    ALTER PROCEDURE [dbo].[VerGananciasTotalesXfechas]
    @Fecha1 datetime,
    @Fecha2 datetime
    AS
    SELECT       FACTURA.Numero_Factura, PRODUCTO.Codigo_Producto, PRODUCTO.Nombre_Producto,
    Detalle_Factura.Cantidad, Costos.Costo, Precios_Venta.Precio, Detalle_Factura.Monto, Detalle_Factura.Descuento,
      (Precios_Venta.Precio-Costos.Costo-Detalle_Factura.Descuento) as UTILIDAD
    FROM            PRODUCTO INNER JOIN
                             Producto_Costo ON PRODUCTO.Id_Producto = Producto_Costo.Id_Producto INNER JOIN
                             Producto_Precio ON PRODUCTO.Id_Producto = Producto_Precio.Id_Producto INNER JOIN
                             Costos ON Producto_Costo.Id_Costo = Costos.Id_Costo INNER JOIN
                             Precios_Venta ON Producto_Precio.Id_Precio = Precios_Venta.Id_Precio INNER JOIN
                             Detalle_Factura ON PRODUCTO.Id_Producto = Detalle_Factura.Id_Producto INNER JOIN
                             FACTURA ON Detalle_Factura.Id_Factura = FACTURA.Id_Factura
    WHERE (FACTURA.Fecha BETWEEN @Fecha1 AND @Fecha2) 
    GROUP BY
    FACTURA.Numero_Factura, 
    PRODUCTO.Codigo_Producto, 
    PRODUCTO.Nombre_Producto, 
    Costos.Costo, 
    Precios_Venta.Precio, 
    Detalle_Factura.Cantidad, 
    Detalle_Factura.Monto, 
    Detalle_Factura.Descuento


    rammyni

    viernes, 15 de mayo de 2020 20:37
  • Hola  Ramiro Castañeda,

    Gracias por confirmar que se ha encontrado una solución a la consulta realizada. Debido a ello, este hilo será cerrado. 

    Si es necesario, por favor abra un nuevo hilo. 

    Cualquier duda referente a productos Microsoft, puedes consultarnos. Es un gusto informarte. 

    Gracias por usar los foros de MSDN. 

     

     Andres Aguilar

    ____________________________ 

      

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde.  

    Microsoft ofrece este servicio de forma gratuita, con la finalidad de ayudar a los usuarios y la ampliación de la base de datos de conocimientos relacionados con los productos y tecnologías de Microsoft.   

    Este contenido es proporcionado "tal cual" y no implica ninguna responsabilidad de parte de Microsoft. 


    lunes, 18 de mayo de 2020 16:19
    Moderador

Todas las respuestas

  • Hola Ramiro Castañeda:

    Pero el asunto es que el monto es el total de toda la factura y no se cómo hacer para obtener esa utilidad.

    ¿Qué es lo que necesitas obtener? En España ese concepto, o al menos yo no lo conozco como tal, no existe. ¿Puedes mejorar tú definición?

    viernes, 15 de mayo de 2020 5:27
  • Hola  Ramiro Castañeda,

      

    Gracias por levantar tu consulta en los foros de MSDN. Con respecto a la misma, te comento si entendemos que la utilidad de ventas es:

      Utilidad de ventas = ( ventas netas - costo de lo vendido )

     

    Ventas netas:  ventas brutas - (devoluciones + rebajas)

    Costo de lo vendido: (inventario inicial + compras netas) - inventario final

     

    Si es asi entonces seria  que hagas un SELECT de la tabla en donde tienen el dato de las ventas brutas y con otro SELECT un calculo que haga las (devoluciones + rebajas) y asi con el costo de lo vendido y despues de tener esos dos calculos los restas y eso te da la utilidad de ventas. 

     

    Informacion para guiarte

    Ventas Netas

    Costo de lo vendido

    Utilidad de ventas

      

    Operadores 

    https://docs.microsoft.com/es-es/sql/t-sql/language-elements/arithmetic-operators-transact-sql?view=sql-server-ver15

    Gracias por usar los foros de MSDN. 

      

    Andres Aguilar 

     ____________________________ 

      

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde.  

    Microsoft ofrece este servicio de forma gratuita, con la finalidad de ayudar a los usuarios y la ampliación de la base de datos de conocimientos relacionados con los productos y tecnologías de Microsoft.   

    Este contenido es proporcionado "tal cual" y no implica ninguna responsabilidad de parte de Microsoft. 

    viernes, 15 de mayo de 2020 14:49
    Moderador
  • Hola, te lo explico de esta manera: Si le compro a un proveedor un producto con un precio de coste de $100 para que yo venda ese producto lo tendría que dar a un precio de venta $150 y mi utilidad o ganancia serían 50 (150-100=50), pero teniendo en cuenta que ahora sean 6 productos que venda, obviamente he comprado 6, siempre al mismo precio de coste y venda al mismo precio de venta y a éste le apliqué un descuento de $20. Cómo hago el procedimiento almacenado asignando las variables a utilizar para hacer dicho cálculo, tomando en cuenta este?

    ALTER PROCEDURE [dbo].[VerGananciasTotalesXfechas]
    @Fecha1 datetime,
    @Fecha2 datetime
    AS
    SELECT       FACTURA.Numero_Factura, PRODUCTO.Codigo_Producto, PRODUCTO.Nombre_Producto,
    Detalle_Factura.Cantidad, Costos.Costo, Precios_Venta.Precio, Detalle_Factura.Monto, Detalle_Factura.Descuento,
      (Precios_Venta.Precio-Costos.Costo-Detalle_Factura.Descuento) as UTILIDAD
    FROM            PRODUCTO INNER JOIN
                             Producto_Costo ON PRODUCTO.Id_Producto = Producto_Costo.Id_Producto INNER JOIN
                             Producto_Precio ON PRODUCTO.Id_Producto = Producto_Precio.Id_Producto INNER JOIN
                             Costos ON Producto_Costo.Id_Costo = Costos.Id_Costo INNER JOIN
                             Precios_Venta ON Producto_Precio.Id_Precio = Precios_Venta.Id_Precio INNER JOIN
                             Detalle_Factura ON PRODUCTO.Id_Producto = Detalle_Factura.Id_Producto INNER JOIN
                             FACTURA ON Detalle_Factura.Id_Factura = FACTURA.Id_Factura
    WHERE (FACTURA.Fecha BETWEEN @Fecha1 AND @Fecha2) 
    GROUP BY
    FACTURA.Numero_Factura, 
    PRODUCTO.Codigo_Producto, 
    PRODUCTO.Nombre_Producto, 
    Costos.Costo, 
    Precios_Venta.Precio, 
    Detalle_Factura.Cantidad, 
    Detalle_Factura.Monto, 
    Detalle_Factura.Descuento


    rammyni

    viernes, 15 de mayo de 2020 20:37
  • Lo que hice fue agregar otro campo como el código del producto para que me busque por fechas de ventas y específicamente el código del producto y así evitar campos duplicados 

    rammyni

    sábado, 16 de mayo de 2020 16:32
  • Hola  Ramiro Castañeda,

    Gracias por confirmar que se ha encontrado una solución a la consulta realizada. Debido a ello, este hilo será cerrado. 

    Si es necesario, por favor abra un nuevo hilo. 

    Cualquier duda referente a productos Microsoft, puedes consultarnos. Es un gusto informarte. 

    Gracias por usar los foros de MSDN. 

     

     Andres Aguilar

    ____________________________ 

      

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde.  

    Microsoft ofrece este servicio de forma gratuita, con la finalidad de ayudar a los usuarios y la ampliación de la base de datos de conocimientos relacionados con los productos y tecnologías de Microsoft.   

    Este contenido es proporcionado "tal cual" y no implica ninguna responsabilidad de parte de Microsoft. 


    lunes, 18 de mayo de 2020 16:19
    Moderador