Buen dia expertos , estoy realizando una validacion para que el campo CurrTotal no debe ponerse jamas en negativo con algunas cuentas con algunas especificaciones que me pasaron en el departamento de contabilidad.
Cuentas que empiezan con 1 solo pueden ser positivas (Debito)
Cuentas que empiezan con 2 solo pueden ser negativas (Haber)
Cuentas que empiezan con 3 solo pueden ser negativas (haber)
Cuentas que empiezan con 4 solo pueden ser negativas (haber)
Cuentas que empiezan con 5 solo pueden ser positivas (Debito)
Cuentas que empiezan con 6 solo pueden ser positivas (debito)
Cuentas que empiezan con 7 solo pueden ser negativas (haber)
Cuentas que empiezan con 8 solo pueden ser positivas (debito)
En la cuentas que empieza con 1 se exceptúan las siguientes
Reserva de Cuentas incobrables cuenta negativa
Depreciaciones acumuladas cuenta negativa
Amortizaciones acumuladas cuenta negativa
Lo quiero implementar usando los asientos contables, pero no me funciona, si alguien me pudiera ayudar a resolver este requerimiento estaria agradecido.
de antemano muchas gracias.
IF @object_type in ('30') and @transaction_type in ('A')
begin
IF EXISTS (Select T2.currtotal
From OJDT T0 INNER JOIN JDT1 T1 ON T0.TransId = T1.TransId
inner join OACT T2 on T1.Account=T2.AcctCode
WHERE T2.currtotal < 0 AND T1.TransId=@list_of_cols_val_tab_del
AND Segment_0 NOT LIKE '2%'
AND Segment_0 NOT LIKE '3%'
AND Segment_0 NOT LIKE '4%'
AND Segment_0 NOT LIKE '7%'
AND (AcctName LIKE 'depre%' AND Segment_0 LIKE '1%')
AND Segment_0 NOT IN('11211900','11212900')
)
BEGIN
Set @error = 1
Set @error_message = 'Imposible que la cuenta que quiere afectar pueda adoptar un estado NEGATIVO!'
End
end