Yo creo que lo ideal sería incluir un disparador despues de actualizar el estado de la factura. Y utilizar el procedimiento indicado por
Casimiro Notevi
Código SQL
[-]CREATE OR ALTER trigger Facturas_AU0 for doctype
active after update position 0
AS
begin
if ((old.Estado<>new.Estado) and (new.Estado='*')) then
--Reversar factura
execute procedure EliminaFactura(old.Numero);
endif
end
Espero ayude...Saludos cordiales