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
Igual y puedes poner un TN al momento de dar de alta el articulo, que no se pueda crear si su precio es cero
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.
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
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
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
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