cancel
Showing results for 
Search instead for 
Did you mean: 

Precio de venta >= Precio de lista

0 Kudos

Buen día para todos.

Por favor me podrían colaborar con un Query, el cual valide donde el precio de venta sea mayor al precio de lista,

Mil gracias!

Accepted Solutions (0)

Answers (1)

Answers (1)

felipe_loyolarodriguez
Active Contributor
0 Kudos

Es un bloqueo o un informe lo que estás solicitando?

Atte.

0 Kudos

Hola Felipe de ante mano mil gracias por tu pronta respuesta, necesito un bloqueo en el Modulo de Facturas deudores

felipe_loyolarodriguez
Active Contributor
0 Kudos

Es complicado en un solo aspecto.

La lista de precios usada en la factura no se guarda en las tablas de SAP B1, por lo que es imposible saber por base de datos ese dato especifico.

Hay alguna lista en especifico que quieras validar o puede ser la lista asignada al cliente en su ficha?

Saludos

0 Kudos

Felipe, y si se valida con el mismo precio de venta, en vez de la lista de precios?

Es decir que no se pueda ingresar un precio menor al precio de venta.

Saludos,

felipe_loyolarodriguez
Active Contributor
0 Kudos

Y donde está especificado el precio de venta?

Lo otro que puedes hacer es bloquear la columna precio y descuento para que no puedan modificar los valores.

Saludos

0 Kudos

Hola Felipe, el precio de venta esta en el dato maestro del item

En cuanto al bloqueo de la columna Precio, en este momento lo tengo así, pero pasa lo siguiente, tengo una SP donde me aplica una regla para el campo descuento que no sea mayor al 20%.

Entonces cuando el valor total es menor al 20% el porcentaje de descuento sale como negativo.

Ej. Aplicando descuento

Ej. Aplicando Total (ML)


Esta es mi Query de Porcentaje:


IF @OBJECT_TYPE IN ('13') AND @TRANSACTION_TYPE IN ('A', 'U') /*Factura*/

BEGIN

DECLARE @TIPOF CHAR(1);

SET @TIPOF = (SELECT DISTINCT A.DocType FROM OINV AS A INNER JOIN INV1 AS B ON A.DocEntry = B.DocEntry WHERE  @list_of_cols_val_tab_del =     A.DocEntry );

DECLARE @TOTALF DECIMAL(19,6);

DECLARE @TOTALBF DECIMAL(19,6);

DECLARE @DESCF DECIMAL(19,6);

IF @TIPOF='I' BEGIN

SET @TOTALBF=(SELECT SUM(B.PriceBefDi*B.Quantity) FROM OINV AS A INNER JOIN INV1 AS B ON A.DocEntry = B.DocEntry WHERE  @list_of_cols_val_tab_del = A.DocEntry) ;SET @TOTALF=(SELECT SUM(B.LineTotal) FROM OINV AS A INNER JOIN INV1 AS B ON A.DocEntry = B.DocEntry WHERE @list_of_cols_val_tab_del = A.DocEntry)

END

ELSE

BEGIN

SET @TOTALBF=(SELECT SUM(B.LineTotal) FROM OINV AS A INNER JOIN INV1 AS B ON A.DocEntry = B.DocEntry WHERE @list_of_cols_val_tab_del = A.DocEntry) ;SET @TOTALF=(SELECT SUM(B.LineTotal) FROM OINV AS A INNER JOIN INV1 AS B ON A.DocEntry = B.DocEntry WHERE  @list_of_cols_val_tab_del = A.DocEntry)

END

SET @DESC1 = (1-(@TOTALF/@TOTALBF))*100;

IF @DESC1 > 10 AND (SELECT COUNT(*) FROM OINV T0 WHERE @list_of_cols_val_tab_del = T0.DocEntry AND T0.U_HBTI_Autoriza1='NO')>0

BEGIN

SET @error= 20

SET @error_message = '** La Factura tiene un descuento mayor al 20%, debe autorizarse'

END

END

Saludos,