Avalados por :

Cómo validar el campo referencia de la OINV para evitar duplicados de valores

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 1 Vistas
0
Cargando...

Hola a todos,

Ayuda en la validación del campo referencia de la OINV para evitar duplicados o repeticiones de valores.

Lo intenté de esta manera:

Pero no está validando correctamente...

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

BEGIN

DECLARE @numref AS varchar(100)

DECLARE @ref AS int

SET @ref = 0

SET @numref = (SELECT x.NumAtCard FROM OINV x WHERE x.DocEntry=@list_of_cols_val_tab_del )

SET @ref = (SELECT COUNT(xx.NumAtCard) FROM OINV xx WHERE UPPER(xx.NumAtCard) = UPPER(@numref))

SET @ref = @ref - 1

IF @ref >= 0 OR @numref IS NULL

BEGIN

SET @error = '9998'

SET @error_message = 'El Número de Nota de Remisión [ '+@numref+' ] ya existe o está en blanco, favor verificar '+CAST(@ref AS varchar(10))

END

De antemano agradezco su valiosa ayuda.

Atte: Edwin

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

4 Respuestas

0
Cargando...

Hubiera sido más fácil, en mi opinión, habilitar la opción de bloquear la referencia del cliente en Gestión - Inicialización del sistema - Parametrizaciones de documento, pestaña Por Documento. Allí seleccionas Factura y luego eliges "Bloquear liberación/recibo" en la sección de "Si se produce un duplicado del número de referencia del cliente".

Saludos,

Juan Carlos.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Saludos Alessandro,

Ya revisé el código, lo probé y funcionó. Gracias.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Perfecto, lo revisaré...

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Ve si te sirve de esta manera,

if @object_type = '13' and (@transaction_type in ('A' ,'U'))begindeclare @Numref as varchar (100)if (@object_type = '13')beginselect @Numref = NumAtCard from OINV T0 where docentry = @list_of_cols_Val_tab_delbeginif (@Numref is not null) or (@Numref is null)beginif 1!= (select count (docentry) from OINV  where (NumatCard = @Numref) )beginselect @error =9998select @error_message = 'El Número de Nota de Remisión ['+@Numref+'] ya existe o esta en blanco, favor verificar'EndEndEndEndEnd

Saludos.

Alessandro.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?