cancel
Showing results for 
Search instead for 
Did you mean: 

BLOQUEO CLIENTE ESPECIFICO

Former Member
0 Kudos

Buenas tardes, necesito su ayuda para crear un Procedimiento de Autorización para un Socio de Negocios específico que haya llegado a su límite de crédito y al vencimiento de sus facturas.

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Buenos días, pero esa autorización la necesitas en que momento? Al crear la factura de venta?

Former Member
0 Kudos

Hola María, de hecho sí, necesito que cuando traten de generar la factura al cliente, ahí se aplique el candado si es que ya llegó a su límite de crédito. El tema es que sí necesito que sea sobre algún cliente o clientes específicos.

gerardo_mendez
Active Contributor
0 Kudos

Hola Juan Pablo.

Porque no compartes tu código y así entre la comunidad te apoyamos a adecuarlo para que cumpla tus objetivos.

A grandes rasgos lo que debe hacer tu sentencia es sumar el saldo de socio de negocio y el total del documento a crear y esta suma compararla contra el límite de crédito del socio de negocio, todo esto condicionado por el código de cliente con un OINV.CardCode IN("Codigo1","Código2")

Saludos.


Former Member
0 Kudos

Pero lo que necesitas es que se inicie un proceso de autorización cuando llega al límite?

Limite de crédito: valida el valor establecido en este campo vs el saldo de cuenta(cartera pendiente) del SN.

La verdad no se hacer esta consulta, seguramente Gonzalo te pueda ayudar, pero la autorización debería activarse cuando el saldo del cliente + el total de la factura que estás ingresando supere el limite de crédito.

Para traer el saldo de un proveedor en una factura de ventas el query sería:


SELECT T0.Balance FROM OCRD T0 WHERE T0.CardCode=$[OINV.CardCode]


gerardo_mendez
Active Contributor
0 Kudos

Bueno, lo dicho en mi anterior comentario se traduce en esto:

IF @transaction_type in('A') AND @object_type in('13')

       Begin

             If (Select Count(T0.CardCode) FROM OINV T0 Inner Join OCRD T1 On T0.CardCode = T1.CardCode Where T0.DocEntry = @list_of_cols_val_tab_del AND T0.CardCode In('C100') AND ((T0.DocTotal+T1.Balance) > T1.CreditLIne)) > 0

                    Begin

                           set @error = 9

                           set @error_message = 'ATENCION Limite de crédito sobrepasado'

                    End

       End   


Mientras el código del cliente sea C100, el bloqueo se activará, si deseas introducir más códigos solo es cuestión de separarlos por una coma IN('c10', 'c11')

gerardo_mendez
Active Contributor
0 Kudos

No olvides agradecer el apoyo de los compañeros marcando sus comentarios como respuestas de ayuda y cerrar tu discusión marcando como correcta la respuesta que dio solución a tu problemática (en que caso de que exista).

Saludos.

Former Member
0 Kudos

Muchas gracias Gerardo, voy a checar esta fórmula que me estas dando para ver si hace lo que necesito.

Former Member
0 Kudos

Gracias María, la sintaxis de la fórmula que tengo es muy parecida a la que acabas de compartir, pero hay algo que me está faltando para que quede como necesito.

gerardo_mendez
Active Contributor
0 Kudos

Me mantengo pendiente Juan Pablo.

Si eres nuevo en la comunidad te sugiero pasar por los siguientes documentos:

¿Porque se debe de cerrar una discusion?

Comentario personal sobre nuestro foro de SAP Business One


Suerte.

Former Member
0 Kudos

Muchas gracias Gerardo... si funcionó!

gonzalogomez
Active Contributor
0 Kudos

Has iniciado solicitando un proceso de autorización y has acabado haciendo un bloqueo mediante el transaction notification.

¿Donde quedo el procedimiento de autorización?

Answers (1)

Answers (1)

gonzalogomez
Active Contributor
0 Kudos

Defines un procedimiento de autorización y en la ultima pestaña le dices que mediante una consulta SQL y la consulta que sea la selección de ese código de interlocutor comercial.

Former Member
0 Kudos

Hola Gonzalo, el tema es ese, he estado tratando de crear la consulta pero no doy con el código correcto para que aplique sobre un cliente determinado.