X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=sales%2Fincludes%2Fdb%2Fsales_invoice_db.inc;h=cbafbccc9ef021064ace89e79f183888db6e85c6;hb=d907208297556310cc7c51fcb9086869c880ab2d;hp=b858652e98cefd07c3582ca84c015c40215ab986;hpb=16a2a1e4ca390d9ffe169d0e34e8a1670bcde531;p=fa-stable.git diff --git a/sales/includes/db/sales_invoice_db.inc b/sales/includes/db/sales_invoice_db.inc index b858652e..cbafbccc 100644 --- a/sales/includes/db/sales_invoice_db.inc +++ b/sales/includes/db/sales_invoice_db.inc @@ -158,14 +158,14 @@ function write_sales_invoice(&$invoice) } /*end of delivery_line loop */ if (($items_total + $charge_shipping) != 0) { - $total += add_gl_trans_customer(ST_SALESINVOICE, $invoice_no, $date_, $branch_data["receivables_account"], 0, 0, + $total += add_gl_trans_customer(ST_SALESINVOICE, $invoice_no, $date_, $branch_data["receivables_account"], $invoice->dimension_id, $invoice->dimension2_id, ($items_total + $charge_shipping + $items_added_tax + $freight_added_tax)*$prepaid_factor, $invoice->customer_id, "The total debtor GL posting could not be inserted"); } $to_allocate = ($items_total + $charge_shipping + $items_added_tax + $freight_added_tax); if ($charge_shipping != 0) { - $total += add_gl_trans_customer(ST_SALESINVOICE, $invoice_no, $date_, $company_data["freight_act"], 0, 0, + $total += add_gl_trans_customer(ST_SALESINVOICE, $invoice_no, $date_, $company_data["freight_act"], $invoice->dimension_id, $invoice->dimension2_id, -$invoice->get_tax_free_shipping()*$prepaid_factor, $invoice->customer_id, "The freight GL posting could not be inserted"); } @@ -177,7 +177,7 @@ function write_sales_invoice(&$invoice) $taxitem['rate'], $invoice->tax_included, $prepaid_factor*$taxitem['Value'], $taxitem['Net'], $ex_rate, $date_, $invoice->reference, TR_OUTPUT); if (isset($taxitem['sales_gl_code']) && !empty($taxitem['sales_gl_code']) && $taxitem['Value'] != 0) - $total += add_gl_trans_customer(ST_SALESINVOICE, $invoice_no, $date_, $taxitem['sales_gl_code'], 0, 0, + $total += add_gl_trans_customer(ST_SALESINVOICE, $invoice_no, $date_, $taxitem['sales_gl_code'], $invoice->dimension_id, $invoice->dimension2_id, (-$taxitem['Value'])*$prepaid_factor, $invoice->customer_id, "A tax GL posting could not be inserted"); } @@ -198,12 +198,15 @@ function write_sales_invoice(&$invoice) // extend invoice entry page with final amount after discount // and change line below. $discount = 0; // $invoice->cash_discount*$amount; + $payment_info = $invoice->pos['pos_name'].' #'.$invoice_no; + if (!empty($invoice->payment_info)) + $payment_info .= ' ' . $invoice->payment_info; $pmtno = write_customer_payment(0, $invoice->customer_id, $invoice->Branch, $invoice->pos['pos_account'], $date_, $Refs->get_next(ST_CUSTPAYMENT, null, array('customer' => $invoice->customer_id, 'branch' => $invoice->Branch, 'date' => $date_)), - $amount-$discount, $discount, - $invoice->pos['pos_name'].' #'.$invoice_no); + $amount-$discount, $discount, $payment_info, + 0,0,0,$invoice->dimension_id, $invoice->dimension2_id); add_cust_allocation($amount, ST_CUSTPAYMENT, $pmtno, ST_SALESINVOICE, $invoice_no, $invoice->customer_id, $date_); update_debtor_trans_allocation(ST_SALESINVOICE, $invoice_no, $invoice->customer_id); @@ -246,8 +249,9 @@ function void_sales_invoice($type, $type_no) if ($deliveries !== 0) { if ($type == ST_SALESINVOICE && count($deliveries) == 1 && get_reference(ST_CUSTDELIVERY, $deliveries[0]) == "auto") { + $trans = get_customer_trans($deliveries[0], ST_CUSTDELIVERY); void_sales_delivery(ST_CUSTDELIVERY, $deliveries[0], false); - $date_ = Today(); + $date_ = sql2date($trans['tran_date']); add_audit_trail(ST_CUSTDELIVERY, $deliveries[0], $date_, _("Voided.")); add_voided_entry(ST_CUSTDELIVERY, $deliveries[0], $date_, ""); } @@ -288,7 +292,7 @@ function get_cust_prepayment_invoice_factor($trans_no) LEFT JOIN ".TB_PREF."sales_orders so ON so.trans_type=".ST_SALESORDER." AND so.order_no=dt.order_ WHERE dt.type=".ST_SALESINVOICE." AND trans_no=".db_escape($trans_no); $row = db_fetch(db_query($sql, 'cannot retrieve prepaid invoice factor')); - return $row[0]; + return is_array($row) ? $row[0] : false; } /*