Changed so Customer's Reference is printed on all sales documents (you can f.i. enter...
[fa-stable.git] / manufacturing / work_order_entry.php
index 4da03e6e0095d2ec8475a36d76dd385466401d07..28d00f2935a3786cf0f84a02efb6a9096641f04b 100644 (file)
@@ -105,12 +105,14 @@ function can_process()
        if (!references::is_valid($_POST['wo_ref']))
        {
                display_error(_("You must enter a reference."));
+               set_focus('wo_ref');
                return false;
        }
 
        if (!is_new_reference($_POST['wo_ref'], systypes::work_order()))
        {
                display_error(_("The entered reference is already in use."));
+               set_focus('wo_ref');
                return false;
        }
        }
@@ -118,17 +120,20 @@ function can_process()
        if (!check_num('quantity', 0))
        {
                display_error( _("The quantity entered is invalid or less than zero."));
+               set_focus('quantity');
                return false;
        }
 
        if (!is_date($_POST['date_']))
        {
                display_error( _("The date entered is in an invalid format."));
+               set_focus('date_');
                return false;
        }
        elseif (!is_date_in_fiscalyear($_POST['date_']))
        {
                display_error(_("The entered date is not in fiscal year."));
+               set_focus('date_');
                return false;
        }
        // only check bom and quantites if quick assembly
@@ -137,6 +142,7 @@ function can_process()
         if (!has_bom($_POST['stock_id']))
         {
                display_error(_("The selected item to manufacture does not have a bom."));
+               set_focus('stock_id');
                return false;
         }
 
@@ -145,6 +151,7 @@ function can_process()
        if (!check_num('Costs', 0))
        {
                display_error( _("The cost entered is invalid or less than zero."));
+               set_focus('Costs');
                return false;
        }
 
@@ -168,6 +175,7 @@ function can_process()
                                {
                                        display_error(_("The work order cannot be processed because there is an insufficient quantity for component:") .
                                                " " . $bom_item["component"] . " - " .  $bom_item["description"] . ".  " . _("Location:") . " " . $bom_item["location_name"]);
+                                               set_focus('quantity');
                                                return false;
                                }
                        }
@@ -189,6 +197,7 @@ function can_process()
      {
        if (!is_date($_POST['RequDate']))
        {
+               set_focus('RequDate');
                display_error( _("The date entered is in an invalid format."));
                return false;
                }
@@ -203,6 +212,7 @@ function can_process()
 
                if ($_POST['units_issued'] > input_num('quantity'))
                {
+                       set_focus('quantity');
                        display_error(_("The quantity cannot be changed to be less than the quantity already manufactured for this order."));
                        return false;
                }
@@ -298,11 +308,11 @@ if (isset($selected_id))
        }
 
        $_POST['wo_ref'] = $myrow["wo_ref"];
-       $_POST['quantity'] = qty_format($myrow["units_reqd"]);
+       $_POST['stock_id'] = $myrow["stock_id"];
+       $_POST['quantity'] = qty_format($myrow["units_reqd"], $_POST['stock_id'], $dec);
        $_POST['StockLocation'] = $myrow["loc_code"];
        $_POST['released'] = $myrow["released"];
        $_POST['closed'] = $myrow["closed"];
-       $_POST['stock_id'] = $myrow["stock_id"];
        $_POST['type'] = $myrow["type"];
        $_POST['date_'] = sql2date($myrow["date_"]);
        $_POST['RequDate'] = sql2date($myrow["required_by"]);
@@ -327,9 +337,9 @@ if (isset($selected_id))
 else
 {
        $_POST['units_issued'] = $_POST['released'] = 0;
-       ref_row(_("Reference:"), 'wo_ref', references::get_next(systypes::work_order()));
+       ref_row(_("Reference:"), 'wo_ref', '', references::get_next(systypes::work_order()));
 
-       wo_types_list_row(_("Type:"), 'type', $_POST['type']);
+       wo_types_list_row(_("Type:"), 'type', null);
 }
 
 if ($_POST['released'] == true)
@@ -349,19 +359,19 @@ else
 }
 
 if (!isset($_POST['quantity']))
-       $_POST['quantity'] = qty_format(1);
+       $_POST['quantity'] = qty_format(1, $_POST['stock_id'], $dec);
 
-if ($_POST['type'] == wo_types::advanced())
+if (get_post('type') == wo_types::advanced())
 {
-    amount_row(_("Quantity Required:"), 'quantity', 12);
+    qty_row(_("Quantity Required:"), 'quantity', null, null, null, $dec);
     if ($_POST['released'])
-       label_row(_("Quantity Manufactured:"), qty_format($_POST['units_issued']));
+       label_row(_("Quantity Manufactured:"), qty_format($_POST['units_issued'], $_POST['stock_id']));
     date_row(_("Date") . ":", 'date_');
-       date_row(_("Date Required By") . ":", 'RequDate', null, sys_prefs::default_wo_required_by());
+       date_row(_("Date Required By") . ":", 'RequDate', '', null, sys_prefs::default_wo_required_by());
 }
 else
 {
-    amount_row(_("Quantity:"), 'quantity', 12);
+    qty_row(_("Quantity:"), 'quantity', null, null, null, $dec);
     date_row(_("Date") . ":", 'date_');
        hidden('RequDate', '');