X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=sales%2Fcreate_recurrent_invoices.php;h=b14b30569dc10ec1716fd60999cbcf713d5ec7d7;hb=c9cb6e8b05e007305888f244807abda14632205e;hp=06c045ec3fbde8b1976d7fb05284d42cdbc25cf6;hpb=832403f85f84fc91734eca085a32db6a509ffd3d;p=fa-stable.git diff --git a/sales/create_recurrent_invoices.php b/sales/create_recurrent_invoices.php index 06c045ec..b14b3056 100644 --- a/sales/create_recurrent_invoices.php +++ b/sales/create_recurrent_invoices.php @@ -1,13 +1,13 @@ . + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + See the License here . ***********************************************************************/ $page_security = 'SA_SALESINVOICE'; $path_to_root = ".."; @@ -27,12 +27,15 @@ page(_($help_context = "Create and Print Recurrent Invoices"), false, false, "", function create_recurrent_invoices($customer_id, $branch_id, $order_no, $tmpl_no, $date, $from, $to, $memo) { - global $Refs; + global $Refs, $SysPrefs; update_last_sent_recurrent_invoice($tmpl_no, $to); $doc = new Cart(ST_SALESORDER, array($order_no)); - + + if (!empty($SysPrefs->prefs['dim_on_recurrent_invoice'])) + $doc->trans_type = ST_SALESINVOICE; + get_customer_details_to_order($doc, $customer_id, $branch_id); $doc->trans_type = ST_SALESORDER; @@ -43,6 +46,8 @@ function create_recurrent_invoices($customer_id, $branch_id, $order_no, $tmpl_no $doc->reference = $Refs->get_next($doc->trans_type, null, array('customer' => $customer_id, 'branch' => $branch_id, 'date' => $date)); + if (!empty($doc->Comments)) + $memo .= "\n" . $doc->Comments; $doc->Comments = $memo; foreach ($doc->line_items as $line_no=>$item) { @@ -96,11 +101,11 @@ if ($id != -1) whole invoiced time is invoices are issued _after_ invoiced period is gone, eg: begin 1.1 - end 31.3 - period: invoice ready for issue since: - 1.1-31.1 - 1.2 - 1.2-28.2 - 1.3 - 1.3-31.3 - 1.4 + end 31.3 + period: invoice ready for issue since: + 1.1-31.1 - 1.2 + 1.2-28.2 - 1.3 + 1.3-31.3 - 1.4 In example above, when end is set to 1.4 will generate additional invoice on 1.5 ! */ @@ -114,7 +119,7 @@ if ($id != -1) $invs = array(); if (recurrent_invoice_ready($id, $date)) { - begin_transaction(); + begin_transaction(); if ($myrow['debtor_no'] == 0) { @@ -143,9 +148,8 @@ if ($id != -1) if (count($invs) > 0) { $ar = array('PARAM_0' => $min."-".ST_SALESINVOICE, 'PARAM_1' => $max."-".ST_SALESINVOICE, 'PARAM_2' => "", - 'PARAM_3' => 0, 'PARAM_4' => 0, 'PARAM_5' => "", 'PARAM_6' => user_def_print_orientation()); + 'PARAM_3' => 0, 'PARAM_4' => 0, 'PARAM_5' => "", 'PARAM_6' => "", 'PARAM_7' => user_def_print_orientation()); display_note(print_link(sprintf(_("&Print Recurrent Invoices # %s - # %s"), $min, $max), 107, $ar), 0, 1); - $ar['PARAM_6'] = 1; // orygina³ $ar['PARAM_3'] = 1; // email display_note(print_link(sprintf(_("&Email Recurrent Invoices # %s - # %s"), $min, $max), 107, $ar), 0, 1); } @@ -180,8 +184,10 @@ if ($id != -1) label_row(_('Template:'), get_customer_trans_view_str(ST_SALESORDER, $myrow["order_no"])); label_row(_('Number of invoices:'), $count); date_row(_('Invoice date:'), 'trans_date'); - text_row(_('Invoice notice:'), 'memo', sprintf(_("Recurrent Invoice covers period %s - %s."), $from, add_days($to, -1)), - 100, 100); + $newto = add_months($to, $myrow['monthly']); + $newto = add_days($newto, $myrow['days']); + text_row(_('Invoice notice:'), 'memo', sprintf(_("Recurrent Invoice covers period %s - %s."), $to, add_days($newto, -1)), 100, 100); + //text_row(_('Invoice notice:'), 'memo', sprintf(_("Recurrent Invoice covers period %s - %s."), //$from, add_days($to, -1)), 100, 100); end_table(); hidden('from', $from, true); hidden('to', $to, true); @@ -215,7 +221,7 @@ while ($myrow = db_fetch($result)) alt_table_row_color($k); label_cell($myrow["description"]); - label_cell(get_customer_trans_view_str(ST_SALESORDER, $myrow["order_no"])); + label_cell(get_customer_trans_view_str(ST_SALESORDER, $myrow["order_no"]), "nowrap align='right'"); if ($myrow["debtor_no"] == 0) { label_cell(""); @@ -230,20 +236,20 @@ while ($myrow = db_fetch($result)) label_cell($myrow["days"]); label_cell($myrow['monthly']); label_cell(sql2date($myrow['begin']), "align='center'"); - label_cell(sql2date($myrow['end']), "align='center'"); - label_cell(calculate_next($myrow), "align='center'"); - if ($myrow['overdue']) - { + label_cell(sql2date($myrow['end']), "align='center'"); + label_cell(calculate_next($myrow), "align='center'"); + if ($myrow['overdue']) + { $count = recurrent_invoice_count($myrow['id']); - if ($count) - { + if ($count) + { button_cell("create".$myrow["id"], sprintf(_("Create %s Invoice(s)"), $count), "", ICON_DOC, 'process'); } else { label_cell(''); } } - else - label_cell(""); + else + label_cell(""); end_row(); } end_table();