cancel
Showing results for 
Search instead for 
Did you mean: 

Campo obligatorio.

dunky
Active Participant
0 Kudos

Hola,

Me gustaría que los campos estándar NIF/CIF y destinatario de mercancías del pedido de ventas fuesen obligatorios.

Podríais ayudarme.

Muchas gracias.

Accepted Solutions (1)

Accepted Solutions (1)

agustin_marcoscividanes
Active Contributor
0 Kudos

Hola

Te adjunto un ejemplo:

IF @object_type = '17' and (@transaction_type in ('A' ,'U'))

      BEGIN

     declare @RefNo as varchar (100)

     SELECT @RefNo = Lictradnum from ORDR T0 where docentry = @list_of_cols_Val_tab_del

     if (LEN(@RefNo) = 0

    BEGIN

       set @error = 100

       set @error_message = 'Pedido sin CIF'

    END

END    

Un saludo

Agustín Marcos Cividanes

dunky
Active Participant
0 Kudos

Muchas gracias Agustín,

Además creo que se refiere a uno de los campos que tengo identificados como críticos (CIF/NIF en pedido de clientes).

Te agradecería mucho que me pudieses explicar cómo introduzco este trozo de código.

Un saludo.

agustin_marcoscividanes
Active Contributor
0 Kudos

Hola

este código se inserta en el procedimiento almacenado Transaction Notification.

Debes hacer lo siguiente:

1. abres el SQL Management Studio.

2. seleccionas la base de datos.

3. en la carpeta Programación / Programmability buscas el procedimiento almacenado.

4. con el botón derecho del ratón --> modificar.

5. verás una sección: Add your code here. Copia y pega el código debajo.

6. ejecuta el procedimiento almacenado

7. prueba la validación desde SBO.

Un saludo

Agustín Marcos Cividanes

dunky
Active Participant
0 Kudos

Hola Agustín,

¿Existe algún documento donde pueda ver qué procedimientos he de usar? Es decir, si necesito que sean obligatorios los campos CIF y dirección de entrega del maestro de clientes, ¿cómo puedo saber qué procedimientos son?

Ten en cuenta que no me manejo con SQL.

Muchas gracias.

agustin_marcoscividanes
Active Contributor
0 Kudos

Hola

la forma más efectiva es modificar el procedimiento almacenado. No hay ningún parámetro en la configuración de SBO que permita hacer obligatorios los dos campos que tú quieres configurar.

Por el momento, es la única forma de hacerlo.

Un saludo

Agustín Marcos Cividanes

dunky
Active Participant
0 Kudos

Hola Agustín,

El problema es que, cuando entro en SQL, no se identificar el procedimiento en el que tengo que insertar el código que me has pasado. Supongo que el maestro de materiales tendrá uno y el pedido de ventas tendrá otro ¿No?

Muchas gracias,

Óscar Cases.

agustin_marcoscividanes
Active Contributor
0 Kudos

Hola

una vez abierto el SQL Management Studio selecciona tu base de datos:

Despliega Stored Procedures / Procedimientos almacenados.

Modifica este procedimiento almacenado, pega el código que te escribí y ejecútalo (se guardarán los cambios).

Abre SBO, e intenta grabar un pedido sin CIF. Deberá salir un mensaje de error en la barra de estado de SBO.

Un saludo

Agustín Marcos Cividanes

dunky
Active Participant
0 Kudos

Gracias Agustín,

Al verificar me da error. Adjunto imagen.

agustin_marcoscividanes
Active Contributor
0 Kudos

Hola

falta cerrar el paréntesis anterior (fallo del copy paste).

if (LEN(@RefNo) = 0)

Escríbelo, ejecútalo y prueba.

Un saludo

Agustín Marcos Cividanes

dunky
Active Participant
0 Kudos

Hola Agustín,

Algo no hago bien porque sigue dejándome entrar pedidos de ventas sin CIF.

Un saludo,

Óscar Cases.

agustin_marcoscividanes
Active Contributor
0 Kudos

Hola

Modificado.

IF @object_type = '17' and (@transaction_type in ('A' ,'U'))     

BEGIN

if (SELECT (T0.Lictradnum) from ORDR T0 where T0.docentry = @list_of_cols_Val_tab_del) is null      BEGIN  

          set @error = 100  

          set @error_message = 'Pedido sin CIF'

END  

END

Un saludo

Agustín Marcos Cividanes

dunky
Active Participant
0 Kudos

Muchísimas gracias Agustín.

Última pregunta.

He creado una copia del código debajo y le he cambiado el valor del campo (dirección de factura) y el mensaje y también me ha creado la validación.

Pero he intentado, simplemente cambiar la tabla del primer fragmento por la tabla OCRD para que la validación del CIF me la haga en el maestro del cliente y no e funciona. ¿Hay que hacer algo más?

Muchas gracias.

agustin_marcoscividanes
Active Contributor
0 Kudos

Hola

tienes que cambiar el objtype = '17' por objtype = '2' y el texto del mensaje de error.

Te recomiendo que cada duda que tengas abras un hilo de discusión nuevo.

Un saludo

Agustín Marcos Cividanes

dunky
Active Participant
0 Kudos

Muchísimas gracias Agustín.

Answers (0)