cancel
Showing results for 
Search instead for 
Did you mean: 

Restricción por socio de negocio

Former Member
0 Kudos

Saludos cordiales

quisiera saber si hay manera de que, al momento de estar creando un documento (una orden de venta por ejemplo),

solamente para ciertos clientes se vuelva obligatorio un campo y no deje crear el documento si no se llena ese campo,

sin embargo, si es otro cliente, que si se pueda crear el documento sin ingresar ese dato

de antemano gracias

Accepted Solutions (1)

Accepted Solutions (1)

former_member210784
Active Contributor
0 Kudos

Hola.

Una manera de hacer esto es por medio de un campo de usuario con valor obligatorio en el documento y una Búsqueda Formateada (BF) que se encargará de validar el Socio de Negocio (SN) y colocar un valor valido o inválido en el campo de usuario.

1. Establecer una manera de filtrar los SN a quienes aplica la validación del campo..

2. Crear un campo de usuario en el encabezado del documento.

3. Crear una BF que utilice el filtro para validar por SN si se exige llenar el campo. Si aplica para el SN, devuelve un valor inváido (por ejemplo NULL o "") para el campo de usuario. S no aplica devuelve el valor por defecto del campo de usuario.

4. Enlazar la BF al campo de usuario en el documento y que se actualice automáticamente cuando cambia el Cód de SN.

Otra manera sería utilizando el objeto TransactionNotification (TN), pero esta alternativa requiere de saber bien que se está haciendo para evitar problemas de funcionamiento de SB1.

Saludos.

Answers (3)

Answers (3)

Former Member
0 Kudos

En verdad fueron muy útiles tus comentarios

Muchas gracias, con esto ya tengo para seguirle

former_member210784
Active Contributor
0 Kudos

Hola.

Me alegra haber sido de ayuda.

Saludos.

Former Member
0 Kudos

Gracias por la ayuda

Abusando de tu amabilidad, quisiera saber como puedo poner un valor NULL para que al validar ese campo, no se pueda continuar con la creación del documento, mi código es:

if left ($"ordr.cardcode" , 4) = 0503 (Con corchetes en lugar de comillas)

BEGIN

SELECT NULL

END

ELSE

SELECT 3

El campo que tiene esta BF es de tipo numérico. Dejando en claro que soy nuevo en esto de la programación en SQL es muy probable que la forma en la que lo hago este mal

Edited by: thedanvavi on May 20, 2010 7:38 PM

former_member210784
Active Contributor
0 Kudos

Hola.

Intenta con la siguiente BF:


SELECT (CASE
WHEN  LEFT($[ORDR.CardCode], 4) LIKE '0503' THEN '' 
ELSE 3 /*Valor por defecto o algún otro valor válido*/
END) 

Nos cuenta cómo le va.

Saludos.

Former Member
0 Kudos

Ya ulizé tu código, y si funciona bien excepto que cuando se trata del valor '' lo que pone es 0 puesto que es el valor por default del campo numérico (al hacerlo obligatorio me pidió un valor por defecto).

La siguiente pureba que hice fue darle un valor de letra o numerico pero que exceda el tamaño del campo numerico, y ahí si me marca error, sin embargo puedo continuar y crear el documento. Cuando hago clic en la lupa del campo me pone el valor invalido (letra o numero de gran tamaño) y no me puedo salir de ese campo a menos que lo cambie. Habrá alguna manera de que suceda eso pero sin la necesidad de hacer clic en la lupa, con solamente el cambio de código.

Espero que sea suficiente información

Realmente agradezco tu apoyo

former_member210784
Active Contributor
0 Kudos

Hola.

Intenta utilizar un campo de usuario no numérico sino caracter. El valor por defecto puede ser '0'.

Se establece la frecuencia de actualización a automática, cuando cambie el campo Código del SN.

De esta manera la BF que te pasé antes, funcionará OK.

Nos cuenta cómo le va.

Saludos.

Former Member
0 Kudos

Muchas gracias,

voy a aplicar lo que me dijiste