Fixed regression in db_pager.
[fa-stable.git] / admin / db / voiding_db.inc
index 832b450ae2f43122ac64781954a6d9b53b402c01..5711a0e41eb3ffb3a1f8f95c08e018cf20135c16 100644 (file)
@@ -69,8 +69,11 @@ function void_transaction($type, $type_no, $date_, $memo_)
                        break;
 
                case ST_PURCHORDER : // it's a PO
-               case ST_SUPPRECEIVE : // it's a GRN
                        return false;
+
+               case ST_SUPPRECEIVE : // it's a GRN
+                       if (exists_grn_on_invoices($type_no))
+                               return false;
                case ST_SUPPINVOICE : // it's a suppler invoice
                case ST_SUPPCREDIT : // it's a supplier credit note
                case ST_SUPPAYMENT : // it's a supplier payment
@@ -109,8 +112,8 @@ function void_transaction($type, $type_no, $date_, $memo_)
 
        // only add an entry if it's actually been voided
        add_audit_trail($type, $type_no, $date_, _("Voided.")."\n".$memo_);
-       add_voided_entry($type, $type_no, $date_, $memo_);
        $Refs->restore_last($type, $type_no);
+       add_voided_entry($type, $type_no, $date_, $memo_);
        return true;
 }