cancel
Showing results for 
Search instead for 
Did you mean: 

VALIDAR CODIGO ENTRADA DE MERCANCIAS

0 Kudos

Hola expertos yo de nuevo con una molestia, necesito poner algunos campos obligatorios en la entrada de mercancias, cosa que no me genera mayor problema pero necesito que solo aplique a alguno codigo en especifico es decir no mas de cuatro por lo que me gustaria saber como puedo hacer la validacion para que si la entrada tiene alguno de esos codigos, me solicite los campos obligatorios y en caso contrario no lo haga.

saludos y gracias por su pronta respuesta.

Accepted Solutions (1)

Accepted Solutions (1)

0 Kudos

gracias a todos por su ideas y aportaciones creo que me quede con una mezcla que me funciono lo dejo por si alguien lo ocupase.

IF @transaction_type = 'A' AND @object_type='20'

BEGIN

IF (SELECT ItemCode FROM PDN1 WHERE DocEntry = @list_of_cols_val_tab_del) = 'DIESEL'

BEGIN

IF (SELECT U_PESO_ENTRADA FROM PDN1 WHERE DocEntry = @list_of_cols_val_tab_del) IS NULL

BEGIN

                              SET @error = 1

                              SET @error_message = 'DEBE INGRESAR EL PESO BRUTO DE BASCULA'

                    END

                    END

                    END

Answers (2)

Answers (2)

marco_ramirez
Active Contributor
0 Kudos

Podrías ser que lo hagas por medio de una autorización

Intenta adaptar este código, yo lo uso para facturas, solo debes cambiar el documento al que lo vas a aplicar.

if @object_type = '13' and @transaction_type = 'A' -- Documento Factura (13)

begin

if exists (Select T0.ItemCode from INV1 T0  INNER JOIN OINV T1 ON T0.DocEntry = T1.DocEntry

where T0.ItemCode in ('000', 'AAAAA' ) -- incluye los códigos de artículos que se desea validar

and T1.U_AutCode = 'N'  --Campo de usuario a nivel de encabezado con los valores S y N para que genere la autorización se debe cambiar a S en el formulario

and T0.DocEntry = @list_of_cols_val_tab_del)

begin

Set @error = 11

Set @error_message = 'El mensaje de error que deseas que aparezca'

end

end

Espera sea de ayuda, cualquier duda comentas

Saludos

0 Kudos

Hola gracias por responder mira tengo este codigo desgraciadamente soy muy nuevo como para poder aterrizarlo.

IF @object_type = '20' and @transaction_type = 'A'

      BEGIN

           IF EXISTS (SELECT T0.ItemCode FROM PDN1 T0  INNER JOIN OPDN T1 ON T0.DocEntry = T1.DocEntry

WHERE T0.ItemCode in ('DIESEL', 'ACEUSA', 'ADITIVO', 'PESADO', 'LIGERO' ) -- incluye los códigos de artículos que se desea validar

              BEGIN

                  IF (SELECT U_PESO_ENTRADA FROM PDN1 WHERE DocEntry = @list_of_cols_val_tab_del) IS NULL

                     BEGIN

                              SET @error = 1

                              SET @error_message = 'DEBE INGRESAR EL PESO BRUTO DE BASCULA'

                     END

                 END

                  IF (SELECT U_PESO_SALIDA FROM PDN1 WHERE DocEntry = @list_of_cols_val_tab_del) IS NULL

                     BEGIN

                              SET @error = 1

                              SET @error_message = 'DEBE INGRESAR EL PESO TARA DE BASCULA'

                         END

                 END

                 IF (SELECT U_DENSIDAD FROM PDN1 WHERE DocEntry = @list_of_cols_val_tab_del) IS NULL

                     BEGIN

                              SET @error = 1

                              SET @error_message = 'DEBE INGRESAR LA DENSIDAD DEL PRODUCTO RECIBIDO'

                         END

                 END

                 IF (SELECT U_CANT_ORIGINAL FROM PDN1 WHERE DocEntry = @list_of_cols_val_tab_del) IS NULL

                     BEGIN

                              SET @error = 1

                              SET @error_message = 'POR FAVOR INGRESAR LOS LITROS RECIBIDOS'

                         END

                   END

             END

          END

     END

END

former_member203638
Active Contributor
0 Kudos

Esos campos obligatorios donde estan ubicados?

0 Kudos

Hola gracias por responder, estan en el formulario son campos de usuario pero los validos al crear la entrada de mercancia haciendo consulta en PDN1 mi proble esta en como anidar la validacion del campo dentro de una condicion de primero revisar e artidulo que se esta tratando de dar de alta.

rolandogerardo
Explorer
0 Kudos

Hola Oliver, no soy experto pero con el afán de ayudar se me ocurre que pudieras usar una sentencia (CASE-WHEN-THEN-END) similar a la que se usa en los queries.

ojalá te sirva.

0 Kudos

gracias por responder tendras un ejemplo como para irme guiando soy nuevo en esto del sql

rolandogerardo
Explorer
0 Kudos

Oliver el siguiente sería un ejemplo muy sencillo:

SELECT  DocNum AS [Numero de documento],CONVERT(NVARCHAR(MAX),CreateDate,106) AS [Fecha de creación],

(CASE U_DirAut WHEN 0 THEN 'No revisado' WHEN 1 THEN 'Rechazado' WHEN 2 THEN 'Autorizado' END) AS [Aut Dirección]

FROM OPOR

WHERE Canceled = 'N'

espero te de una idea, si bien el código que te envía Marco se ve más robusto.

Saludos Cordiales.