Bloquear entrega cuando el art este cantidad cero

Buenas tardes ,

Tengo una consultas me gustaría hacer un bloqueo al momento de hacer una entrega y en el campo cantidad la persona elimina la cantidad y cuando intente hacer la entrega le salte un mensaje que diga . La cantidad No deberia estar en cero ’ ,

Realice la consulta

 IF @object_type = '15' and (@transaction_type = 'A')
BEGIN if exists (SELECT ItemCode FROM DLN1 WHERE DocEntry = @list_of_cols_val_tab_del AND Quantity <=0)
	
	begin 
		set @error_message ='ERROR: La cantidad No deberia estar en cero ' 
		set @error = 1
	end
END

sin embargo me esta tomando las entregas por servicios y en este caso si deberia psar la entrega

Que deberia hacer para que este bloqueo o tome la entrega (Ventas)

En espera de su pronta respuestas

alguna persona que me pueda ayuda ren este caso

Buenos días, y que tiene de diferente las entregas de ventas con respecto a las entregas de servicio? Se me ocurre que utilices diferentes series de numeración y excluyas las que son de servicio.
Saludos.

@gameover, me imagino que la consulta esta tomando la condición o y ese mismo campo tambien esta en as entregas de servicios

No se como excluirlo en el query

Hola @Jorge_Hernand

hay campo de tipo de documento, que indica si es de servicio o de artículo. Añade esta condición DOCTYPE = ‘I’ a la consulta y ya lo tienes.

Un saludo

Si te entiendo , ese dato es el tipo de documento s o i . pero la consulta va al grid (Detalles ) y no se como separar la consulta de las de servicios

Este codigo solamente te valida cuando son entregas DocType = ‘I’ (Items) articulos de venta.

IF @object_type = '15' and (@transaction_type = 'A')
     BEGIN 
          if exists (SELECT 'X' FROM DLN1 T0
                                INNER JOIN ODLN T1 ON T0.DocEntry = T1.DocEntry 
					  WHERE T1.DocEntry = @list_of_cols_val_tab_del 
	                  AND Quantity <=0
	                  AND T1.DocType = 'I' )
	 begin 
		    set @error_message ='ERROR: La cantidad No deberia estar en cero ' 
		    set @error = 1
            GOTO fin
	 end
END
2 Me gusta

asi no funciona la consulta

BEGIN if exists (SELECT ItemCode FROM DLN1 WHERE DocEntry = @list_of_cols_val_tab_del AND Quantity <=0 and DOCTYPE = ‘I’ )

begin 
	set @error_message ='ERROR: La cantidad No deberia estar en cero ' 
	set @error = 1
end

END

Hola @Jorge_Hernand

el campo que te comento es de la tabla de cabecera, en este caso de ODLN. Si quieres hacerlo directamente contra DLN1, puedes comprobar que el campo ITEMCODE tiene valor, en los documentos de servicio está vacío.
@jhernandez te plantea una consulta que funciona y como tú quieres.

Un saludo

Es correcto la consulta de @jhernandez debe funcionar sin problemas, yo había entendido que quería bloquear las entregas provenientes de “Llamadas de Servicio” que tuvieran documentos relacionados, creo que andaba por otros rumbos. :rofl:

Este tema se cerró automáticamente 7 días después de la última publicación. No se permiten nuevas respuestas.