on 01-03-2014 6:22 PM
Buen día,
En nuestra empresa requerimos restringir los pagos a proveedores cuando el monto a pagar es mayor al saldo en la cuenta elegida, esto lo estamos haciendo dentro del Transaction Notification, el detalle es que no se como obtener el valor del campo "Total", este se encuentra en
Gestión de Bancos
Pagos Efectuados
Pagos Efectuados (Elegir el proveedor al que se le realizará el pago, seleccionar lo que se va a pagar, ir a Medios de Pago, Elegir el Banco y regresar a Medios de pago, presionar contro-B y ésta acción coloca el monto a pagar en el campo "Total", este dato es el que requiero cachar u obtener)
Este es el código
IF @object_type = '46' and @transaction_type In ('A', 'U')
BEGIN
IF Not Exists
(SELECT CurrTotal FROM OACT T0
INNER JOIN OVPM T1 ON T0.AcctCode = T1.CashAcct
WHERE T0.CurrTotal > 0 AND T1.DocTotal = "ESTE ES EL VALOR QUE NECESITO OBTENER DE LA PANTALLA"
)
BEGIN
SET @error = 1
SET @error_message = 'El Saldo en Bancos es insuficiente '
END
END
¿Alguien es tan amable de orientarme?
Gracias!
Buenas tardes.
Estas haciendo mal el TN.
Debes usar la variable @list_of_cols_val_tab_del para recuperar el registro de la base de datos que está siendo modificado.
Deberías probar esto.
IF @object_type = '46' and @transaction_type In ('A', 'U')
BEGIN
IF Not Exists
(SELECT CurrTotal FROM OACT T0
INNER JOIN OVPM T1 ON T0.AcctCode = T1.CashAcct
WHERE T0.CurrTotal > 0 AND T1.DocEntry=@list_of_cols_val_tab_del AND T1.DocTotal......etc
)
BEGIN
SET @error = 1
SET @error_message = 'El Saldo en Bancos es insuficiente '
END
END
Saludos
FLR
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Gracias Felipe,
Lo modifiqué porque no todos los documentos traen algo en el CashAcct , así que consideré también a los otros campos que tienen que ver con la cuenta, pero no me bloquea el pago cuando el saldo en banco es igual o menor que 0 o si el valor a pagar es mayor al saldo en Banco, el código quedó así:
-- Rechazar pago a proveedor si la cuenta de Banco elegida no tiene fondos suficientes
IF @object_type = '46' and @transaction_type In ('A', 'U')
BEGIN
IF Not Exists
(SELECT T0.CurrTotal FROM OACT T0
INNER JOIN OVPM T1 ON
(T0.AcctCode = T1.CashAcct OR
T0.AcctCode = T1.CheckAcct OR
T0.AcctCode = T1.TrsfrAcct OR
T0.AcctCode = T1.WtAccount
)
WHERE (T0.CurrTotal > 0 AND T1.DocTotal<T0.CurrTotal)
AND T1.DocEntry=@list_of_cols_val_tab_del
)
BEGIN
SET @error = 1
SET @error_message = 'El Saldo en Bancos es insuficiente '
END
END
-- Termina Rechazar pago a proveedor
User | Count |
---|---|
99 | |
11 | |
11 | |
6 | |
6 | |
4 | |
4 | |
3 | |
3 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.