X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=sales%2Fincludes%2Fdb%2Fsales_invoice_db.inc;h=a80232ecd5c78b16ce33623b45f8bbf8aec5c8d1;hb=d63ba7b7819e07a73cd1999cec249fc6f0b009fb;hp=cbafbccc9ef021064ace89e79f183888db6e85c6;hpb=d907208297556310cc7c51fcb9086869c880ab2d;p=fa-stable.git diff --git a/sales/includes/db/sales_invoice_db.inc b/sales/includes/db/sales_invoice_db.inc index cbafbccc..a80232ec 100644 --- a/sales/includes/db/sales_invoice_db.inc +++ b/sales/includes/db/sales_invoice_db.inc @@ -84,7 +84,6 @@ function write_sales_invoice(&$invoice) } else { $prepaid_factor = 1; } - // write_customer_trans have to be called after optional void_cust_allocations above $invoice_no = write_customer_trans(ST_SALESINVOICE, $trans_no, $invoice->customer_id, $invoice->Branch, $date_, $invoice->reference, $items_total, 0, @@ -259,7 +258,7 @@ function void_sales_invoice($type, $type_no) { $srcdetails = get_sales_parent_lines($type, $type_no); while ($row = db_fetch($srcdetails)) { - update_parent_line($type, $row['id'], -$row['quantity']); + update_parent_line($type, $row['id'], -$row['qty_done']); } } } @@ -300,18 +299,14 @@ function get_cust_prepayment_invoice_factor($trans_no) */ function prepaid_invoice_remainder($order) { - $sql = "SELECT so.total - IFNULL(SUM(inv.prep_amount),0) FROM " - .TB_PREF."sales_orders so, - ".TB_PREF."debtor_trans inv, - ".TB_PREF."payment_terms pt + $sql = "SELECT so.total - SUM(IFNULL(inv.prep_amount,0)) FROM " + .TB_PREF."sales_orders so + LEFT JOIN ".TB_PREF."payment_terms pt ON so.payment_terms=pt.terms_indicator AND pt.days_before_due = -1 + LEFT JOIN ".TB_PREF."debtor_trans inv ON inv.type=".ST_SALESINVOICE ." AND inv.order_=so.order_no WHERE so.order_no=".db_escape($order) ." AND so.trans_type=".ST_SALESORDER - ." AND inv.type=".ST_SALESINVOICE - ." AND inv.order_=so.order_no" - ." AND so.payment_terms=pt.terms_indicator" - ." AND inv.payment_terms=pt.terms_indicator" - ." AND pt.days_before_due = -1"; - + ." AND so.payment_terms=pt.terms_indicator"; + $result = db_fetch(db_query($sql, "cannot find final invoice value")); return $result[0] ? $result[0] : 0; }