TN facturas con precio vacio

Buenos días amigos

Estoy empezando a crear un tn debido a que se presento un caso en comercial creo una factura con dos artículos uno de ellos tenia el precio por unidad vació y el sistema la creo y se entrego tengo este TN para bloquear esos casos pero no me funciona
Sugerencias?

if ( seleccione count (*) from inv1 with ( nolock ) donde docentry = @ List_of_cols_val_tab_del y Price = 0 ) > 0 begin set @ error = 1 set @ error_message = ‘Error: precio unitario igual a 0’ end

Gracias

Hola @Edward_Fandin estas validando que sea el object_type para facturas?, Yo probé esta validación en mi base y ejecuta sin problemas.

IF @object_type = '13' and (@transaction_type = 'A')
BEGIN
	set @valmon = (SELECT COUNT(*) FROM QUT1 T0 WHERE T0.DocEntry = @list_of_cols_val_tab_del AND T0.Price = 0 )
	if @valmon > 0
	begin 
		set @error_message ='ERROR: El precio de un artículo no puede ser CERO' 
		set @error = 1
	end
END
2 Me gusta

Igual y puedes poner un TN al momento de dar de alta el articulo, que no se pueda crear si su precio es cero

1 me gusta

te recomiendo no metes TN en facturas a menos que estes en 9.3 PL08 ya que estos transaccion pueden ocacionar duplicidad de uuid en el portal del SAT, no es por asi decirlo duplicidad, si no que te generara el timbrado de esa factura ante hacienda.

Nota: solo aplica si trabajas en Mexico y el timbrado nativo con SAP.

saludos.

1 me gusta

Gracias por tu respuestas, el object_type es 13 y el tuyo me sale error Debe declarar la variable escalar “@valmon”.

Gracias

Gracias por tu respuesta, estamos en 9.2 pl6 desde Colombia.

Claro porque es mi base y es una variable que yo elegí, en mi caso lo tengo declarado como

DECLARE @valmon int 

luego de esto va la validación TN

1 me gusta

Gracias por tu pronta respuesta, y disculpa estoy empezando en esto.no funciona sigue dejando grabar en 0 y con precio de unidad vació.

Quedo atento.

Intenta con este:

IF @object_type = '13' and (@transaction_type = 'A')
BEGIN if exists (SELECT ItemCode FROM INV1 WHERE DocEntry = @list_of_cols_val_tab_del AND Price = 0 )
	
	begin 
		set @error_message ='ERROR: El precio de un artículo no puede ser CERO' 
		set @error = 1
	end
END

Funciona

2 Me gusta

Igual sigue dejando grabar en blanco.

Gracias

A esa linea yo le agregaria:

IF @object_type = '13' and (@transaction_type = 'A' or @transaction_type ='U')

Saludos

:thinking: que raro a mi me funciona, revisa esa factura que creaste y checa el campo price, creo que tiene null y no cero, si es así cambia el 0 por null

1 me gusta

Este tema se cerró automáticamente 7 días después del último post. No se permiten nuevas respuestas.