TN control de campo en oferta de ventas

Hola buenos días.

Tengo un código en el TN para las ofertas de ventas que dispara un email cada vez que se crea o actualiza una orden de ventas.

El caso es que quiero que solo se ejecute para un valor determinado de un campo de usuario en la cabecera de la oferta y cuando cambia otro campo a otro valor (Aceptada)

Tengo un campo de usuario que recoge el tipo de la oferta (tipo1, tipo2, tipo3, tipo4) y lo que pretendo es que solo evalue para cuando el campo de usario tipo es el tipo3 exclusivamente.

En otro campo tengo el estado y quiero que solo se ejecute cuando este recoge el valor “Aceptada”.

if @object_type='23' and @transaction_type in ('A','U') 

begin
DECLARE @header NVARCHAR(MAX) ;
DECLARE @tableHTML NVARCHAR(MAX) ;
DECLARE @ccmail NVARCHAR(MAX)
--your mail id

Resumiendo:
En ofertas de ventas me genera un email cada vez que se añade una oferta de tipo1 y estado aceptada.
En ofertas de ventas me genera un email cada vez que se cambia el estado a aceptada una oferta del tipo1

Gracias por sus aportaciones.

No entiendo muy bien cual es la duda o el inconveniente que estás presentando…

Por lo que veo es solamente que hagas la validación de los campos con el Select correspondiente…

:thinking:

Actualmente lo haces y te sale algún error o algo?

Tengo un código en el transaction notification que me envia un email cada vez que se añade o actualiza una oferta, sea la que sea.

Quiero añadirle la condición que sea solo cuando es un tipo determinado (campo de usuario en OQUT) y cuando tiene un estado determinado (Otro campo de usuario en OQUT).

Lo que no sé es estructurar en el código del transaction para que me evalúe solo estas condiciones.

He pegado el trozo del código que tengo en el transaction ya que supongo que estas condiciones tengo que añadirlas de alguna forma en el inicio del código que ya tengo, pero no sé como hacerlo.

El problema es que actualmente cada vez que se graba una llega el email y cada vez que se actualiza algo llega el email.

Mmmm… Te voy a colocar la sintaxis general de lo que necesitas o de como lo haría yo:

IF @object_type = 'El objeto que estas evaluando' and @transaction_type IN ('A','U')
BEGIN
	IF exists(SELECT 'TRUE' FROM 'Tu tabla: OQUT' WHERE DocEntry = @list_of_cols_val_tab_del And Campo1 = 'Aceptada' and Campo2 = 'Tipo3') 
BEGIN
'Aquí tu código de envío de email y lo que necesitas validar'	

END
END
1 me gusta

Explico el escenario:

1.- Configuro el sqlmail para envio de correos.
2.- Inserto un código en el transaction notification de la bbdd para que cada vez que se crea o actualiza un registro (con unas condiciones determinadas) le llegue un email a una persona o varias comunicando la inserción del registro.

Así ve el correo en el Outlook

Y dandole un poco de aspecto en el cuerpo del mismo.
imagen
Muchas gracias @Ares17000 con tu aportación tengo el requerimiento 100% operativo.

Pd: El código del Transaction Notification y yo, no nos llevamos muy bien.

2 Me gusta