cancel
Showing results for 
Search instead for 
Did you mean: 

Margen de venta en campo de usuario

marco_ramirez
Active Contributor
0 Kudos

Estimados

Por razones de autorizar documentos de ventas vía iPad requiero calcular el margen de venta global de las ofertas de ventas y colocarlo en un campo de usuario, he buscado por aquí sin encontrar y he escrito el siguiente código pero el resultado siempre es 0

Declare @Total int
Declare @Iva float
Declare @Siniva Int
Set @Total = (Select T0.DocTotal From OQUT T0 Where T0.DocNum = $[$8.0.1])
Set @Iva = 1.12
Set @Siniva = (@Total/1.12)

SELECT (T0.GrosProfit/@Siniva)
From OQUT T0
Where T0.DocNum = $[$8.0.1]

Adicional, en la iPad no encuentro un dato como margen de ventas que me indique un criterio para autorizar solamente si navego por los artículos del documento en cuestión pero es algo muy extenso y dada la premura de recibir respuesta por la autorización requerimos ver un solo dato global.

Si alguien puede ayudarme con el tema se lo estaré agradeciendo.

Saludos

Marco

Accepted Solutions (1)

Accepted Solutions (1)

felipe_loyolarodriguez
Active Contributor
0 Kudos

Marco, en vez de colocar los campos desde la tabla y haciendo referencia al documento con DocNum=$[$8.0.1], uses los campos directamente desde la pantalla.

Prueba con $[OQUT.DocTotal] para el total y $[OQUT.GrosProfit] para la ganancia.

Saludos


marco_ramirez
Active Contributor
0 Kudos

Agradezco tu aporte

Hice lo sugerido, sin embargo, me da el error que te dejo en la imagen.

El código quedo así

Declare @Total Int
Declare @Iva float
Declare @Siniva Int
Set @Total = (Select $[OQUT.DocTotal])
Set @Iva = 1.12
Set @Siniva = (@Total/@Iva)

SELECT (($[OQUT.GrosProfit]/@Siniva) *100)
--From OQUT T0
--Where T0.DocNum = $[$149.8.0.1]

El campo de usuario es de tipo Importe

felipe_loyolarodriguez
Active Contributor
0 Kudos

Pruebalo así

SELECT CAST((($[OQUT.GrosProfit]/($[OQUT.DocTotal]/12))*100) AS NUMERIC(19,6)

Saludos

marco_ramirez
Active Contributor
0 Kudos

Me resulta un nuevo error

adjunto la imagen

felipe_loyolarodriguez
Active Contributor
0 Kudos

Falta un paréntesis final!

marco_ramirez
Active Contributor
0 Kudos

Ciertamente falta el paréntesis final, sin embargo, al ponerlo me indica que no es posible hacer una conversión de un nvarchar a Int.

Te dejo la imagen

Gracias por la ayuda

Saludos

felipe_loyolarodriguez
Active Contributor
0 Kudos

SAP y sus mañas me están sacando canas verdes.

Ya lo pude solucionar, pruebalo así

SELECT ((CONVERT(NUMERIC(19,6), $[OQUT.GrosProfit])/(CONVERT(NUMERIC(19,6), $[OQUT.DocTotal])/12))*100)

Atte.

marco_ramirez
Active Contributor
0 Kudos

Felipe

Tu último aporte ha sido perfecto!

Sin embargo, se me da otro aspecto con el tema de la actualización de los documentos, pues cuando hago un modificación no se actualiza el valor del margen en el campo de usuario, queda el anterior.

He intentado mediante la actualización automática de varios campos pero el resultado es el mismo.

Sabes si hay alguna opción de que el valor del campo de usuario se renueve cuando se de clic al botón Crear o en su defecto al botón Actualizar? adjunto imágenes

Agradezco tu paciencia y apoyo

marco_ramirez
Active Contributor
0 Kudos

Gracias por la Ayuda Felipe

Finalmente el código que me aportaste funcionó, solo quedo el tema de la BF.

Saludos

Answers (0)