Salesman Report: fixed bug in provision calculation, Sales Persons: changed break...
authorJanusz Dobrowolski <janusz@frontaccounting.eu>
Thu, 16 Apr 2015 08:27:04 +0000 (10:27 +0200)
committerJanusz Dobrowolski <janusz@frontaccounting.eu>
Thu, 16 Apr 2015 08:27:04 +0000 (10:27 +0200)
reporting/rep106.php
sales/manage/sales_people.php
sql/alter2.4.sql

index 409465e4589098f21af351d4a6414bcf56524160..f9ea4499eaa518989504200dc95017dd4ee467fe 100644 (file)
@@ -40,7 +40,6 @@ function GetSalesmanTrans($from, $to)
                        cust.name AS DebtorName,
                        cust.curr_code,
                        branch.br_name,
-                       branch.contact_name,
                        sorder.customer_ref,
                        salesman.*
                FROM ".TB_PREF."debtor_trans trans,
@@ -144,10 +143,14 @@ function print_salesman_list()
                }
                $rate = $myrow['rate'];
                $amt = $myrow['InvoiceTotal'] * $rate;
-               if ($subprov > $myrow['break_pt'] && $myrow['provision2'] != 0)
-                       $prov = $myrow['provision2'] * $amt / 100;
-               else
+               if ($myrow['provision2'] == 0)
                        $prov = $myrow['provision'] * $amt / 100;
+               else {
+                       $amt1 = min($amt, max(0, $myrow['break_pt']-$subtotal));
+                       $amt2 = $amt - $amt1;
+
+                       $prov = $amt1*$myrow['provision']/100 + $amt2*$myrow['provision2']/100;
+               }
                if (!$summary)
                {
                        $rep->TextCol(0, 1,     $myrow['trans_no']);
index 121eea6b6643e9fe718c641c08ada16204c2006a..2f44ad0659585e1875eac401f4dd3aa21be18425 100644 (file)
@@ -157,7 +157,7 @@ text_row_ex(_("Telephone number:"), 'salesman_phone', 20);
 text_row_ex(_("Fax number:"), 'salesman_fax', 20);
 email_row_ex(_("E-mail:"), 'salesman_email', 40);
 percent_row(_("Provision").':', 'provision');
-amount_row(_("Break Pt.:"), 'break_pt');
+amount_row(_("Turnover Break Pt Level:"), 'break_pt');
 percent_row(_("Provision")." 2:", 'provision2');
 end_table(1);
 
index 727e91c3a39e83c979ff677fb058f5382d156edc..669101377bb79d60d9dae4104e6181d35d9fee66 100644 (file)
@@ -239,3 +239,9 @@ ALTER TABLE `0_stock_moves` DROP COLUMN `discount_percent`;
 ALTER TABLE `0_stock_moves` DROP COLUMN `person_id`;
 
 DROP TABLE IF EXISTS `0_movement_types`;
+
+# change salesman breakpoint meaning to turnover level
+UPDATE `0_salesman`
+       SET `break_pt` = `break_pt`*100.0/`provision`
+WHERE `provision` != 0;
+