Merge pull request #4695 from neilLasrado/develop
Material Request of type Manufcture
diff --git a/erpnext/buying/doctype/purchase_order/purchase_order.py b/erpnext/buying/doctype/purchase_order/purchase_order.py
index d4474b6..06d3932 100644
--- a/erpnext/buying/doctype/purchase_order/purchase_order.py
+++ b/erpnext/buying/doctype/purchase_order/purchase_order.py
@@ -145,7 +145,6 @@
and frappe.db.get_value("Item", d.item_code, "is_stock_item") \
and d.warehouse and not d.delivered_by_supplier:
item_wh_list.append([d.item_code, d.warehouse])
-
for item_code, warehouse in item_wh_list:
update_bin_qty(item_code, warehouse, {
"ordered_qty": get_ordered_qty(item_code, warehouse)
diff --git a/erpnext/docs/assets/img/manufacturing/ppt.png b/erpnext/docs/assets/img/manufacturing/ppt.png
index f5018b7..30096ff 100644
--- a/erpnext/docs/assets/img/manufacturing/ppt.png
+++ b/erpnext/docs/assets/img/manufacturing/ppt.png
Binary files differ
diff --git a/erpnext/docs/assets/old_images/erpnext/material-request-workflow.jpg b/erpnext/docs/assets/old_images/erpnext/material-request-workflow.jpg
index 6846fa5..c462e20 100644
--- a/erpnext/docs/assets/old_images/erpnext/material-request-workflow.jpg
+++ b/erpnext/docs/assets/old_images/erpnext/material-request-workflow.jpg
Binary files differ
diff --git a/erpnext/docs/current/models/stock/material_request_item.html b/erpnext/docs/current/models/stock/material_request_item.html
new file mode 100644
index 0000000..d1d8f6f
--- /dev/null
+++ b/erpnext/docs/current/models/stock/material_request_item.html
@@ -0,0 +1,393 @@
+<!-- title: Material Request Item -->
+
+
+
+
+
+<div class="dev-header">
+
+<a class="btn btn-default btn-sm" disabled style="margin-bottom: 10px;">
+ Version 6.x.x</a>
+
+
+ <a class="btn btn-default btn-sm" href="https://github.com/frappe/erpnext/tree/develop/erpnext/stock/doctype/material_request_item"
+ target="_blank" style="margin-left: 10px; margin-bottom: 10px;"><i class="octicon octicon-mark-github"></i> Source</a>
+
+</div>
+
+
+<span class="label label-info">Child Table</span>
+
+
+ <p><b>Table Name:</b> <code>tabMaterial Request Item</code></p>
+
+
+
+
+<h3>Fields</h3>
+
+<table class="table table-bordered">
+ <thead>
+ <tr>
+ <th style="width: 5%">Sr</th>
+ <th style="width: 25%">Fieldname</th>
+ <th style="width: 20%">Type</th>
+ <th style="width: 25%">Label</th>
+ <th style="width: 25%">Options</th>
+ </tr>
+ </thead>
+ <tbody>
+
+ <tr >
+ <td>1</td>
+ <td class="danger" title="Mandatory"><code>item_code</code></td>
+ <td >
+ Link</td>
+ <td >
+ Item Code
+
+ </td>
+ <td>
+
+
+
+
+<a href="https://frappe.github.io/erpnext/current/models/stock/item">Item</a>
+
+
+
+ </td>
+ </tr>
+
+ <tr >
+ <td>2</td>
+ <td ><code>col_break1</code></td>
+ <td class="info">
+ Column Break</td>
+ <td >
+
+
+ </td>
+ <td></td>
+ </tr>
+
+ <tr >
+ <td>3</td>
+ <td ><code>item_name</code></td>
+ <td >
+ Data</td>
+ <td >
+ Item Name
+
+ </td>
+ <td></td>
+ </tr>
+
+ <tr class="info">
+ <td>4</td>
+ <td ><code>section_break_4</code></td>
+ <td >
+ Section Break</td>
+ <td >
+ Description
+
+ </td>
+ <td></td>
+ </tr>
+
+ <tr >
+ <td>5</td>
+ <td class="danger" title="Mandatory"><code>description</code></td>
+ <td >
+ Text Editor</td>
+ <td >
+ Description
+
+ </td>
+ <td></td>
+ </tr>
+
+ <tr >
+ <td>6</td>
+ <td ><code>column_break_6</code></td>
+ <td class="info">
+ Column Break</td>
+ <td >
+
+
+ </td>
+ <td></td>
+ </tr>
+
+ <tr >
+ <td>7</td>
+ <td ><code>image</code></td>
+ <td >
+ Attach Image</td>
+ <td >
+ Image
+
+ </td>
+ <td></td>
+ </tr>
+
+ <tr class="info">
+ <td>8</td>
+ <td ><code>quantity_and_warehouse</code></td>
+ <td >
+ Section Break</td>
+ <td >
+ Quantity and Warehouse
+
+ </td>
+ <td></td>
+ </tr>
+
+ <tr >
+ <td>9</td>
+ <td class="danger" title="Mandatory"><code>qty</code></td>
+ <td >
+ Float</td>
+ <td >
+ Quantity
+
+ </td>
+ <td></td>
+ </tr>
+
+ <tr >
+ <td>10</td>
+ <td class="danger" title="Mandatory"><code>uom</code></td>
+ <td >
+ Link</td>
+ <td >
+ Stock UOM
+
+ </td>
+ <td>
+
+
+
+
+<a href="https://frappe.github.io/erpnext/current/models/setup/uom">UOM</a>
+
+
+
+ </td>
+ </tr>
+
+ <tr >
+ <td>11</td>
+ <td ><code>warehouse</code></td>
+ <td >
+ Link</td>
+ <td >
+ For Warehouse
+
+ </td>
+ <td>
+
+
+
+
+<a href="https://frappe.github.io/erpnext/current/models/stock/warehouse">Warehouse</a>
+
+
+
+ </td>
+ </tr>
+
+ <tr >
+ <td>12</td>
+ <td ><code>col_break2</code></td>
+ <td class="info">
+ Column Break</td>
+ <td >
+
+
+ </td>
+ <td></td>
+ </tr>
+
+ <tr >
+ <td>13</td>
+ <td class="danger" title="Mandatory"><code>schedule_date</code></td>
+ <td >
+ Date</td>
+ <td >
+ Required Date
+
+ </td>
+ <td></td>
+ </tr>
+
+ <tr class="info">
+ <td>14</td>
+ <td ><code>more_info</code></td>
+ <td >
+ Section Break</td>
+ <td >
+ More Information
+
+ </td>
+ <td></td>
+ </tr>
+
+ <tr >
+ <td>15</td>
+ <td ><code>item_group</code></td>
+ <td >
+ Link</td>
+ <td >
+ Item Group
+
+ </td>
+ <td>
+
+
+
+
+<a href="https://frappe.github.io/erpnext/current/models/setup/item_group">Item Group</a>
+
+
+
+ </td>
+ </tr>
+
+ <tr >
+ <td>16</td>
+ <td ><code>brand</code></td>
+ <td >
+ Link</td>
+ <td >
+ Brand
+
+ </td>
+ <td>
+
+
+
+
+<a href="https://frappe.github.io/erpnext/current/models/setup/brand">Brand</a>
+
+
+
+ </td>
+ </tr>
+
+ <tr >
+ <td>17</td>
+ <td ><code>lead_time_date</code></td>
+ <td >
+ Date</td>
+ <td >
+ Lead Time Date
+
+ </td>
+ <td></td>
+ </tr>
+
+ <tr >
+ <td>18</td>
+ <td ><code>sales_order</code></td>
+ <td >
+ Link</td>
+ <td >
+ Sales Order
+
+ </td>
+ <td>
+
+
+
+
+<a href="https://frappe.github.io/erpnext/current/models/selling/sales_order">Sales Order</a>
+
+
+
+ </td>
+ </tr>
+
+ <tr >
+ <td>19</td>
+ <td ><code>col_break3</code></td>
+ <td class="info">
+ Column Break</td>
+ <td >
+
+
+ </td>
+ <td></td>
+ </tr>
+
+ <tr >
+ <td>20</td>
+ <td ><code>min_order_qty</code></td>
+ <td >
+ Float</td>
+ <td >
+ Min Order Qty
+
+ </td>
+ <td></td>
+ </tr>
+
+ <tr >
+ <td>21</td>
+ <td ><code>projected_qty</code></td>
+ <td >
+ Float</td>
+ <td >
+ Projected Qty
+
+ </td>
+ <td></td>
+ </tr>
+
+ <tr >
+ <td>22</td>
+ <td ><code>ordered_qty</code></td>
+ <td >
+ Float</td>
+ <td >
+ Completed Qty
+
+ </td>
+ <td></td>
+ </tr>
+
+ <tr >
+ <td>23</td>
+ <td ><code>page_break</code></td>
+ <td >
+ Check</td>
+ <td >
+ Page Break
+
+ </td>
+ <td></td>
+ </tr>
+
+ </tbody>
+</table>
+
+
+
+
+ <h4>Child Table Of</h4>
+ <ul>
+
+ <li>
+
+
+<a href="https://frappe.github.io/erpnext/current/models/stock/material_request">Material Request</a>
+
+</li>
+
+ </ul>
+
+
+
+<!-- autodoc -->
+<!-- jinja -->
+<!-- static -->
\ No newline at end of file
diff --git a/erpnext/docs/user/manual/en/manufacturing/tools/production-planning-tool.md b/erpnext/docs/user/manual/en/manufacturing/tools/production-planning-tool.md
index 61ec4c7..4bdc487 100644
--- a/erpnext/docs/user/manual/en/manufacturing/tools/production-planning-tool.md
+++ b/erpnext/docs/user/manual/en/manufacturing/tools/production-planning-tool.md
@@ -1,7 +1,7 @@
Production Planning Tool helps you plan production and purchase of Items for a
period (usually a week or a month).
-This list of Items can be generated from the open Sales Orders in the system
+This list of Items can be generated from the open Sales Orders or pending Material Requests that can be Manufactured in the system
and will generate:
* Production Orders for each Item.
@@ -13,30 +13,36 @@
<img class="screenshot" alt="Production Planing Tool" src="{{docs_base_url}}/assets/img/manufacturing/ppt.png">
+#### Step 1: Specify source to get Production Items
+
+* You can select Sales Order or Material Request according to where you want to source the items from
+* If you plan to add items manually, keep the "Get items from" field empty
-#### Step 1: Select and get Sales Order
-* Select sales orders for MRP using filters (Time, Item, and Customer)
-* Click on Get Sales Order to generate a list.
+#### Step 2: Select and get Sales Order / Material Request
+
+* Use filters to get the Sales Order / Material Request
+* Click on Get Sales Order / Get Material Requests to generate a list.
<img class="screenshot" alt="Production Planing Tool" src="{{docs_base_url}}/assets/img/manufacturing/ppt-get-sales-orders.png">
-#### Step 2: Get Item from Sales Orders.
+#### Step 3: Get Items
-You can add/remove or change quantity of these Items.
+* Get the items for the Sales Order / Material request list
+* You can add/remove or change quantity of these Items.
<img class="screenshot" alt="Production Planing Tool" src="{{docs_base_url}}/assets/img/manufacturing/ppt-get-item.png">
-#### Step 3: Create Production Orders
+#### Step 4: Create Production Orders
<img class="screenshot" alt="Production Planing Tool" src="{{docs_base_url}}/assets/img/manufacturing/ppt-create-production-order.png">
-#### Step 4: Create Material Request
+#### Step 5: Create Material Request
Create Material Request for Items with projected shortfall.
@@ -46,11 +52,11 @@
The Production Planning Tool is used in two stages:
- * Selection of Open Sales Orders for the period based on “Expected Delivery Date”.
- * Selection of Items from those Sales Orders.
+ * Selection of open Sales Orders / pending Material Request for the period based on “Expected Delivery Date”.
+ * Selection of Items from those Sales Orders / Material Requests
-The tool will update if you have already created Production Orders for a
-particular Item against its Sales Order (“Planned Quantity”).
+The tool will update if you have already created Production Orde rs for a
+particular Item against its Sales Order (“Planned Quantity”) or Material Request.
You can always edit the Item list and increase / reduce quantities to plan
your production.
diff --git a/erpnext/docs/user/manual/en/stock/material-request.md b/erpnext/docs/user/manual/en/stock/material-request.md
index a609756..8afda60 100644
--- a/erpnext/docs/user/manual/en/stock/material-request.md
+++ b/erpnext/docs/user/manual/en/stock/material-request.md
@@ -23,6 +23,7 @@
* Purchase - If the request material is to be purchased.
* Material Transfer - If the requested material is to be shifted from one warehouse to another.
* Material Issue - If the requested material is to be Issued.
+* Manufacture - If the requested material is to be Produced.
> Info: Material Request is not mandatory. It is ideal if you have centralized
buying so that you can collect this information from various departments.
diff --git a/erpnext/manufacturing/doctype/production_order/production_order.js b/erpnext/manufacturing/doctype/production_order/production_order.js
index ad8b776..399d576 100644
--- a/erpnext/manufacturing/doctype/production_order/production_order.js
+++ b/erpnext/manufacturing/doctype/production_order/production_order.js
@@ -139,16 +139,18 @@
},
set_default_warehouse: function(frm) {
- frappe.call({
- method: "erpnext.manufacturing.doctype.production_order.production_order.get_default_warehouse",
+ if (!(frm.doc.wip_warehouse || frm.doc.fg_warehouse)) {
+ frappe.call({
+ method: "erpnext.manufacturing.doctype.production_order.production_order.get_default_warehouse",
- callback: function(r) {
- if(!r.exe) {
- frm.set_value("wip_warehouse", r.message.wip_warehouse);
- frm.set_value("fg_warehouse", r.message.fg_warehouse)
+ callback: function(r) {
+ if(!r.exe) {
+ frm.set_value("wip_warehouse", r.message.wip_warehouse);
+ frm.set_value("fg_warehouse", r.message.fg_warehouse)
+ }
}
- }
- });
+ });
+ }
}
}
diff --git a/erpnext/manufacturing/doctype/production_order/production_order.json b/erpnext/manufacturing/doctype/production_order/production_order.json
index ee39e04..4a809cf 100644
--- a/erpnext/manufacturing/doctype/production_order/production_order.json
+++ b/erpnext/manufacturing/doctype/production_order/production_order.json
@@ -24,6 +24,7 @@
"options": "icon-gift",
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 0,
@@ -48,6 +49,7 @@
"options": "PRO-",
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 1,
@@ -75,6 +77,7 @@
"options": "\nDraft\nSubmitted\nStopped\nIn Process\nCompleted\nCancelled",
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 1,
"report_hide": 0,
"reqd": 1,
@@ -100,6 +103,7 @@
"options": "Item",
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 1,
@@ -127,6 +131,7 @@
"options": "BOM",
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 1,
@@ -151,6 +156,7 @@
"no_copy": 0,
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 0,
@@ -173,6 +179,7 @@
"oldfieldtype": "Column Break",
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 0,
@@ -199,6 +206,7 @@
"oldfieldtype": "Currency",
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 1,
@@ -225,6 +233,7 @@
"permlevel": 0,
"precision": "",
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 1,
"report_hide": 0,
"reqd": 0,
@@ -252,6 +261,7 @@
"oldfieldtype": "Currency",
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 1,
"report_hide": 0,
"reqd": 0,
@@ -275,6 +285,7 @@
"options": "icon-building",
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 0,
@@ -298,6 +309,7 @@
"options": "Warehouse",
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 0,
@@ -319,6 +331,7 @@
"no_copy": 0,
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 0,
@@ -344,6 +357,7 @@
"options": "Warehouse",
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 0,
@@ -368,6 +382,7 @@
"permlevel": 0,
"precision": "",
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 0,
@@ -391,6 +406,7 @@
"no_copy": 0,
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 0,
@@ -415,6 +431,7 @@
"permlevel": 0,
"precision": "",
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 1,
@@ -438,6 +455,7 @@
"permlevel": 0,
"precision": "",
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 1,
"report_hide": 0,
"reqd": 0,
@@ -460,6 +478,7 @@
"permlevel": 0,
"precision": "",
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 0,
@@ -483,6 +502,7 @@
"permlevel": 0,
"precision": "",
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 1,
"report_hide": 0,
"reqd": 0,
@@ -506,6 +526,7 @@
"permlevel": 0,
"precision": "",
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 1,
"report_hide": 0,
"reqd": 0,
@@ -531,6 +552,7 @@
"permlevel": 0,
"precision": "",
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 0,
@@ -556,6 +578,7 @@
"permlevel": 0,
"precision": "",
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 1,
"report_hide": 0,
"reqd": 0,
@@ -581,6 +604,7 @@
"permlevel": 0,
"precision": "",
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 0,
@@ -605,6 +629,7 @@
"permlevel": 0,
"precision": "",
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 1,
"report_hide": 0,
"reqd": 0,
@@ -629,6 +654,7 @@
"permlevel": 0,
"precision": "",
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 1,
"report_hide": 0,
"reqd": 0,
@@ -653,6 +679,7 @@
"permlevel": 0,
"precision": "",
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 0,
@@ -675,6 +702,7 @@
"permlevel": 0,
"precision": "",
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 0,
@@ -699,6 +727,7 @@
"permlevel": 0,
"precision": "",
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 1,
"report_hide": 0,
"reqd": 0,
@@ -722,6 +751,7 @@
"options": "icon-file-text",
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 0,
@@ -744,6 +774,7 @@
"no_copy": 0,
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 1,
"report_hide": 0,
"reqd": 0,
@@ -770,6 +801,7 @@
"options": "UOM",
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 1,
"report_hide": 0,
"reqd": 0,
@@ -781,6 +813,32 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
+ "fieldname": "company",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Company",
+ "length": 0,
+ "no_copy": 0,
+ "oldfieldname": "company",
+ "oldfieldtype": "Link",
+ "options": "Company",
+ "permlevel": 0,
+ "print_hide": 0,
+ "print_hide_if_no_value": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 1,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
+ },
+ {
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
"fieldname": "column_break2",
"fieldtype": "Column Break",
"hidden": 0,
@@ -791,6 +849,7 @@
"no_copy": 0,
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 0,
@@ -817,6 +876,7 @@
"options": "Project",
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 0,
@@ -841,6 +901,7 @@
"options": "Sales Order",
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 0,
@@ -852,23 +913,48 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
- "fieldname": "company",
+ "description": "Manufacture against Material Request",
+ "fieldname": "material_request",
"fieldtype": "Link",
"hidden": 0,
"ignore_user_permissions": 0,
"in_filter": 0,
"in_list_view": 0,
- "label": "Company",
+ "label": "Material Request",
"length": 0,
"no_copy": 0,
- "oldfieldname": "company",
- "oldfieldtype": "Link",
- "options": "Company",
+ "options": "Material Request",
"permlevel": 0,
+ "precision": "",
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 0,
"report_hide": 0,
- "reqd": 1,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
+ },
+ {
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "material_request_item",
+ "fieldtype": "Data",
+ "hidden": 1,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Material Request Item",
+ "length": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "print_hide_if_no_value": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
"search_index": 0,
"set_only_once": 0,
"unique": 0
@@ -891,6 +977,7 @@
"options": "Production Order",
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 1,
"report_hide": 0,
"reqd": 0,
@@ -909,7 +996,7 @@
"issingle": 0,
"istable": 0,
"max_attachments": 0,
- "modified": "2015-11-16 06:29:52.334735",
+ "modified": "2016-02-23 07:29:38.091748",
"modified_by": "Administrator",
"module": "Manufacturing",
"name": "Production Order",
@@ -958,5 +1045,6 @@
],
"read_only": 0,
"read_only_onload": 0,
+ "sort_order": "ASC",
"title_field": "production_item"
}
\ No newline at end of file
diff --git a/erpnext/manufacturing/doctype/production_order/production_order.py b/erpnext/manufacturing/doctype/production_order/production_order.py
index 59d371a..210597e 100644
--- a/erpnext/manufacturing/doctype/production_order/production_order.py
+++ b/erpnext/manufacturing/doctype/production_order/production_order.py
@@ -152,17 +152,19 @@
frappe.throw(_("Work-in-Progress Warehouse is required before Submit"))
if not self.fg_warehouse:
frappe.throw(_("For Warehouse is required before Submit"))
+
frappe.db.set(self,'status', 'Submitted')
self.make_time_logs()
+ self.update_completed_qty_in_material_request()
self.update_planned_qty()
-
def on_cancel(self):
self.validate_cancel()
frappe.db.set(self,'status', 'Cancelled')
- self.update_planned_qty()
self.delete_time_logs()
+ self.update_completed_qty_in_material_request()
+ self.update_planned_qty()
def validate_cancel(self):
if self.status == "Stopped":
@@ -178,6 +180,14 @@
update_bin_qty(self.production_item, self.fg_warehouse, {
"planned_qty": get_planned_qty(self.production_item, self.fg_warehouse)
})
+
+ if self.material_request:
+ mr_obj = frappe.get_doc("Material Request", self.material_request)
+ mr_obj.update_requested_qty([self.material_request_item])
+
+ def update_completed_qty_in_material_request(self):
+ if self.material_request:
+ frappe.get_doc("Material Request", self.material_request).update_completed_qty([self.material_request_item])
def set_production_order_operations(self):
"""Fetch operations from BOM and set in 'Production Order'"""
@@ -304,7 +314,8 @@
def set_actual_dates(self):
if self.get("operations"):
- actual_date = frappe.db.sql("""select min(actual_start_time) as start_date, max(actual_end_time) as end_date from `tabProduction Order Operation`
+ actual_date = frappe.db.sql("""select min(actual_start_time) as start_date,
+ max(actual_end_time) as end_date from `tabProduction Order Operation`
where parent = %s and docstatus=1""", self.name, as_dict=1)[0]
self.actual_start_date = actual_date.start_date
self.actual_end_date = actual_date.end_date
diff --git a/erpnext/manufacturing/doctype/production_plan_item/production_plan_item.json b/erpnext/manufacturing/doctype/production_plan_item/production_plan_item.json
index 49d31c9..6138435 100644
--- a/erpnext/manufacturing/doctype/production_plan_item/production_plan_item.json
+++ b/erpnext/manufacturing/doctype/production_plan_item/production_plan_item.json
@@ -26,6 +26,7 @@
"options": "Item",
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"print_width": "150px",
"read_only": 0,
"report_hide": 0,
@@ -53,6 +54,7 @@
"options": "BOM",
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"print_width": "100px",
"read_only": 0,
"report_hide": 0,
@@ -79,6 +81,7 @@
"oldfieldtype": "Currency",
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"print_width": "100px",
"read_only": 0,
"report_hide": 0,
@@ -105,6 +108,7 @@
"permlevel": 0,
"precision": "",
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 1,
@@ -116,21 +120,19 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
- "fieldname": "sales_order",
- "fieldtype": "Link",
+ "fieldname": "column_break_6",
+ "fieldtype": "Column Break",
"hidden": 0,
"ignore_user_permissions": 0,
"in_filter": 0,
- "in_list_view": 1,
- "label": "Sales Order",
+ "in_list_view": 0,
"length": 0,
"no_copy": 0,
- "oldfieldname": "source_docname",
- "oldfieldtype": "Data",
- "options": "Sales Order",
"permlevel": 0,
+ "precision": "",
"print_hide": 0,
- "read_only": 1,
+ "print_hide_if_no_value": 0,
+ "read_only": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
@@ -141,32 +143,6 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
- "fieldname": "so_pending_qty",
- "fieldtype": "Float",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 1,
- "label": "SO Pending Qty",
- "length": 0,
- "no_copy": 0,
- "oldfieldname": "prevdoc_reqd_qty",
- "oldfieldtype": "Currency",
- "permlevel": 0,
- "print_hide": 0,
- "print_width": "100px",
- "read_only": 1,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
- "unique": 0,
- "width": "100px"
- },
- {
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
"description": "Reserved Warehouse in Sales Order / Finished Goods Warehouse",
"fieldname": "warehouse",
"fieldtype": "Link",
@@ -180,6 +156,7 @@
"options": "Warehouse",
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 0,
@@ -191,6 +168,84 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
+ "fieldname": "sales_order",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Sales Order",
+ "length": 0,
+ "no_copy": 0,
+ "oldfieldname": "source_docname",
+ "oldfieldtype": "Data",
+ "options": "Sales Order",
+ "permlevel": 0,
+ "print_hide": 0,
+ "print_hide_if_no_value": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
+ },
+ {
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "material_request",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Material Request",
+ "length": 0,
+ "no_copy": 0,
+ "options": "Material Request",
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "print_hide_if_no_value": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
+ },
+ {
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "pending_qty",
+ "fieldtype": "Float",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 1,
+ "label": "Pending Qty",
+ "length": 0,
+ "no_copy": 0,
+ "oldfieldname": "prevdoc_reqd_qty",
+ "oldfieldtype": "Currency",
+ "permlevel": 0,
+ "print_hide": 0,
+ "print_hide_if_no_value": 0,
+ "print_width": "100px",
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0,
+ "width": "100px"
+ },
+ {
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
"fieldname": "stock_uom",
"fieldtype": "Link",
"hidden": 0,
@@ -205,6 +260,7 @@
"options": "UOM",
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"print_width": "80px",
"read_only": 1,
"report_hide": 0,
@@ -231,6 +287,7 @@
"oldfieldtype": "Text",
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"print_width": "200px",
"read_only": 1,
"report_hide": 0,
@@ -239,6 +296,30 @@
"set_only_once": 0,
"unique": 0,
"width": "200px"
+ },
+ {
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "material_request_item",
+ "fieldtype": "Data",
+ "hidden": 1,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "material_request_item",
+ "length": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "print_hide_if_no_value": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
}
],
"hide_heading": 0,
@@ -250,12 +331,13 @@
"issingle": 0,
"istable": 1,
"max_attachments": 0,
- "modified": "2015-11-16 06:29:52.572122",
+ "modified": "2016-02-11 05:08:19.492712",
"modified_by": "Administrator",
"module": "Manufacturing",
"name": "Production Plan Item",
"owner": "Administrator",
"permissions": [],
"read_only": 0,
- "read_only_onload": 0
+ "read_only_onload": 0,
+ "sort_order": "ASC"
}
\ No newline at end of file
diff --git a/erpnext/manufacturing/doctype/production_plan_material_request/__init__.py b/erpnext/manufacturing/doctype/production_plan_material_request/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/erpnext/manufacturing/doctype/production_plan_material_request/__init__.py
diff --git a/erpnext/manufacturing/doctype/production_plan_material_request/production_plan_material_request.json b/erpnext/manufacturing/doctype/production_plan_material_request/production_plan_material_request.json
new file mode 100644
index 0000000..739c97f
--- /dev/null
+++ b/erpnext/manufacturing/doctype/production_plan_material_request/production_plan_material_request.json
@@ -0,0 +1,114 @@
+{
+ "allow_copy": 0,
+ "allow_import": 0,
+ "allow_rename": 0,
+ "autoname": "hash",
+ "creation": "2016-02-10 05:09:11.983251",
+ "custom": 0,
+ "docstatus": 0,
+ "doctype": "DocType",
+ "document_type": "",
+ "fields": [
+ {
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "material_request",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 1,
+ "label": "Material Request",
+ "length": 0,
+ "no_copy": 0,
+ "oldfieldname": "prevdoc_docname",
+ "oldfieldtype": "Data",
+ "options": "Material Request",
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "print_hide_if_no_value": 0,
+ "print_width": "150px",
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0,
+ "width": "150px"
+ },
+ {
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "col_break1",
+ "fieldtype": "Column Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "length": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "print_hide_if_no_value": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
+ },
+ {
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "material_request_date",
+ "fieldtype": "Date",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 1,
+ "label": "Material Request Date",
+ "length": 0,
+ "no_copy": 0,
+ "oldfieldname": "document_date",
+ "oldfieldtype": "Date",
+ "options": "",
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "print_hide_if_no_value": 0,
+ "print_width": "120px",
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0,
+ "width": "120px"
+ }
+ ],
+ "hide_heading": 0,
+ "hide_toolbar": 0,
+ "idx": 0,
+ "in_create": 0,
+ "in_dialog": 0,
+ "is_submittable": 0,
+ "issingle": 0,
+ "istable": 1,
+ "max_attachments": 0,
+ "modified": "2016-02-23 02:06:15.169120",
+ "modified_by": "Administrator",
+ "module": "Manufacturing",
+ "name": "Production Plan Material Request",
+ "name_case": "",
+ "owner": "Administrator",
+ "permissions": [],
+ "read_only": 0,
+ "read_only_onload": 0,
+ "sort_field": "modified",
+ "sort_order": "ASC"
+}
\ No newline at end of file
diff --git a/erpnext/manufacturing/doctype/production_plan_material_request/production_plan_material_request.py b/erpnext/manufacturing/doctype/production_plan_material_request/production_plan_material_request.py
new file mode 100644
index 0000000..44786f8
--- /dev/null
+++ b/erpnext/manufacturing/doctype/production_plan_material_request/production_plan_material_request.py
@@ -0,0 +1,10 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and contributors
+# For license information, please see license.txt
+
+from __future__ import unicode_literals
+import frappe
+from frappe.model.document import Document
+
+class ProductionPlanMaterialRequest(Document):
+ pass
diff --git a/erpnext/manufacturing/doctype/production_plan_sales_order/production_plan_sales_order.json b/erpnext/manufacturing/doctype/production_plan_sales_order/production_plan_sales_order.json
index d7fdea5..5eaa274 100644
--- a/erpnext/manufacturing/doctype/production_plan_sales_order/production_plan_sales_order.json
+++ b/erpnext/manufacturing/doctype/production_plan_sales_order/production_plan_sales_order.json
@@ -26,6 +26,7 @@
"options": "Sales Order",
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"print_width": "150px",
"read_only": 0,
"report_hide": 0,
@@ -45,13 +46,15 @@
"ignore_user_permissions": 0,
"in_filter": 0,
"in_list_view": 1,
- "label": "SO Date",
+ "label": "Salse Order Date",
"length": 0,
"no_copy": 0,
"oldfieldname": "document_date",
"oldfieldtype": "Date",
+ "options": "",
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"print_width": "120px",
"read_only": 1,
"report_hide": 0,
@@ -76,6 +79,7 @@
"permlevel": 0,
"precision": "",
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 0,
@@ -99,6 +103,7 @@
"options": "Customer",
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"print_width": "150px",
"read_only": 1,
"report_hide": 0,
@@ -112,6 +117,7 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
+ "default": "",
"fieldname": "grand_total",
"fieldtype": "Currency",
"hidden": 0,
@@ -121,9 +127,10 @@
"label": "Grand Total",
"length": 0,
"no_copy": 0,
- "options": "Company:company:default_currency",
+ "options": "",
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"print_width": "120px",
"read_only": 1,
"report_hide": 0,
@@ -143,12 +150,13 @@
"issingle": 0,
"istable": 1,
"max_attachments": 0,
- "modified": "2015-11-16 06:29:52.629618",
+ "modified": "2016-02-23 02:13:07.340323",
"modified_by": "Administrator",
"module": "Manufacturing",
"name": "Production Plan Sales Order",
"owner": "Administrator",
"permissions": [],
"read_only": 0,
- "read_only_onload": 0
+ "read_only_onload": 0,
+ "sort_order": "ASC"
}
\ No newline at end of file
diff --git a/erpnext/manufacturing/doctype/production_planning_tool/production_planning_tool.js b/erpnext/manufacturing/doctype/production_planning_tool/production_planning_tool.js
index 15c4245..6824013 100644
--- a/erpnext/manufacturing/doctype/production_planning_tool/production_planning_tool.js
+++ b/erpnext/manufacturing/doctype/production_planning_tool/production_planning_tool.js
@@ -3,36 +3,82 @@
frappe.require("assets/erpnext/js/utils.js");
-cur_frm.cscript.onload = function(doc, cdt, cdn) {
+cur_frm.cscript.onload = function(doc) {
cur_frm.set_value("company", frappe.defaults.get_user_default("Company"))
- cur_frm.set_value("use_multi_level_bom", 1)
}
cur_frm.cscript.refresh = function(doc) {
cur_frm.disable_save();
}
-cur_frm.cscript.sales_order = function(doc,cdt,cdn) {
- var d = locals[cdt][cdn];
- if (d.sales_order) {
- return get_server_fields('get_so_details', d.sales_order, 'sales_orders', doc, cdt, cdn, 1);
+cur_frm.add_fetch("material_request", "transaction_date", "material_request_date");
+
+cur_frm.add_fetch("sales_order", "transaction_date", "sales_order_date");
+cur_frm.add_fetch("sales_order", "customer", "customer");
+cur_frm.add_fetch("sales_order", "base_grand_total", "grand_total");
+
+frappe.ui.form.on("Production Planning Tool", {
+ get_sales_orders: function(frm) {
+ frappe.call({
+ doc: frm.doc,
+ method: "get_open_sales_orders",
+ callback: function(r) {
+ refresh_field("sales_orders");
+ }
+ });
+ },
+
+ get_material_request: function(frm) {
+ frappe.call({
+ doc: frm.doc,
+ method: "get_pending_material_requests",
+ callback: function(r) {
+ refresh_field("material_requests");
+ }
+ });
+ },
+
+ get_items: function(frm) {
+ frappe.call({
+ doc: frm.doc,
+ method: "get_items",
+ callback: function(r) {
+ refresh_field("items");
+ }
+ });
+ },
+
+ create_production_order: function(frm) {
+ frappe.call({
+ doc: frm.doc,
+ method: "raise_production_orders"
+ });
+ },
+
+ create_material_requests: function(frm) {
+ frappe.call({
+ doc: frm.doc,
+ method: "raise_material_requests"
+ });
}
-}
+});
cur_frm.cscript.item_code = function(doc,cdt,cdn) {
var d = locals[cdt][cdn];
if (d.item_code) {
- return get_server_fields('get_item_details', d.item_code, 'items', doc, cdt, cdn, 1);
+ frappe.call({
+ method: "erpnext.manufacturing.doctype.production_order.production_order.get_item_details",
+ args: {
+ "item" : d.item_code
+ },
+ callback: function(r) {
+ $.extend(d, r.message);
+ refresh_field("items");
+ }
+ });
}
}
-cur_frm.cscript.raise_purchase_request = function(doc, cdt, cdn) {
- return frappe.call({
- method: "raise_purchase_request",
- doc:doc
- })
-}
-
cur_frm.cscript.download_materials_required = function(doc, cdt, cdn) {
return $c_obj(doc, 'validate_data', '', function(r, rt) {
if (!r['exc'])
@@ -40,7 +86,6 @@
});
}
-
cur_frm.fields_dict['sales_orders'].grid.get_field('sales_order').get_query = function(doc) {
var args = { "docstatus": 1 };
if(doc.customer) {
diff --git a/erpnext/manufacturing/doctype/production_planning_tool/production_planning_tool.json b/erpnext/manufacturing/doctype/production_planning_tool/production_planning_tool.json
index e54b168..9ccd55e 100644
--- a/erpnext/manufacturing/doctype/production_planning_tool/production_planning_tool.json
+++ b/erpnext/manufacturing/doctype/production_planning_tool/production_planning_tool.json
@@ -12,17 +12,21 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
- "description": "Select Sales Orders from which you want to create Production Orders.",
- "fieldname": "select_sales_orders",
- "fieldtype": "Section Break",
+ "default": "Sales Order",
+ "fieldname": "get_items_from",
+ "fieldtype": "Select",
"hidden": 0,
"ignore_user_permissions": 0,
"in_filter": 0,
"in_list_view": 0,
- "label": "Select Sales Orders",
+ "label": "Get Items From",
+ "length": 0,
"no_copy": 0,
+ "options": "\nSales Order\nMaterial Request",
"permlevel": 0,
+ "precision": "",
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 0,
@@ -34,22 +38,26 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
- "fieldname": "column_break0",
- "fieldtype": "Column Break",
+ "depends_on": "get_items_from",
+ "description": "",
+ "fieldname": "filters",
+ "fieldtype": "Section Break",
"hidden": 0,
"ignore_user_permissions": 0,
"in_filter": 0,
"in_list_view": 0,
+ "label": "Filters",
+ "length": 0,
"no_copy": 0,
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
- "unique": 0,
- "width": "50%"
+ "unique": 0
},
{
"allow_on_submit": 0,
@@ -61,11 +69,13 @@
"ignore_user_permissions": 0,
"in_filter": 0,
"in_list_view": 1,
- "label": "Filter based on item",
+ "label": "Item",
+ "length": 0,
"no_copy": 0,
"options": "Item",
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 0,
@@ -77,17 +87,20 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
+ "depends_on": "eval: doc.get_items_from == \"Sales Order\"",
"fieldname": "customer",
"fieldtype": "Link",
"hidden": 0,
"ignore_user_permissions": 0,
"in_filter": 0,
"in_list_view": 1,
- "label": "Filter based on customer",
+ "label": "Customer",
+ "length": 0,
"no_copy": 0,
"options": "Customer",
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 0,
@@ -99,6 +112,33 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
+ "depends_on": "eval: doc.get_items_from == \"Material Request\"",
+ "fieldname": "warehouse",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Warehouse",
+ "length": 0,
+ "no_copy": 0,
+ "options": "Warehouse",
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "print_hide_if_no_value": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
+ },
+ {
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "depends_on": "eval: doc.get_items_from == \"Sales Order\"",
"fieldname": "company",
"fieldtype": "Link",
"hidden": 0,
@@ -106,13 +146,15 @@
"in_filter": 0,
"in_list_view": 1,
"label": "Company",
+ "length": 0,
"no_copy": 0,
"options": "Company",
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 0,
"report_hide": 0,
- "reqd": 1,
+ "reqd": 0,
"search_index": 0,
"set_only_once": 0,
"unique": 0
@@ -127,9 +169,11 @@
"ignore_user_permissions": 0,
"in_filter": 0,
"in_list_view": 0,
+ "length": 0,
"no_copy": 0,
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 0,
@@ -149,9 +193,11 @@
"in_filter": 0,
"in_list_view": 0,
"label": "From Date",
+ "length": 0,
"no_copy": 0,
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 0,
@@ -170,9 +216,11 @@
"in_filter": 0,
"in_list_view": 0,
"label": "To Date",
+ "length": 0,
"no_copy": 0,
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 0,
@@ -184,16 +232,19 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
+ "depends_on": "eval: doc.get_items_from == \"Sales Order\"",
"fieldname": "section_break1",
"fieldtype": "Section Break",
"hidden": 0,
"ignore_user_permissions": 0,
"in_filter": 0,
"in_list_view": 0,
+ "length": 0,
"no_copy": 0,
- "options": "Simple",
+ "options": "",
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 0,
@@ -213,10 +264,12 @@
"in_filter": 0,
"in_list_view": 0,
"label": "Get Sales Orders",
+ "length": 0,
"no_copy": 0,
- "options": "get_open_sales_orders",
+ "options": "",
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 0,
@@ -235,10 +288,87 @@
"in_filter": 0,
"in_list_view": 0,
"label": "Sales Orders",
+ "length": 0,
"no_copy": 0,
"options": "Production Plan Sales Order",
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
+ },
+ {
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "depends_on": "eval: doc.get_items_from == \"Material Request\"",
+ "fieldname": "section_break_16",
+ "fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "length": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "print_hide_if_no_value": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
+ },
+ {
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "description": "Pull Material Request of type Manufacture based on the above criteria",
+ "fieldname": "get_material_request",
+ "fieldtype": "Button",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Get Material Request",
+ "length": 0,
+ "no_copy": 0,
+ "options": "",
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "print_hide_if_no_value": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
+ },
+ {
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "fieldname": "material_requests",
+ "fieldtype": "Table",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Material Requests",
+ "length": 0,
+ "no_copy": 0,
+ "options": "Production Plan Material Request",
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 0,
@@ -257,9 +387,11 @@
"in_filter": 0,
"in_list_view": 0,
"label": "Select Items",
+ "length": 0,
"no_copy": 0,
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 0,
@@ -271,17 +403,20 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
- "fieldname": "get_items_from_so",
+ "depends_on": "get_items_from",
+ "fieldname": "get_items",
"fieldtype": "Button",
"hidden": 0,
"ignore_user_permissions": 0,
"in_filter": 0,
"in_list_view": 0,
- "label": "Get Items From Sales Orders",
+ "label": "Get Items",
+ "length": 0,
"no_copy": 0,
- "options": "get_items_from_so",
+ "options": "",
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 0,
@@ -294,6 +429,7 @@
"bold": 0,
"collapsible": 0,
"default": "1",
+ "depends_on": "get_items_from",
"description": "If checked, BOM for sub-assembly items will be considered for getting raw materials. Otherwise, all sub-assembly items will be treated as a raw material.",
"fieldname": "use_multi_level_bom",
"fieldtype": "Check",
@@ -302,9 +438,11 @@
"in_filter": 0,
"in_list_view": 0,
"label": "Use Multi-Level BOM",
+ "length": 0,
"no_copy": 0,
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 0,
@@ -323,10 +461,12 @@
"in_filter": 0,
"in_list_view": 0,
"label": "Items",
+ "length": 0,
"no_copy": 0,
"options": "Production Plan Item",
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 0,
@@ -346,9 +486,11 @@
"in_filter": 0,
"in_list_view": 0,
"label": "Production Orders",
+ "length": 0,
"no_copy": 0,
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 0,
@@ -361,17 +503,19 @@
"bold": 0,
"collapsible": 0,
"description": "Separate production order will be created for each finished good item.",
- "fieldname": "raise_production_order",
+ "fieldname": "create_production_order",
"fieldtype": "Button",
"hidden": 0,
"ignore_user_permissions": 0,
"in_filter": 0,
"in_list_view": 0,
"label": "Create Production Orders",
+ "length": 0,
"no_copy": 0,
- "options": "raise_production_order",
+ "options": "",
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 0,
@@ -383,6 +527,7 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
+ "depends_on": "",
"fieldname": "sb5",
"fieldtype": "Section Break",
"hidden": 0,
@@ -390,9 +535,11 @@
"in_filter": 0,
"in_list_view": 0,
"label": "Material Requirement",
+ "length": 0,
"no_copy": 0,
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 0,
@@ -411,10 +558,12 @@
"in_filter": 0,
"in_list_view": 0,
"label": "Material Request For Warehouse",
+ "length": 0,
"no_copy": 0,
"options": "Warehouse",
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 0,
@@ -427,17 +576,19 @@
"bold": 0,
"collapsible": 0,
"description": "Items to be requested which are \"Out of Stock\" considering all warehouses based on projected qty and minimum order qty",
- "fieldname": "raise_purchase_request",
+ "fieldname": "create_material_requests",
"fieldtype": "Button",
"hidden": 0,
"ignore_user_permissions": 0,
"in_filter": 0,
"in_list_view": 0,
"label": "Create Material Requests",
+ "length": 0,
"no_copy": 0,
"options": "",
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 0,
@@ -457,9 +608,11 @@
"in_filter": 0,
"in_list_view": 0,
"label": "Download Materials Required",
+ "length": 0,
"no_copy": 0,
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 0,
@@ -477,7 +630,8 @@
"is_submittable": 0,
"issingle": 1,
"istable": 0,
- "modified": "2015-06-05 11:44:31.629114",
+ "max_attachments": 0,
+ "modified": "2016-02-23 02:37:51.260645",
"modified_by": "Administrator",
"module": "Manufacturing",
"name": "Production Planning Tool",
@@ -505,5 +659,6 @@
}
],
"read_only": 1,
- "read_only_onload": 0
+ "read_only_onload": 0,
+ "sort_order": "ASC"
}
\ No newline at end of file
diff --git a/erpnext/manufacturing/doctype/production_planning_tool/production_planning_tool.py b/erpnext/manufacturing/doctype/production_planning_tool/production_planning_tool.py
index 46396ba..ea7e660 100644
--- a/erpnext/manufacturing/doctype/production_planning_tool/production_planning_tool.py
+++ b/erpnext/manufacturing/doctype/production_planning_tool/production_planning_tool.py
@@ -16,25 +16,8 @@
super(ProductionPlanningTool, self).__init__(arg1, arg2)
self.item_dict = {}
- def get_so_details(self, so):
- """Pull other details from so"""
- so = frappe.db.sql("""select transaction_date, customer, base_grand_total
- from `tabSales Order` where name = %s""", so, as_dict = 1)
- ret = {
- 'sales_order_date': so and so[0]['transaction_date'] or '',
- 'customer' : so[0]['customer'] or '',
- 'grand_total': so[0]['base_grand_total']
- }
- return ret
-
- def get_item_details(self, item_code):
- return get_item_details(item_code)
-
- def clear_so_table(self):
- self.set('sales_orders', [])
-
- def clear_item_table(self):
- self.set('items', [])
+ def clear_table(self, table_name):
+ self.set(table_name, [])
def validate_company(self):
if not self.company:
@@ -78,9 +61,9 @@
def add_so_in_table(self, open_so):
""" Add sales orders in the table"""
- self.clear_so_table()
+ self.clear_table("sales_orders")
- so_list = [d.sales_order for d in self.get('sales_orders')]
+ so_list = []
for r in open_so:
if cstr(r['name']) not in so_list:
pp_so = self.append('sales_orders', {})
@@ -88,19 +71,59 @@
pp_so.sales_order_date = cstr(r['transaction_date'])
pp_so.customer = cstr(r['customer'])
pp_so.grand_total = flt(r['base_grand_total'])
+
+ def get_pending_material_requests(self):
+ """ Pull Material Requests that are pending based on criteria selected"""
+ mr_filter = item_filter = ""
+ if self.from_date:
+ mr_filter += " and mr.transaction_date >= %(from_date)s"
+ if self.to_date:
+ mr_filter += " and mr.transaction_date <= %(to_date)s"
+ if self.warehouse:
+ mr_filter += " and mr_item.warehouse = %(warehouse)s"
+
+ if self.fg_item:
+ item_filter += " and item.name = %(item)s"
- def get_items_from_so(self):
- """ Pull items from Sales Order, only proction item
- and subcontracted item will be pulled from Packing item
- and add items in the table
- """
- items = self.get_items()
- self.add_items(items)
+ pending_mr = frappe.db.sql("""
+ select distinct mr.name, mr.transaction_date
+ from `tabMaterial Request` mr, `tabMaterial Request Item` mr_item
+ where mr_item.parent = mr.name
+ and mr.material_request_type = "Manufacture"
+ and mr.docstatus = 1
+ and mr_item.qty > mr_item.ordered_qty {0}
+ and (exists (select name from `tabItem` item where item.name=mr_item.item_code
+ and (item.is_pro_applicable = 1 or item.is_sub_contracted_item = 1 {1})))
+ """.format(mr_filter, item_filter), {
+ "from_date": self.from_date,
+ "to_date": self.to_date,
+ "warehouse": self.warehouse,
+ "item": self.fg_item
+ }, as_dict=1)
+
+ self.add_mr_in_table(pending_mr)
+
+ def add_mr_in_table(self, pending_mr):
+ """ Add Material Requests in the table"""
+ self.clear_table("material_requests")
+
+ mr_list = []
+ for r in pending_mr:
+ if cstr(r['name']) not in mr_list:
+ mr = self.append('material_requests', {})
+ mr.material_request = r['name']
+ mr.material_request_date = cstr(r['transaction_date'])
def get_items(self):
- so_list = filter(None, [d.sales_order for d in self.get('sales_orders')])
+ if self.get_items_from == "Sales Order":
+ self.get_so_items()
+ elif self.get_items_from == "Material Request":
+ self.get_mr_items()
+
+ def get_so_items(self):
+ so_list = [d.sales_order for d in self.get('sales_orders') if d.sales_order]
if not so_list:
- msgprint(_("Please enter sales order in the above table"))
+ msgprint(_("Please enter Sales Orders in the above table"))
return []
item_condition = ""
@@ -131,101 +154,155 @@
or item.is_sub_contracted_item = 1)) %s""" % \
(", ".join(["%s"] * len(so_list)), item_condition), tuple(so_list), as_dict=1)
- return items + packed_items
+ self.add_items(items + packed_items)
+
+ def get_mr_items(self):
+ mr_list = [d.material_request for d in self.get('material_requests') if d.material_request]
+ if not mr_list:
+ msgprint(_("Please enter Material Requests in the above table"))
+ return []
+ item_condition = ""
+ if self.fg_item:
+ item_condition = ' and mr_item.item_code = "' + frappe.db.escape(self.fg_item, percent=False) + '"'
+
+ items = frappe.db.sql("""select distinct parent, name, item_code, warehouse,
+ (qty - ordered_qty) as pending_qty
+ from `tabMaterial Request Item` mr_item
+ where parent in (%s) and docstatus = 1 and qty > ordered_qty
+ and exists (select * from `tabItem` item where item.name=mr_item.item_code
+ and (item.is_pro_applicable = 1
+ or item.is_sub_contracted_item = 1)) %s""" % \
+ (", ".join(["%s"] * len(mr_list)), item_condition), tuple(mr_list), as_dict=1)
+
+ self.add_items(items)
+
def add_items(self, items):
- self.clear_item_table()
-
+ self.clear_table("items")
for p in items:
item_details = get_item_details(p['item_code'])
pi = self.append('items', {})
- pi.sales_order = p['parent']
pi.warehouse = p['warehouse']
pi.item_code = p['item_code']
pi.description = item_details and item_details.description or ''
pi.stock_uom = item_details and item_details.stock_uom or ''
pi.bom_no = item_details and item_details.bom_no or ''
- pi.so_pending_qty = flt(p['pending_qty'])
pi.planned_qty = flt(p['pending_qty'])
-
+ pi.pending_qty = flt(p['pending_qty'])
+
+ if self.get_items_from == "Sales Order":
+ pi.sales_order = p['parent']
+ elif self.get_items_from == "Material Request":
+ pi.material_request = p['parent']
+ pi.material_request_item = p['name']
+
def validate_data(self):
self.validate_company()
for d in self.get('items'):
- validate_bom_no(d.item_code, d.bom_no)
+ if not d.bom_no:
+ frappe.throw(_("Please select BOM for Item in Row {0}".format(d.idx)))
+ else:
+ validate_bom_no(d.item_code, d.bom_no)
+
if not flt(d.planned_qty):
frappe.throw(_("Please enter Planned Qty for Item {0} at row {1}").format(d.item_code, d.idx))
- def raise_production_order(self):
+ def raise_production_orders(self):
"""It will raise production order (Draft) for all distinct FG items"""
self.validate_data()
from erpnext.utilities.transaction_base import validate_uom_is_integer
validate_uom_is_integer(self, "stock_uom", "planned_qty")
- items = self.get_distinct_items_and_boms()[1]
- pro = self.create_production_order(items)
- if pro:
- pro = ["""<a href="#Form/Production Order/%s" target="_blank">%s</a>""" % \
- (p, p) for p in pro]
- msgprint(_("{0} created").format(comma_and(pro)))
+ items = self.get_production_items()
+
+ pro_list = []
+ frappe.flags.mute_messages = True
+
+ for key in items:
+ production_order = self.create_production_order(items[key])
+ if production_order:
+ pro_list.append(production_order)
+
+ frappe.flags.mute_messages = False
+
+ if pro_list:
+ pro_list = ["""<a href="#Form/Production Order/%s" target="_blank">%s</a>""" % \
+ (p, p) for p in pro_list]
+ msgprint(_("{0} created").format(comma_and(pro_list)))
else :
msgprint(_("No Production Orders created"))
- def get_distinct_items_and_boms(self):
- """ Club similar BOM and item for processing
+ def get_production_items(self):
+ item_dict = {}
+ for d in self.get("items"):
+ item_details= {
+ "production_item" : d.item_code,
+ "sales_order" : d.sales_order,
+ "material_request" : d.material_request,
+ "material_request_item" : d.material_request_item,
+ "bom_no" : d.bom_no,
+ "description" : d.description,
+ "stock_uom" : d.stock_uom,
+ "company" : self.company,
+ "wip_warehouse" : "",
+ "fg_warehouse" : d.warehouse,
+ "status" : "Draft",
+ }
+
+ """ Club similar BOM and item for processing in case of Sales Orders """
+ if self.get_items_from == "Material Request":
+ item_details.update({
+ "qty": d.planned_qty
+ })
+ item_dict[(d.item_code, d.material_request_item, d.warehouse)] = item_details
+
+ else:
+ item_details.update({
+ "qty":flt(item_dict.get((d.item_code, d.sales_order, d.warehouse),{})
+ .get("qty")) + flt(d.planned_qty)
+ })
+ item_dict[(d.item_code, d.sales_order, d.warehouse)] = item_details
+
+ return item_dict
+
+ def create_production_order(self, item_dict):
+ """Create production order. Called from Production Planning Tool"""
+ from erpnext.manufacturing.doctype.production_order.production_order import OverProductionError, get_default_warehouse
+ warehouse = get_default_warehouse()
+ pro = frappe.new_doc("Production Order")
+ pro.update(item_dict)
+ pro.set_production_order_operations()
+ if warehouse:
+ pro.wip_warehouse = warehouse.get('wip_warehouse')
+ if not pro.fg_warehouse:
+ pro.fg_warehouse = warehouse.get('fg_warehouse')
+
+ try:
+ pro.insert()
+ return pro.name
+ except OverProductionError:
+ pass
+
+ def get_so_wise_planned_qty(self):
+ """
bom_dict {
bom_no: ['sales_order', 'qty']
}
"""
- item_dict, bom_dict = {}, {}
+ bom_dict = {}
for d in self.get("items"):
- if d.bom_no:
+ if self.get_items_from == "Material Request":
+ bom_dict.setdefault(d.bom_no, []).append([d.material_request_item, flt(d.planned_qty)])
+ else:
bom_dict.setdefault(d.bom_no, []).append([d.sales_order, flt(d.planned_qty)])
- if frappe.db.get_value("Item", d.item_code, "is_pro_applicable"):
- item_dict[(d.item_code, d.sales_order, d.warehouse)] = {
- "production_item" : d.item_code,
- "sales_order" : d.sales_order,
- "qty" : flt(item_dict.get((d.item_code, d.sales_order, d.warehouse),
- {}).get("qty")) + flt(d.planned_qty),
- "bom_no" : d.bom_no,
- "description" : d.description,
- "stock_uom" : d.stock_uom,
- "company" : self.company,
- "wip_warehouse" : "",
- "fg_warehouse" : d.warehouse,
- "status" : "Draft",
- }
- return bom_dict, item_dict
-
- def create_production_order(self, items):
- """Create production order. Called from Production Planning Tool"""
- from erpnext.manufacturing.doctype.production_order.production_order import OverProductionError, get_default_warehouse
- warehouse = get_default_warehouse()
- pro_list = []
- for key in items:
- pro = frappe.new_doc("Production Order")
- pro.update(items[key])
- pro.set_production_order_operations()
- if warehouse:
- pro.wip_warehouse = warehouse.get('wip_warehouse')
- if not pro.fg_warehouse:
- pro.fg_warehouse = warehouse.get('fg_warehouse')
- frappe.flags.mute_messages = True
-
- try:
- pro.insert()
- pro_list.append(pro.name)
- except OverProductionError:
- pass
-
- frappe.flags.mute_messages = False
- return pro_list
-
+ return bom_dict
+
def download_raw_materials(self):
""" Create csv data for required raw material to produce finished goods"""
self.validate_data()
- bom_dict = self.get_distinct_items_and_boms()[0]
+ bom_dict = self.get_so_wise_planned_qty()
self.get_raw_materials(bom_dict)
return self.get_csv()
@@ -265,7 +342,6 @@
and item.is_stock_item = 1
group by item_code""", bom, as_dict=1):
bom_wise_item_details.setdefault(d.item_code, d)
-
for item, item_details in bom_wise_item_details.items():
for so_qty in so_wise_qty:
item_list.append([item, flt(item_details.qty) * so_qty[1], item_details.description,
@@ -295,7 +371,7 @@
return item_list
- def raise_purchase_request(self):
+ def raise_material_requests(self):
"""
Raise Material Request if projected qty is less than qty required
Requested qty should be shortage qty considering minimum order qty
@@ -304,11 +380,11 @@
if not self.purchase_request_for_warehouse:
frappe.throw(_("Please enter Warehouse for which Material Request will be raised"))
- bom_dict = self.get_distinct_items_and_boms()[0]
+ bom_dict = self.get_so_wise_planned_qty()
self.get_raw_materials(bom_dict)
if self.item_dict:
- self.insert_purchase_request()
+ self.create_material_request()
def get_requested_items(self):
item_projected_qty = self.get_projected_qty()
@@ -329,6 +405,8 @@
for item_details in so_item_qty:
if requested_qty:
sales_order = item_details[4] or "No Sales Order"
+ if self.get_items_from == "Material Request":
+ sales_order = "No Sales Order"
if requested_qty <= item_details[0]:
adjusted_qty = requested_qty
else:
@@ -355,15 +433,15 @@
return dict(item_projected_qty)
- def insert_purchase_request(self):
+ def create_material_request(self):
items_to_be_requested = self.get_requested_items()
- purchase_request_list = []
+ material_request_list = []
if items_to_be_requested:
for item in items_to_be_requested:
item_wrapper = frappe.get_doc("Item", item)
- pr_doc = frappe.new_doc("Material Request")
- pr_doc.update({
+ material_request = frappe.new_doc("Material Request")
+ material_request.update({
"transaction_date": nowdate(),
"status": "Draft",
"company": self.company,
@@ -371,7 +449,7 @@
"material_request_type": "Purchase"
})
for sales_order, requested_qty in items_to_be_requested[item].items():
- pr_doc.append("items", {
+ material_request.append("items", {
"doctype": "Material Request Item",
"__islocal": 1,
"item_code": item,
@@ -383,16 +461,16 @@
"qty": requested_qty,
"schedule_date": add_days(nowdate(), cint(item_wrapper.lead_time_days)),
"warehouse": self.purchase_request_for_warehouse,
- "sales_order_no": sales_order if sales_order!="No Sales Order" else None
+ "sales_order": sales_order if sales_order!="No Sales Order" else None
})
- pr_doc.flags.ignore_permissions = 1
- pr_doc.submit()
- purchase_request_list.append(pr_doc.name)
+ material_request.flags.ignore_permissions = 1
+ material_request.submit()
+ material_request_list.append(material_request.name)
- if purchase_request_list:
- pur_req = ["""<a href="#Form/Material Request/%s" target="_blank">%s</a>""" % \
- (p, p) for p in purchase_request_list]
- msgprint(_("Material Requests {0} created").format(comma_and(pur_req)))
+ if material_request_list:
+ message = ["""<a href="#Form/Material Request/%s" target="_blank">%s</a>""" % \
+ (p, p) for p in material_request_list]
+ msgprint(_("Material Requests {0} created").format(comma_and(message)))
else:
msgprint(_("Nothing to request"))
diff --git a/erpnext/patches.txt b/erpnext/patches.txt
index 2239f0a..e5ec454 100644
--- a/erpnext/patches.txt
+++ b/erpnext/patches.txt
@@ -248,3 +248,4 @@
erpnext.patches.v6_20.set_party_account_currency_in_orders
erpnext.patches.v6_19.comment_feed_communication
erpnext.patches.v6_21.fix_reorder_level
+erpnext.patches.v6_21.rename_material_request_fields
diff --git a/erpnext/patches/v6_21/__init__.py b/erpnext/patches/v6_21/__init__.py
index e69de29..baffc48 100644
--- a/erpnext/patches/v6_21/__init__.py
+++ b/erpnext/patches/v6_21/__init__.py
@@ -0,0 +1 @@
+from __future__ import unicode_literals
diff --git a/erpnext/patches/v6_21/rename_material_request_fields.py b/erpnext/patches/v6_21/rename_material_request_fields.py
new file mode 100644
index 0000000..07be27a
--- /dev/null
+++ b/erpnext/patches/v6_21/rename_material_request_fields.py
@@ -0,0 +1,14 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
+# License: GNU General Public License v3. See license.txt
+
+from __future__ import unicode_literals
+import frappe
+from frappe.model.utils.rename_field import rename_field
+
+def execute():
+ frappe.reload_doc('stock', 'doctype', 'material_request_item')
+ rename_field("Material Request Item", "sales_order_no", "sales_order")
+
+ frappe.reload_doc('support', 'doctype', 'maintenance_schedule_item')
+ rename_field("Maintenance Schedule Item", "prevdoc_docname", "sales_order")
+
\ No newline at end of file
diff --git a/erpnext/selling/doctype/sales_order/sales_order.py b/erpnext/selling/doctype/sales_order/sales_order.py
index d735bea..590f749 100644
--- a/erpnext/selling/doctype/sales_order/sales_order.py
+++ b/erpnext/selling/doctype/sales_order/sales_order.py
@@ -193,7 +193,7 @@
#check maintenance schedule
submit_ms = frappe.db.sql_list("""select t1.name from `tabMaintenance Schedule` t1,
`tabMaintenance Schedule Item` t2
- where t2.parent=t1.name and t2.prevdoc_docname = %s and t1.docstatus = 1""", self.name)
+ where t2.parent=t1.name and t2.sales_order = %s and t1.docstatus = 1""", self.name)
if submit_ms:
frappe.throw(_("Maintenance Schedule {0} must be cancelled before cancelling this Sales Order").format(comma_and(submit_ms)))
@@ -353,7 +353,7 @@
item_table: {
"doctype": "Material Request Item",
"field_map": {
- "parent": "sales_order_no",
+ "parent": "sales_order",
"stock_uom": "uom"
}
}
@@ -464,15 +464,12 @@
def make_maintenance_schedule(source_name, target_doc=None):
maint_schedule = frappe.db.sql("""select t1.name
from `tabMaintenance Schedule` t1, `tabMaintenance Schedule Item` t2
- where t2.parent=t1.name and t2.prevdoc_docname=%s and t1.docstatus=1""", source_name)
+ where t2.parent=t1.name and t2.sales_order=%s and t1.docstatus=1""", source_name)
if not maint_schedule:
doclist = get_mapped_doc("Sales Order", source_name, {
"Sales Order": {
"doctype": "Maintenance Schedule",
- "field_map": {
- "name": "sales_order_no"
- },
"validation": {
"docstatus": ["=", 1]
}
@@ -480,7 +477,7 @@
"Sales Order Item": {
"doctype": "Maintenance Schedule Item",
"field_map": {
- "parent": "prevdoc_docname"
+ "parent": "sales_order"
},
"add_if_empty": True
}
@@ -499,9 +496,6 @@
doclist = get_mapped_doc("Sales Order", source_name, {
"Sales Order": {
"doctype": "Maintenance Visit",
- "field_map": {
- "name": "sales_order_no"
- },
"validation": {
"docstatus": ["=", 1]
}
diff --git a/erpnext/selling/report/pending_so_items_for_purchase_request/pending_so_items_for_purchase_request.json b/erpnext/selling/report/pending_so_items_for_purchase_request/pending_so_items_for_purchase_request.json
index 6d431fa..6b19b63 100644
--- a/erpnext/selling/report/pending_so_items_for_purchase_request/pending_so_items_for_purchase_request.json
+++ b/erpnext/selling/report/pending_so_items_for_purchase_request/pending_so_items_for_purchase_request.json
@@ -12,7 +12,7 @@
"module": "Selling",
"name": "Pending SO Items For Purchase Request",
"owner": "Administrator",
- "query": "select so_item.item_code as \"Item Code:Link/Item:120\",\n so_item.item_name as \"Item Name::120\",\n so_item.description as \"Description::120\",\n so.`name` as \"S.O. No.:Link/Sales Order:120\",\n so.`transaction_date` as \"Date:Date:120\",\n mr.name as \"Material Request:Link/Material Request:120\",\n so.customer as \"Customer:Link/Customer:120\",\n so.territory as \"Terretory:Link/Territory:120\",\n sum(so_item.qty) as \"SO Qty:Float:100 \",\n sum(mr_item.qty) as \"Requested Qty:Float:100\",\n sum(so_item.qty) - sum(mr_item.qty) as \"Pending Qty:Float:100 \", \n so.company as \"Company:Link/Company:\"\nfrom\n `tabSales Order` so, `tabSales Order Item` so_item, \n `tabMaterial Request` mr, `tabMaterial Request Item` mr_item\nwhere \n so_item.`parent` = so.`name` \n and mr_item.parent = mr.name\n and mr_item.sales_order_no = so.name\n and mr_item.item_code = so_item.item_code\n and so.docstatus = 1 and so.status != \"Stopped\" \n and mr.docstatus = 1 and mr.status != \"Stopped\"\ngroup by so.name, so_item.item_code\nhaving sum(so_item.qty) > sum(mr_item.qty)\norder by so.name desc, so_item.item_code asc",
+ "query": "select so_item.item_code as \"Item Code:Link/Item:120\",\n so_item.item_name as \"Item Name::120\",\n so_item.description as \"Description::120\",\n so.`name` as \"S.O. No.:Link/Sales Order:120\",\n so.`transaction_date` as \"Date:Date:120\",\n mr.name as \"Material Request:Link/Material Request:120\",\n so.customer as \"Customer:Link/Customer:120\",\n so.territory as \"Terretory:Link/Territory:120\",\n sum(so_item.qty) as \"SO Qty:Float:100 \",\n sum(mr_item.qty) as \"Requested Qty:Float:100\",\n sum(so_item.qty) - sum(mr_item.qty) as \"Pending Qty:Float:100 \", \n so.company as \"Company:Link/Company:\"\nfrom\n `tabSales Order` so, `tabSales Order Item` so_item, \n `tabMaterial Request` mr, `tabMaterial Request Item` mr_item\nwhere \n so_item.`parent` = so.`name` \n and mr_item.parent = mr.name\n and mr_item.sales_order = so.name\n and mr_item.item_code = so_item.item_code\n and so.docstatus = 1 and so.status != \"Stopped\" \n and mr.docstatus = 1 and mr.status != \"Stopped\"\ngroup by so.name, so_item.item_code\nhaving sum(so_item.qty) > sum(mr_item.qty)\norder by so.name desc, so_item.item_code asc",
"ref_doctype": "Sales Order",
"report_name": "Pending SO Items For Purchase Request",
"report_type": "Query Report"
diff --git a/erpnext/stock/doctype/bin/bin.json b/erpnext/stock/doctype/bin/bin.json
index 37fe0a4..9eb3995 100644
--- a/erpnext/stock/doctype/bin/bin.json
+++ b/erpnext/stock/doctype/bin/bin.json
@@ -26,6 +26,7 @@
"options": "Warehouse",
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 1,
"report_hide": 0,
"reqd": 0,
@@ -51,6 +52,7 @@
"options": "Item",
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 1,
"report_hide": 0,
"reqd": 0,
@@ -76,6 +78,7 @@
"oldfieldtype": "Currency",
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 1,
"report_hide": 0,
"reqd": 0,
@@ -101,6 +104,7 @@
"oldfieldtype": "Currency",
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 1,
"report_hide": 0,
"reqd": 0,
@@ -126,6 +130,7 @@
"oldfieldtype": "Currency",
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 1,
"report_hide": 0,
"reqd": 0,
@@ -144,13 +149,14 @@
"ignore_user_permissions": 0,
"in_filter": 0,
"in_list_view": 0,
- "label": "Quantity Requested for Purchase",
+ "label": "Requested Quantity",
"length": 0,
"no_copy": 0,
"oldfieldname": "indented_qty",
"oldfieldtype": "Currency",
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 1,
"report_hide": 0,
"reqd": 0,
@@ -175,6 +181,7 @@
"oldfieldtype": "Currency",
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 1,
"report_hide": 0,
"reqd": 0,
@@ -199,6 +206,7 @@
"oldfieldtype": "Currency",
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 1,
"report_hide": 0,
"reqd": 0,
@@ -223,6 +231,7 @@
"oldfieldtype": "Currency",
"permlevel": 0,
"print_hide": 1,
+ "print_hide_if_no_value": 0,
"read_only": 1,
"report_hide": 1,
"reqd": 0,
@@ -248,6 +257,7 @@
"options": "UOM",
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 1,
"report_hide": 0,
"reqd": 0,
@@ -272,6 +282,7 @@
"oldfieldtype": "Currency",
"permlevel": 0,
"print_hide": 1,
+ "print_hide_if_no_value": 0,
"read_only": 1,
"report_hide": 1,
"reqd": 0,
@@ -296,6 +307,7 @@
"oldfieldtype": "Currency",
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 1,
"report_hide": 0,
"reqd": 0,
@@ -320,6 +332,7 @@
"oldfieldtype": "Currency",
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 1,
"report_hide": 0,
"reqd": 0,
@@ -337,7 +350,7 @@
"issingle": 0,
"istable": 0,
"max_attachments": 0,
- "modified": "2015-11-16 06:29:42.363502",
+ "modified": "2016-02-10 02:39:45.738623",
"modified_by": "Administrator",
"module": "Stock",
"name": "Bin",
@@ -406,5 +419,6 @@
],
"read_only": 0,
"read_only_onload": 0,
- "search_fields": "item_code,warehouse"
+ "search_fields": "item_code,warehouse",
+ "sort_order": "ASC"
}
\ No newline at end of file
diff --git a/erpnext/stock/doctype/delivery_note/delivery_note.js b/erpnext/stock/doctype/delivery_note/delivery_note.js
index 679d910..7407975 100644
--- a/erpnext/stock/doctype/delivery_note/delivery_note.js
+++ b/erpnext/stock/doctype/delivery_note/delivery_note.js
@@ -193,48 +193,6 @@
erpnext.stock.delivery_note.set_print_hide(doc, cdt, cdn);
}
-
-//****************** For print sales order no and date*************************
-cur_frm.pformat.sales_order_no= function(doc, cdt, cdn){
- //function to make row of table
-
- var make_row = function(title,val1, val2, bold){
- var bstart = '<b>'; var bend = '</b>';
-
- return '<tr><td style="width:39%;">'+(bold?bstart:'')+title+(bold?bend:'')+'</td>'
- +'<td style="width:61%;text-align:left;">'+val1+(val2?' ('+dateutil.str_to_user(val2)+')':'')+'</td>'
- +'</tr>'
- }
-
- out ='';
-
- var cl = doc.items || [];
-
- // outer table
- var out='<div><table class="noborder" style="width:100%"><tr><td style="width: 50%"></td><td>';
-
- // main table
- out +='<table class="noborder" style="width:100%">';
-
- // add rows
- if(cl.length){
- prevdoc_list = new Array();
- for(var i=0;i<cl.length;i++){
- if(cl[i].against_sales_order && prevdoc_list.indexOf(cl[i].against_sales_order) == -1) {
- prevdoc_list.push(cl[i].against_sales_order);
- if(prevdoc_list.length ==1)
- out += make_row("Sales Order", cl[i].against_sales_order, null, 0);
- else
- out += make_row('', cl[i].against_sales_order, null,0);
- }
- }
- }
-
- out +='</table></td></tr></table></div>';
-
- return out;
-}
-
cur_frm.cscript.on_submit = function(doc, cdt, cdn) {
if(cint(frappe.boot.notification_settings.delivery_note)) {
cur_frm.email_doc(frappe.boot.notification_settings.delivery_note_message);
diff --git a/erpnext/stock/doctype/material_request/material_request.js b/erpnext/stock/doctype/material_request/material_request.js
index e22e3cd..a7ca867 100644
--- a/erpnext/stock/doctype/material_request/material_request.js
+++ b/erpnext/stock/doctype/material_request/material_request.js
@@ -52,7 +52,11 @@
if(doc.material_request_type === "Purchase")
cur_frm.add_custom_button(__("Supplier Quotation"),
this.make_supplier_quotation, __("Make"));
-
+
+ if(doc.material_request_type === "Manufacture" && doc.status === "Submitted")
+ cur_frm.add_custom_button(__("Production Order"),
+ this.raise_production_orders, __("Make"));
+
cur_frm.page.set_inner_btn_group_as_primary(__("Make"));
// stop
@@ -165,6 +169,16 @@
method: "erpnext.stock.doctype.material_request.material_request.make_stock_entry",
frm: cur_frm
});
+ },
+
+
+ raise_production_orders: function() {
+ frappe.call({
+ method:"erpnext.stock.doctype.material_request.material_request.raise_production_orders",
+ args: {
+ "material_request": cur_frm.doc.name
+ }
+ });
}
});
diff --git a/erpnext/stock/doctype/material_request/material_request.json b/erpnext/stock/doctype/material_request/material_request.json
index 41b6672..7234522 100644
--- a/erpnext/stock/doctype/material_request/material_request.json
+++ b/erpnext/stock/doctype/material_request/material_request.json
@@ -70,7 +70,7 @@
"label": "Type",
"length": 0,
"no_copy": 0,
- "options": "Purchase\nMaterial Transfer\nMaterial Issue",
+ "options": "Purchase\nMaterial Transfer\nMaterial Issue\nManufacture",
"permlevel": 0,
"print_hide": 0,
"print_hide_if_no_value": 0,
@@ -554,7 +554,7 @@
"istable": 0,
"max_attachments": 0,
"menu_index": 0,
- "modified": "2015-12-01 00:49:28.148834",
+ "modified": "2016-01-19 06:56:12.592797",
"modified_by": "Administrator",
"module": "Stock",
"name": "Material Request",
diff --git a/erpnext/stock/doctype/material_request/material_request.py b/erpnext/stock/doctype/material_request/material_request.py
index 60bfb8c..95b2dd1 100644
--- a/erpnext/stock/doctype/material_request/material_request.py
+++ b/erpnext/stock/doctype/material_request/material_request.py
@@ -7,11 +7,12 @@
from __future__ import unicode_literals
import frappe
-from frappe.utils import cstr, flt, getdate
-from frappe import _
+from frappe.utils import cstr, flt, getdate, new_line_sep
+from frappe import msgprint, _
from frappe.model.mapper import get_mapped_doc
from erpnext.stock.stock_balance import update_bin_qty, get_indented_qty
from erpnext.controllers.buying_controller import BuyingController
+from erpnext.manufacturing.doctype.production_order.production_order import get_item_details
form_grid_templates = {
@@ -28,20 +29,20 @@
def validate_qty_against_so(self):
so_items = {} # Format --> {'SO/00001': {'Item/001': 120, 'Item/002': 24}}
for d in self.get('items'):
- if d.sales_order_no:
- if not so_items.has_key(d.sales_order_no):
- so_items[d.sales_order_no] = {d.item_code: flt(d.qty)}
+ if d.sales_order:
+ if not so_items.has_key(d.sales_order):
+ so_items[d.sales_order] = {d.item_code: flt(d.qty)}
else:
- if not so_items[d.sales_order_no].has_key(d.item_code):
- so_items[d.sales_order_no][d.item_code] = flt(d.qty)
+ if not so_items[d.sales_order].has_key(d.item_code):
+ so_items[d.sales_order][d.item_code] = flt(d.qty)
else:
- so_items[d.sales_order_no][d.item_code] += flt(d.qty)
+ so_items[d.sales_order][d.item_code] += flt(d.qty)
for so_no in so_items.keys():
for item in so_items[so_no].keys():
already_indented = frappe.db.sql("""select sum(qty)
from `tabMaterial Request Item`
- where item_code = %s and sales_order_no = %s and
+ where item_code = %s and sales_order = %s and
docstatus = 1 and parent != %s""", (item, so_no, self.name))
already_indented = already_indented and flt(already_indented[0][0]) or 0
@@ -70,9 +71,7 @@
from erpnext.controllers.status_updater import validate_status
validate_status(self.status, ["Draft", "Submitted", "Stopped", "Cancelled"])
-
- self.validate_value("material_request_type", "in", ["Purchase", "Material Transfer", "Material Issue"])
-
+
pc_obj = frappe.get_doc('Purchase Common')
pc_obj.validate_for_items(self)
@@ -108,35 +107,41 @@
frappe.db.set(self,'status','Cancelled')
- def update_completed_qty(self, mr_items=None):
+ def update_completed_qty(self, mr_items=None, update_modified=True):
if self.material_request_type == "Purchase":
return
if not mr_items:
mr_items = [d.name for d in self.get("items")]
- per_ordered = 0.0
for d in self.get("items"):
if d.name in mr_items:
- d.ordered_qty = flt(frappe.db.sql("""select sum(transfer_qty)
- from `tabStock Entry Detail` where material_request = %s
- and material_request_item = %s and docstatus = 1""",
- (self.name, d.name))[0][0])
+ if self.material_request_type in ("Material Issue", "Material Transfer"):
+ d.ordered_qty = flt(frappe.db.sql("""select sum(transfer_qty)
+ from `tabStock Entry Detail` where material_request = %s
+ and material_request_item = %s and docstatus = 1""",
+ (self.name, d.name))[0][0])
- if d.ordered_qty and d.ordered_qty > d.qty:
- frappe.throw(_("The total Issue / Transfer quantity {0} in Material Request {1} cannot be greater than requested quantity {2} for Item {3}").format(d.ordered_qty, d.parent, d.qty, d.item_code))
+ if d.ordered_qty and d.ordered_qty > d.qty:
+ frappe.throw(_("The total Issue / Transfer quantity {0} in Material Request {1} \
+ cannot be greater than requested quantity {2} for Item {3}").format(d.ordered_qty, d.parent, d.qty, d.item_code))
+
+ elif self.material_request_type == "Manufacture":
+ d.ordered_qty = flt(frappe.db.sql("""select sum(qty)
+ from `tabProduction Order` where material_request = %s
+ and material_request_item = %s and docstatus = 1""",
+ (self.name, d.name))[0][0])
frappe.db.set_value(d.doctype, d.name, "ordered_qty", d.ordered_qty)
-
- # note: if qty is 0, its row is still counted in len(self.get("items"))
- # hence adding 1 to per_ordered
- if (d.ordered_qty > d.qty) or not d.qty:
- per_ordered += 1.0
- elif d.qty > 0:
- per_ordered += flt(d.ordered_qty / flt(d.qty))
-
- self.per_ordered = flt((per_ordered / flt(len(self.get("items")))) * 100.0, 2)
- frappe.db.set_value(self.doctype, self.name, "per_ordered", self.per_ordered)
+
+ self._update_percent_field({
+ "target_dt": "Material Request Item",
+ "target_parent_dt": self.doctype,
+ "target_parent_field": "per_ordered",
+ "target_ref_field": "qty",
+ "target_field": "ordered_qty",
+ "name": self.name,
+ }, update_modified)
def update_requested_qty(self, mr_item_rows=None):
"""update requested qty (before ordered_qty is updated)"""
@@ -329,3 +334,36 @@
}, target_doc, set_missing_values)
return doclist
+
+@frappe.whitelist()
+def raise_production_orders(material_request):
+ mr= frappe.get_doc("Material Request", material_request)
+ errors =[]
+ production_orders = []
+ for d in mr.items:
+ if (d.qty - d.ordered_qty) >0 :
+ if frappe.db.get_value("Item", d.item_code, "is_pro_applicable"):
+ prod_order = frappe.new_doc("Production Order")
+ prod_order.production_item = d.item_code
+ prod_order.qty = d.qty - d.ordered_qty
+ prod_order.fg_warehouse = d.warehouse
+ prod_order.description = d.description
+ prod_order.stock_uom = d.uom
+ prod_order.expected_delivery_date = d.schedule_date
+ prod_order.sales_order = d.sales_order
+ prod_order.bom_no = get_item_details(d.item_code).bom_no
+ prod_order.material_request = mr.name
+ prod_order.material_request_item = d.name
+ prod_order.planned_start_date = mr.transaction_date
+ prod_order.company = mr.company
+ prod_order.save()
+ production_orders.append(prod_order.name)
+ else:
+ errors.append(d.item_code + " in Row " + cstr(d.idx))
+ if production_orders:
+ message = ["""<a href="#Form/Production Order/%s" target="_blank">%s</a>""" % \
+ (p, p) for p in production_orders]
+ msgprint(_("The following Production Orders were created : \n {0} ").format(new_line_sep(message)))
+ if errors:
+ msgprint(_("Productions Orders cannot be raised for : \n {0}").format(new_line_sep(errors)))
+ return production_orders
\ No newline at end of file
diff --git a/erpnext/stock/doctype/material_request/test_material_request.py b/erpnext/stock/doctype/material_request/test_material_request.py
index 37d985e..ebdfa5a 100644
--- a/erpnext/stock/doctype/material_request/test_material_request.py
+++ b/erpnext/stock/doctype/material_request/test_material_request.py
@@ -7,6 +7,7 @@
from __future__ import unicode_literals
import frappe, unittest
from frappe.utils import flt
+from erpnext.stock.doctype.material_request.material_request import raise_production_orders
class TestMaterialRequest(unittest.TestCase):
def setUp(self):
@@ -436,6 +437,36 @@
#testing bin requested qty after issuing stock against material request
self.assertEquals(_get_requested_qty(), existing_requested_qty)
+
+ def test_material_request_type_manufacture(self):
+ mr = frappe.copy_doc(test_records[1]).insert()
+ mr = frappe.get_doc("Material Request", mr.name)
+ mr.submit()
+ completed_qty = mr.items[0].ordered_qty
+ requested_qty = frappe.db.sql("""select indented_qty from `tabBin` where \
+ item_code= %s and warehouse= %s """, (mr.items[0].item_code, mr.items[0].warehouse))[0][0]
+
+ prod_order = raise_production_orders(mr.name)
+ po = frappe.get_doc("Production Order", prod_order[0])
+ po.wip_warehouse = "_Test Warehouse 1 - _TC"
+ po.submit()
+
+ mr = frappe.get_doc("Material Request", mr.name)
+ self.assertEquals(completed_qty + po.qty, mr.items[0].ordered_qty)
+
+ new_requested_qty = frappe.db.sql("""select indented_qty from `tabBin` where \
+ item_code= %s and warehouse= %s """, (mr.items[0].item_code, mr.items[0].warehouse))[0][0]
+
+ self.assertEquals(requested_qty - po.qty, new_requested_qty)
+
+ po.cancel()
+
+ mr = frappe.get_doc("Material Request", mr.name)
+ self.assertEquals(completed_qty, mr.items[0].ordered_qty)
+
+ new_requested_qty = frappe.db.sql("""select indented_qty from `tabBin` where \
+ item_code= %s and warehouse= %s """, (mr.items[0].item_code, mr.items[0].warehouse))[0][0]
+ self.assertEquals(requested_qty, new_requested_qty)
test_dependencies = ["Currency Exchange"]
test_records = frappe.get_test_records('Material Request')
diff --git a/erpnext/stock/doctype/material_request/test_records.json b/erpnext/stock/doctype/material_request/test_records.json
index 152d144..09d1912 100644
--- a/erpnext/stock/doctype/material_request/test_records.json
+++ b/erpnext/stock/doctype/material_request/test_records.json
@@ -30,5 +30,26 @@
"material_request_type": "Purchase",
"naming_series": "_T-Material Request-",
"transaction_date": "2013-02-18"
+ },
+ {
+ "company": "_Test Company",
+ "doctype": "Material Request",
+ "fiscal_year": "_Test Fiscal Year 2013",
+ "items": [
+ {
+ "description": "_Test FG Item",
+ "doctype": "Material Request Item",
+ "item_code": "_Test FG Item",
+ "item_name": "_Test FG Item",
+ "parentfield": "items",
+ "qty": 5,
+ "schedule_date": "2013-02-18",
+ "uom": "_Test UOM 1",
+ "warehouse": "_Test Warehouse - _TC"
+ }
+ ],
+ "material_request_type": "Manufacture",
+ "naming_series": "_T-Material Request-",
+ "transaction_date": "2013-02-18"
}
]
\ No newline at end of file
diff --git a/erpnext/stock/doctype/material_request_item/material_request_item.json b/erpnext/stock/doctype/material_request_item/material_request_item.json
index 3e26065..eecb42a 100644
--- a/erpnext/stock/doctype/material_request_item/material_request_item.json
+++ b/erpnext/stock/doctype/material_request_item/material_request_item.json
@@ -26,6 +26,7 @@
"options": "Item",
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"print_width": "100px",
"read_only": 0,
"report_hide": 0,
@@ -49,6 +50,7 @@
"no_copy": 0,
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 0,
@@ -73,6 +75,7 @@
"oldfieldtype": "Data",
"permlevel": 0,
"print_hide": 1,
+ "print_hide_if_no_value": 0,
"print_width": "100px",
"read_only": 0,
"report_hide": 0,
@@ -98,6 +101,7 @@
"permlevel": 0,
"precision": "",
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 0,
@@ -122,6 +126,7 @@
"oldfieldtype": "Text",
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"print_width": "250px",
"read_only": 0,
"report_hide": 0,
@@ -146,6 +151,7 @@
"permlevel": 0,
"precision": "",
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 0,
@@ -158,8 +164,8 @@
"bold": 0,
"collapsible": 0,
"fieldname": "image",
- "fieldtype": "Attach",
- "hidden": 1,
+ "fieldtype": "Attach Image",
+ "hidden": 0,
"ignore_user_permissions": 0,
"in_filter": 0,
"in_list_view": 0,
@@ -169,31 +175,8 @@
"permlevel": 0,
"precision": "",
"print_hide": 1,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0,
- "unique": 0
- },
- {
- "allow_on_submit": 0,
- "bold": 0,
- "collapsible": 0,
- "fieldname": "image_view",
- "fieldtype": "Image",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Image View",
- "length": 0,
- "no_copy": 0,
- "options": "image",
- "permlevel": 0,
- "precision": "",
- "print_hide": 0,
- "read_only": 0,
+ "print_hide_if_no_value": 0,
+ "read_only": 1,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
@@ -215,6 +198,7 @@
"no_copy": 0,
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 0,
@@ -239,6 +223,7 @@
"oldfieldtype": "Currency",
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"print_width": "80px",
"read_only": 0,
"report_hide": 0,
@@ -266,6 +251,7 @@
"options": "UOM",
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"print_width": "70px",
"read_only": 1,
"report_hide": 0,
@@ -293,6 +279,7 @@
"options": "Warehouse",
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"print_width": "100px",
"read_only": 0,
"report_hide": 0,
@@ -316,6 +303,7 @@
"no_copy": 0,
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 0,
@@ -340,6 +328,7 @@
"oldfieldtype": "Date",
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"print_width": "100px",
"read_only": 0,
"report_hide": 0,
@@ -364,6 +353,7 @@
"no_copy": 0,
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 0,
@@ -390,6 +380,7 @@
"options": "Item Group",
"permlevel": 0,
"print_hide": 1,
+ "print_hide_if_no_value": 0,
"read_only": 1,
"report_hide": 0,
"reqd": 0,
@@ -415,6 +406,7 @@
"options": "Brand",
"permlevel": 0,
"print_hide": 1,
+ "print_hide_if_no_value": 0,
"print_width": "100px",
"read_only": 1,
"report_hide": 0,
@@ -441,6 +433,7 @@
"oldfieldtype": "Date",
"permlevel": 0,
"print_hide": 1,
+ "print_hide_if_no_value": 0,
"read_only": 1,
"report_hide": 0,
"reqd": 0,
@@ -452,18 +445,19 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
- "fieldname": "sales_order_no",
+ "fieldname": "sales_order",
"fieldtype": "Link",
"hidden": 0,
"ignore_user_permissions": 0,
"in_filter": 0,
"in_list_view": 0,
- "label": "Sales Order No",
+ "label": "Sales Order",
"length": 0,
"no_copy": 0,
"options": "Sales Order",
"permlevel": 0,
"print_hide": 1,
+ "print_hide_if_no_value": 0,
"read_only": 1,
"report_hide": 0,
"reqd": 0,
@@ -485,6 +479,7 @@
"no_copy": 0,
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 0,
@@ -509,6 +504,7 @@
"oldfieldtype": "Currency",
"permlevel": 0,
"print_hide": 1,
+ "print_hide_if_no_value": 0,
"print_width": "70px",
"read_only": 1,
"report_hide": 0,
@@ -535,6 +531,7 @@
"oldfieldtype": "Currency",
"permlevel": 0,
"print_hide": 1,
+ "print_hide_if_no_value": 0,
"print_width": "70px",
"read_only": 1,
"report_hide": 0,
@@ -561,6 +558,7 @@
"oldfieldtype": "Currency",
"permlevel": 0,
"print_hide": 1,
+ "print_hide_if_no_value": 0,
"read_only": 1,
"report_hide": 0,
"reqd": 0,
@@ -585,6 +583,7 @@
"oldfieldtype": "Check",
"permlevel": 0,
"print_hide": 1,
+ "print_hide_if_no_value": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 0,
@@ -602,12 +601,13 @@
"issingle": 0,
"istable": 1,
"max_attachments": 0,
- "modified": "2015-11-16 06:29:50.238167",
+ "modified": "2016-01-30 06:03:41.424851",
"modified_by": "Administrator",
"module": "Stock",
"name": "Material Request Item",
"owner": "Administrator",
"permissions": [],
"read_only": 0,
- "read_only_onload": 0
+ "read_only_onload": 0,
+ "sort_order": "DESC"
}
\ No newline at end of file
diff --git a/erpnext/support/doctype/maintenance_schedule/maintenance_schedule.py b/erpnext/support/doctype/maintenance_schedule/maintenance_schedule.py
index 14cad8e..d7ba146 100644
--- a/erpnext/support/doctype/maintenance_schedule/maintenance_schedule.py
+++ b/erpnext/support/doctype/maintenance_schedule/maintenance_schedule.py
@@ -158,12 +158,12 @@
def validate_sales_order(self):
for d in self.get('items'):
- if d.prevdoc_docname:
+ if d.sales_order:
chk = frappe.db.sql("""select ms.name from `tabMaintenance Schedule` ms,
`tabMaintenance Schedule Item` msi where msi.parent=ms.name and
- msi.prevdoc_docname=%s and ms.docstatus=1""", d.prevdoc_docname)
+ msi.sales_order=%s and ms.docstatus=1""", d.sales_order)
if chk:
- throw(_("Maintenance Schedule {0} exists against {0}").format(chk[0][0], d.prevdoc_docname))
+ throw(_("Maintenance Schedule {0} exists against {0}").format(chk[0][0], d.sales_order))
def validate(self):
self.validate_maintenance_detail()
diff --git a/erpnext/support/doctype/maintenance_schedule_item/maintenance_schedule_item.json b/erpnext/support/doctype/maintenance_schedule_item/maintenance_schedule_item.json
index f20cccb..6879f06 100644
--- a/erpnext/support/doctype/maintenance_schedule_item/maintenance_schedule_item.json
+++ b/erpnext/support/doctype/maintenance_schedule_item/maintenance_schedule_item.json
@@ -26,6 +26,7 @@
"options": "Item",
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 1,
@@ -50,6 +51,7 @@
"oldfieldtype": "Data",
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 1,
"report_hide": 0,
"reqd": 0,
@@ -74,6 +76,7 @@
"oldfieldtype": "Data",
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"print_width": "300px",
"read_only": 1,
"report_hide": 0,
@@ -98,6 +101,7 @@
"no_copy": 0,
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 0,
@@ -122,6 +126,7 @@
"oldfieldtype": "Date",
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 1,
@@ -146,6 +151,7 @@
"oldfieldtype": "Date",
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 1,
@@ -171,6 +177,7 @@
"options": "\nWeekly\nMonthly\nQuarterly\nHalf Yearly\nYearly\nRandom",
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 0,
@@ -195,6 +202,7 @@
"oldfieldtype": "Int",
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 1,
@@ -220,6 +228,7 @@
"options": "Sales Person",
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 1,
@@ -242,6 +251,7 @@
"no_copy": 0,
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 0,
@@ -266,6 +276,7 @@
"oldfieldtype": "Small Text",
"permlevel": 0,
"print_hide": 0,
+ "print_hide_if_no_value": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 0,
@@ -277,19 +288,21 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
- "fieldname": "prevdoc_docname",
- "fieldtype": "Data",
+ "fieldname": "sales_order",
+ "fieldtype": "Link",
"hidden": 0,
"ignore_user_permissions": 0,
"in_filter": 1,
"in_list_view": 0,
- "label": "Against Docname",
+ "label": "Sales Order",
"length": 0,
"no_copy": 1,
"oldfieldname": "prevdoc_docname",
"oldfieldtype": "Data",
+ "options": "Sales Order",
"permlevel": 0,
"print_hide": 1,
+ "print_hide_if_no_value": 0,
"print_width": "150px",
"read_only": 1,
"report_hide": 0,
@@ -309,7 +322,7 @@
"issingle": 0,
"istable": 1,
"max_attachments": 0,
- "modified": "2015-11-16 06:29:49.903875",
+ "modified": "2016-02-23 04:59:32.924534",
"modified_by": "Administrator",
"module": "Support",
"name": "Maintenance Schedule Item",
diff --git a/erpnext/translations/ar.csv b/erpnext/translations/ar.csv
index 90a19ef..79a1134 100644
--- a/erpnext/translations/ar.csv
+++ b/erpnext/translations/ar.csv
@@ -1224,7 +1224,7 @@
apps/erpnext/erpnext/stock/doctype/delivery_note/delivery_note.py +261,Packing Slip(s) cancelled,زلة التعبئة (ق ) إلغاء
apps/erpnext/erpnext/accounts/report/cash_flow/cash_flow.py +29,Cash Flow from Investing,تدفق النقد من الاستثمار
apps/erpnext/erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py +96,Freight and Forwarding Charges,الشحن و التخليص الرسوم
-DocType: Material Request Item,Sales Order No,ترتيب المبيعات لا
+DocType: Material Request Item,Sales Order,ترتيب المبيعات لا
DocType: Item Group,Item Group Name,البند اسم المجموعة
apps/erpnext/erpnext/hr/report/employee_leave_balance/employee_leave_balance.py +27,Taken,مأخوذ
apps/erpnext/erpnext/manufacturing/doctype/production_order/production_order.js +86,Transfer Materials for Manufacture,المواد نقل لصناعة
diff --git a/erpnext/translations/bg.csv b/erpnext/translations/bg.csv
index 645234f..61bb51d 100644
--- a/erpnext/translations/bg.csv
+++ b/erpnext/translations/bg.csv
@@ -1201,7 +1201,7 @@
apps/erpnext/erpnext/stock/doctype/delivery_note/delivery_note.py +261,Packing Slip(s) cancelled,Приемо-предавателен протокол (и) анулиране
apps/erpnext/erpnext/accounts/report/cash_flow/cash_flow.py +29,Cash Flow from Investing,Парични потоци от инвестиционна
apps/erpnext/erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py +96,Freight and Forwarding Charges,Товарни и спедиция Такси
-DocType: Material Request Item,Sales Order No,Продажбите Заповед №
+DocType: Material Request Item,Sales Order,Продажбите Заповед №
DocType: Item Group,Item Group Name,Име на артикул Group
apps/erpnext/erpnext/hr/report/employee_leave_balance/employee_leave_balance.py +27,Taken,Взети
apps/erpnext/erpnext/manufacturing/doctype/production_order/production_order.js +86,Transfer Materials for Manufacture,Прехвърляне Материали за Производство
diff --git a/erpnext/translations/bn.csv b/erpnext/translations/bn.csv
index 8947059..eb653f9 100644
--- a/erpnext/translations/bn.csv
+++ b/erpnext/translations/bn.csv
@@ -1201,7 +1201,7 @@
apps/erpnext/erpnext/stock/doctype/delivery_note/delivery_note.py +261,Packing Slip(s) cancelled,বাতিল প্যাকিং স্লিপ (গুলি)
apps/erpnext/erpnext/accounts/report/cash_flow/cash_flow.py +29,Cash Flow from Investing,বিনিয়োগ থেকে ক্যাশ ফ্লো
apps/erpnext/erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py +96,Freight and Forwarding Charges,মাল ও ফরোয়ার্ডিং চার্জ
-DocType: Material Request Item,Sales Order No,বিক্রয় আদেশ কোন
+DocType: Material Request Item,Sales Order,বিক্রয় আদেশ কোন
DocType: Item Group,Item Group Name,আইটেমটি গ্রুপ নাম
apps/erpnext/erpnext/hr/report/employee_leave_balance/employee_leave_balance.py +27,Taken,ধরা
apps/erpnext/erpnext/manufacturing/doctype/production_order/production_order.js +86,Transfer Materials for Manufacture,প্রস্তুত জন্য স্থানান্তর সামগ্রী
diff --git a/erpnext/translations/bs.csv b/erpnext/translations/bs.csv
index 98b176e..6c9deaf 100644
--- a/erpnext/translations/bs.csv
+++ b/erpnext/translations/bs.csv
@@ -1226,7 +1226,7 @@
apps/erpnext/erpnext/stock/doctype/delivery_note/delivery_note.py +261,Packing Slip(s) cancelled,Pakiranje proklizavanja ( s) otkazan
apps/erpnext/erpnext/accounts/report/cash_flow/cash_flow.py +29,Cash Flow from Investing,Novčani tok iz ulagačkih
apps/erpnext/erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py +96,Freight and Forwarding Charges,Teretni i Forwarding Optužbe
-DocType: Material Request Item,Sales Order No,Narudžba kupca br
+DocType: Material Request Item,Sales Order,Narudžba kupca br
DocType: Item Group,Item Group Name,Naziv grupe artikla
apps/erpnext/erpnext/hr/report/employee_leave_balance/employee_leave_balance.py +27,Taken,Taken
apps/erpnext/erpnext/manufacturing/doctype/production_order/production_order.js +86,Transfer Materials for Manufacture,Transfer Materijali za Proizvodnja
diff --git a/erpnext/translations/ca.csv b/erpnext/translations/ca.csv
index e438744..8a8d4bf 100644
--- a/erpnext/translations/ca.csv
+++ b/erpnext/translations/ca.csv
@@ -1226,7 +1226,7 @@
apps/erpnext/erpnext/stock/doctype/delivery_note/delivery_note.py +261,Packing Slip(s) cancelled,Fulla(s) d'embalatge cancel·lat
apps/erpnext/erpnext/accounts/report/cash_flow/cash_flow.py +29,Cash Flow from Investing,Flux d'efectiu d'inversió
apps/erpnext/erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py +96,Freight and Forwarding Charges,Freight and Forwarding Charges
-DocType: Material Request Item,Sales Order No,Ordre de Venda No
+DocType: Material Request Item,Sales Order,Ordre de Venda No
DocType: Item Group,Item Group Name,Nom del Grup d'Articles
apps/erpnext/erpnext/hr/report/employee_leave_balance/employee_leave_balance.py +27,Taken,Pres
apps/erpnext/erpnext/manufacturing/doctype/production_order/production_order.js +86,Transfer Materials for Manufacture,Materials de transferència per Fabricació
diff --git a/erpnext/translations/cs.csv b/erpnext/translations/cs.csv
index 31e1002..09ae949 100644
--- a/erpnext/translations/cs.csv
+++ b/erpnext/translations/cs.csv
@@ -1226,7 +1226,7 @@
apps/erpnext/erpnext/stock/doctype/delivery_note/delivery_note.py +261,Packing Slip(s) cancelled,Balení Slip (y) zrušeno
apps/erpnext/erpnext/accounts/report/cash_flow/cash_flow.py +29,Cash Flow from Investing,Peněžní tok z investičních
apps/erpnext/erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py +96,Freight and Forwarding Charges,Nákladní a Spediční Poplatky
-DocType: Material Request Item,Sales Order No,Prodejní objednávky No
+DocType: Material Request Item,Sales Order,Prodejní objednávky No
DocType: Item Group,Item Group Name,Položka Název skupiny
apps/erpnext/erpnext/hr/report/employee_leave_balance/employee_leave_balance.py +27,Taken,Zaujatý
apps/erpnext/erpnext/manufacturing/doctype/production_order/production_order.js +86,Transfer Materials for Manufacture,Přenos Materiály pro výrobu
diff --git a/erpnext/translations/da-DK.csv b/erpnext/translations/da-DK.csv
index 335518b..e99c841 100644
--- a/erpnext/translations/da-DK.csv
+++ b/erpnext/translations/da-DK.csv
@@ -1076,7 +1076,7 @@
DocType: Employee External Work History,Total Experience,Total Experience
apps/erpnext/erpnext/stock/doctype/delivery_note/delivery_note.py +261,Packing Slip(s) cancelled,Packing Slip (r) annulleret
apps/erpnext/erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py +96,Freight and Forwarding Charges,Fragt og Forwarding Afgifter
-DocType: Material Request Item,Sales Order No,Salg bekendtgørelse nr
+DocType: Material Request Item,Sales Order,Salg bekendtgørelse nr
DocType: Item Group,Item Group Name,Item Group Name
apps/erpnext/erpnext/hr/report/employee_leave_balance/employee_leave_balance.py +27,Taken,Taget
apps/erpnext/erpnext/manufacturing/doctype/production_order/production_order.js +86,Transfer Materials for Manufacture,Overfør Materialer til Fremstilling
diff --git a/erpnext/translations/da.csv b/erpnext/translations/da.csv
index f5f62d5..0442881 100644
--- a/erpnext/translations/da.csv
+++ b/erpnext/translations/da.csv
@@ -1201,7 +1201,7 @@
apps/erpnext/erpnext/stock/doctype/delivery_note/delivery_note.py +261,Packing Slip(s) cancelled,Packing Slip (r) annulleret
apps/erpnext/erpnext/accounts/report/cash_flow/cash_flow.py +29,Cash Flow from Investing,Pengestrømme fra investeringsaktivitet
apps/erpnext/erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py +96,Freight and Forwarding Charges,Fragt og Forwarding Afgifter
-DocType: Material Request Item,Sales Order No,Salg bekendtgørelse nr
+DocType: Material Request Item,Sales Order,Salg bekendtgørelse nr
DocType: Item Group,Item Group Name,Item Group Name
apps/erpnext/erpnext/hr/report/employee_leave_balance/employee_leave_balance.py +27,Taken,Taget
apps/erpnext/erpnext/manufacturing/doctype/production_order/production_order.js +86,Transfer Materials for Manufacture,Overfør Materialer til Fremstilling
diff --git a/erpnext/translations/de.csv b/erpnext/translations/de.csv
index 8458e88..33ea1a3 100644
--- a/erpnext/translations/de.csv
+++ b/erpnext/translations/de.csv
@@ -1222,7 +1222,7 @@
apps/erpnext/erpnext/stock/doctype/delivery_note/delivery_note.py +261,Packing Slip(s) cancelled,Packzettel storniert
apps/erpnext/erpnext/accounts/report/cash_flow/cash_flow.py +29,Cash Flow from Investing,Cashflow aus Investitionen
apps/erpnext/erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py +96,Freight and Forwarding Charges,Fracht- und Versandkosten
-DocType: Material Request Item,Sales Order No,Kundenauftrags-Nr.
+DocType: Material Request Item,Sales Order,Kundenauftrags-Nr.
DocType: Item Group,Item Group Name,Name der Artikelgruppe
apps/erpnext/erpnext/hr/report/employee_leave_balance/employee_leave_balance.py +27,Taken,Genommen
apps/erpnext/erpnext/manufacturing/doctype/production_order/production_order.js +86,Transfer Materials for Manufacture,Material der Fertigung übergeben
diff --git a/erpnext/translations/el.csv b/erpnext/translations/el.csv
index bca0d08..f0dba78 100644
--- a/erpnext/translations/el.csv
+++ b/erpnext/translations/el.csv
@@ -1222,7 +1222,7 @@
apps/erpnext/erpnext/stock/doctype/delivery_note/delivery_note.py +261,Packing Slip(s) cancelled,Το(α) δελτίο(α) συσκευασίας ακυρώθηκε(αν)
apps/erpnext/erpnext/accounts/report/cash_flow/cash_flow.py +29,Cash Flow from Investing,Ταμειακές ροές από επενδυτικές
apps/erpnext/erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py +96,Freight and Forwarding Charges,Χρεώσεις μεταφοράς και προώθησης
-DocType: Material Request Item,Sales Order No,Αρ. παραγγελίας πώλησης
+DocType: Material Request Item,Sales Order,Αρ. παραγγελίας πώλησης
DocType: Item Group,Item Group Name,Όνομα ομάδας ειδών
apps/erpnext/erpnext/hr/report/employee_leave_balance/employee_leave_balance.py +27,Taken,Πάρθηκε
apps/erpnext/erpnext/manufacturing/doctype/production_order/production_order.js +86,Transfer Materials for Manufacture,Μεταφορά υλικών για μεταποίηση
diff --git a/erpnext/translations/es-PE.csv b/erpnext/translations/es-PE.csv
index e562fee..14f4d78 100644
--- a/erpnext/translations/es-PE.csv
+++ b/erpnext/translations/es-PE.csv
@@ -1099,7 +1099,7 @@
DocType: Employee External Work History,Total Experience,Experiencia Total
apps/erpnext/erpnext/stock/doctype/delivery_note/delivery_note.py +261,Packing Slip(s) cancelled,Lista(s) de embalaje cancelada(s)
apps/erpnext/erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py +96,Freight and Forwarding Charges,Cargos por transporte de mercancías y transito
-DocType: Material Request Item,Sales Order No,Orden de Venta No
+DocType: Material Request Item,Sales Order,Orden de Venta No
DocType: Item Group,Item Group Name,Nombre del grupo de artículos
apps/erpnext/erpnext/hr/report/employee_leave_balance/employee_leave_balance.py +27,Taken,Tomado
apps/erpnext/erpnext/manufacturing/doctype/production_order/production_order.js +86,Transfer Materials for Manufacture,Transferenca de Materiales para Fabricación
diff --git a/erpnext/translations/es.csv b/erpnext/translations/es.csv
index a8a3db6..d39c77c 100644
--- a/erpnext/translations/es.csv
+++ b/erpnext/translations/es.csv
@@ -1221,7 +1221,7 @@
apps/erpnext/erpnext/stock/doctype/delivery_note/delivery_note.py +261,Packing Slip(s) cancelled,Lista(s) de embalaje cancelada(s)
apps/erpnext/erpnext/accounts/report/cash_flow/cash_flow.py +29,Cash Flow from Investing,Flujo de efectivo de inversión
apps/erpnext/erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py +96,Freight and Forwarding Charges,CARGOS DE TRANSITO Y TRANSPORTE
-DocType: Material Request Item,Sales Order No,Orden de venta No.
+DocType: Material Request Item,Sales Order,Orden de venta No.
DocType: Item Group,Item Group Name,Nombre del grupo de productos
apps/erpnext/erpnext/hr/report/employee_leave_balance/employee_leave_balance.py +27,Taken,Tomado
apps/erpnext/erpnext/manufacturing/doctype/production_order/production_order.js +86,Transfer Materials for Manufacture,Transferir materiales para producción
diff --git a/erpnext/translations/et.csv b/erpnext/translations/et.csv
index b726df2..a593e35 100644
--- a/erpnext/translations/et.csv
+++ b/erpnext/translations/et.csv
@@ -1201,7 +1201,7 @@
apps/erpnext/erpnext/stock/doctype/delivery_note/delivery_note.py +261,Packing Slip(s) cancelled,Pakkesedel (s) tühistati
apps/erpnext/erpnext/accounts/report/cash_flow/cash_flow.py +29,Cash Flow from Investing,Rahavood investeerimistegevusest
apps/erpnext/erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py +96,Freight and Forwarding Charges,Kaubavedu ja Edasitoimetuskulude
-DocType: Material Request Item,Sales Order No,Müük korraldusega nr
+DocType: Material Request Item,Sales Order,Müük korraldusega nr
DocType: Item Group,Item Group Name,Punkt Group Nimi
apps/erpnext/erpnext/hr/report/employee_leave_balance/employee_leave_balance.py +27,Taken,Võtnud
apps/erpnext/erpnext/manufacturing/doctype/production_order/production_order.js +86,Transfer Materials for Manufacture,Transfer Materjalid Tootmine
diff --git a/erpnext/translations/fa.csv b/erpnext/translations/fa.csv
index ad09467..8cc353e 100644
--- a/erpnext/translations/fa.csv
+++ b/erpnext/translations/fa.csv
@@ -1201,7 +1201,7 @@
apps/erpnext/erpnext/stock/doctype/delivery_note/delivery_note.py +261,Packing Slip(s) cancelled,بسته بندی لغزش (بازدید کنندگان) لغو
apps/erpnext/erpnext/accounts/report/cash_flow/cash_flow.py +29,Cash Flow from Investing,جریان وجوه نقد از سرمایه گذاری
apps/erpnext/erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py +96,Freight and Forwarding Charges,حمل و نقل و حمل و نقل اتهامات
-DocType: Material Request Item,Sales Order No,سفارش فروش بدون
+DocType: Material Request Item,Sales Order,سفارش فروش بدون
DocType: Item Group,Item Group Name,مورد نام گروه
apps/erpnext/erpnext/hr/report/employee_leave_balance/employee_leave_balance.py +27,Taken,گرفته
apps/erpnext/erpnext/manufacturing/doctype/production_order/production_order.js +86,Transfer Materials for Manufacture,انتقال مواد برای تولید
diff --git a/erpnext/translations/fi.csv b/erpnext/translations/fi.csv
index b024039..a73b058 100644
--- a/erpnext/translations/fi.csv
+++ b/erpnext/translations/fi.csv
@@ -1201,7 +1201,7 @@
apps/erpnext/erpnext/stock/doctype/delivery_note/delivery_note.py +261,Packing Slip(s) cancelled,pakkauslaput peruttu
apps/erpnext/erpnext/accounts/report/cash_flow/cash_flow.py +29,Cash Flow from Investing,Investointien rahavirta
apps/erpnext/erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py +96,Freight and Forwarding Charges,rahdin ja huolinnan maksut
-DocType: Material Request Item,Sales Order No,"myyntitilaus, numero"
+DocType: Material Request Item,Sales Order,"myyntitilaus, numero"
DocType: Item Group,Item Group Name,"tuoteryhmä, nimi"
apps/erpnext/erpnext/hr/report/employee_leave_balance/employee_leave_balance.py +27,Taken,otettu
apps/erpnext/erpnext/manufacturing/doctype/production_order/production_order.js +86,Transfer Materials for Manufacture,materiaalisiirto tuotantoon
diff --git a/erpnext/translations/fr.csv b/erpnext/translations/fr.csv
index da23c14..267a876 100644
--- a/erpnext/translations/fr.csv
+++ b/erpnext/translations/fr.csv
@@ -1225,7 +1225,7 @@
apps/erpnext/erpnext/stock/doctype/delivery_note/delivery_note.py +261,Packing Slip(s) cancelled,Bordereau(x) annulé
apps/erpnext/erpnext/accounts/report/cash_flow/cash_flow.py +29,Cash Flow from Investing,Flux de trésorerie d'investissement
apps/erpnext/erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py +96,Freight and Forwarding Charges,Fret et d'envoi en sus
-DocType: Material Request Item,Sales Order No,Ordonnance n ° de vente
+DocType: Material Request Item,Sales Order,Ordonnance n ° de vente
DocType: Item Group,Item Group Name,Nom du groupe d'article
apps/erpnext/erpnext/hr/report/employee_leave_balance/employee_leave_balance.py +27,Taken,Pris
apps/erpnext/erpnext/manufacturing/doctype/production_order/production_order.js +86,Transfer Materials for Manufacture,Matériaux de transfert pour la fabrication
diff --git a/erpnext/translations/gu.csv b/erpnext/translations/gu.csv
index 170cc45..ee4e87e 100644
--- a/erpnext/translations/gu.csv
+++ b/erpnext/translations/gu.csv
@@ -1201,7 +1201,7 @@
apps/erpnext/erpnext/stock/doctype/delivery_note/delivery_note.py +261,Packing Slip(s) cancelled,રદ પેકિંગ કાપલી (ઓ)
apps/erpnext/erpnext/accounts/report/cash_flow/cash_flow.py +29,Cash Flow from Investing,રોકાણ કેશ ફ્લો
apps/erpnext/erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py +96,Freight and Forwarding Charges,નૂર અને ફોરવર્ડિંગ સમાયોજિત
-DocType: Material Request Item,Sales Order No,વેચાણ ઓર્ડર કોઈ
+DocType: Material Request Item,Sales Order,વેચાણ ઓર્ડર કોઈ
DocType: Item Group,Item Group Name,વસ્તુ ગ્રુપ નામ
apps/erpnext/erpnext/hr/report/employee_leave_balance/employee_leave_balance.py +27,Taken,લેવામાં
apps/erpnext/erpnext/manufacturing/doctype/production_order/production_order.js +86,Transfer Materials for Manufacture,ઉત્પાદન માટે ટ્રાન્સફર સામગ્રી
diff --git a/erpnext/translations/he.csv b/erpnext/translations/he.csv
index cb18103..9e663cf 100644
--- a/erpnext/translations/he.csv
+++ b/erpnext/translations/he.csv
@@ -1201,7 +1201,7 @@
apps/erpnext/erpnext/stock/doctype/delivery_note/delivery_note.py +261,Packing Slip(s) cancelled,Slip אריזה (ים) בוטל
apps/erpnext/erpnext/accounts/report/cash_flow/cash_flow.py +29,Cash Flow from Investing,תזרים מזומנים מהשקעות
apps/erpnext/erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py +96,Freight and Forwarding Charges,הוצאות הובלה והשילוח
-DocType: Material Request Item,Sales Order No,להזמין ללא מכירות
+DocType: Material Request Item,Sales Order,להזמין ללא מכירות
DocType: Item Group,Item Group Name,שם קבוצת פריט
apps/erpnext/erpnext/hr/report/employee_leave_balance/employee_leave_balance.py +27,Taken,לקחתי
apps/erpnext/erpnext/manufacturing/doctype/production_order/production_order.js +86,Transfer Materials for Manufacture,העברת חומרים לייצור
diff --git a/erpnext/translations/hi.csv b/erpnext/translations/hi.csv
index 26b7293..14fedb0 100644
--- a/erpnext/translations/hi.csv
+++ b/erpnext/translations/hi.csv
@@ -1226,7 +1226,7 @@
apps/erpnext/erpnext/stock/doctype/delivery_note/delivery_note.py +261,Packing Slip(s) cancelled,पैकिंग पर्ची (ओं ) को रद्द कर दिया
apps/erpnext/erpnext/accounts/report/cash_flow/cash_flow.py +29,Cash Flow from Investing,निवेश से कैश फ्लो
apps/erpnext/erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py +96,Freight and Forwarding Charges,फ्रेट और अग्रेषण शुल्क
-DocType: Material Request Item,Sales Order No,बिक्री आदेश नहीं
+DocType: Material Request Item,Sales Order,बिक्री आदेश नहीं
DocType: Item Group,Item Group Name,आइटम समूह का नाम
apps/erpnext/erpnext/hr/report/employee_leave_balance/employee_leave_balance.py +27,Taken,में ले ली
apps/erpnext/erpnext/manufacturing/doctype/production_order/production_order.js +86,Transfer Materials for Manufacture,निर्माण के लिए हस्तांतरण सामग्री
diff --git a/erpnext/translations/hr.csv b/erpnext/translations/hr.csv
index d8864cc..1699e39 100644
--- a/erpnext/translations/hr.csv
+++ b/erpnext/translations/hr.csv
@@ -1224,7 +1224,7 @@
apps/erpnext/erpnext/stock/doctype/delivery_note/delivery_note.py +261,Packing Slip(s) cancelled,Pakiranje proklizavanja ( s) otkazan
apps/erpnext/erpnext/accounts/report/cash_flow/cash_flow.py +29,Cash Flow from Investing,Novčani tijek iz investicijskih
apps/erpnext/erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py +96,Freight and Forwarding Charges,Teretni i Forwarding Optužbe
-DocType: Material Request Item,Sales Order No,Broj narudžbe kupca
+DocType: Material Request Item,Sales Order,Broj narudžbe kupca
DocType: Item Group,Item Group Name,Proizvod - naziv grupe
apps/erpnext/erpnext/hr/report/employee_leave_balance/employee_leave_balance.py +27,Taken,Taken
apps/erpnext/erpnext/manufacturing/doctype/production_order/production_order.js +86,Transfer Materials for Manufacture,Prijenos Materijali za izradu
diff --git a/erpnext/translations/hu.csv b/erpnext/translations/hu.csv
index b94fae5..cb55a8f 100644
--- a/erpnext/translations/hu.csv
+++ b/erpnext/translations/hu.csv
@@ -1201,7 +1201,7 @@
apps/erpnext/erpnext/stock/doctype/delivery_note/delivery_note.py +261,Packing Slip(s) cancelled,Csomagjegy(ek) törölve
apps/erpnext/erpnext/accounts/report/cash_flow/cash_flow.py +29,Cash Flow from Investing,Cash Flow Befektetési
apps/erpnext/erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py +96,Freight and Forwarding Charges,Freight Forwarding és díjak
-DocType: Material Request Item,Sales Order No,Sales Order No
+DocType: Material Request Item,Sales Order,Sales Order
DocType: Item Group,Item Group Name,Anyagcsoport neve
apps/erpnext/erpnext/hr/report/employee_leave_balance/employee_leave_balance.py +27,Taken,Taken
apps/erpnext/erpnext/manufacturing/doctype/production_order/production_order.js +86,Transfer Materials for Manufacture,Transfer anyagok gyártása
diff --git a/erpnext/translations/id.csv b/erpnext/translations/id.csv
index a0c208c..51221c2 100644
--- a/erpnext/translations/id.csv
+++ b/erpnext/translations/id.csv
@@ -1226,7 +1226,7 @@
apps/erpnext/erpnext/stock/doctype/delivery_note/delivery_note.py +261,Packing Slip(s) cancelled,Packing slip (s) dibatalkan
apps/erpnext/erpnext/accounts/report/cash_flow/cash_flow.py +29,Cash Flow from Investing,Arus Kas dari Investasi
apps/erpnext/erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py +96,Freight and Forwarding Charges,Pengangkutan dan Forwarding Biaya
-DocType: Material Request Item,Sales Order No,No Order Penjualan
+DocType: Material Request Item,Sales Order,Sales Order
DocType: Item Group,Item Group Name,Nama Item Grup
apps/erpnext/erpnext/hr/report/employee_leave_balance/employee_leave_balance.py +27,Taken,Diambil
apps/erpnext/erpnext/manufacturing/doctype/production_order/production_order.js +86,Transfer Materials for Manufacture,Transfer Material untuk Produksi
diff --git a/erpnext/translations/it.csv b/erpnext/translations/it.csv
index d9f3072..2c82472 100644
--- a/erpnext/translations/it.csv
+++ b/erpnext/translations/it.csv
@@ -1223,7 +1223,7 @@
apps/erpnext/erpnext/stock/doctype/delivery_note/delivery_note.py +261,Packing Slip(s) cancelled,Bolla di accompagnamento ( s ) annullato
apps/erpnext/erpnext/accounts/report/cash_flow/cash_flow.py +29,Cash Flow from Investing,Cash Flow da investimenti
apps/erpnext/erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py +96,Freight and Forwarding Charges,Freight Forwarding e spese
-DocType: Material Request Item,Sales Order No,Ordine di vendita No
+DocType: Material Request Item,Sales Order,Ordine di vendita No
DocType: Item Group,Item Group Name,Nome Gruppo Articoli
apps/erpnext/erpnext/hr/report/employee_leave_balance/employee_leave_balance.py +27,Taken,Preso
apps/erpnext/erpnext/manufacturing/doctype/production_order/production_order.js +86,Transfer Materials for Manufacture,Trasferimento Materiali per Produzione
diff --git a/erpnext/translations/ja.csv b/erpnext/translations/ja.csv
index 67c855e..fad5475 100644
--- a/erpnext/translations/ja.csv
+++ b/erpnext/translations/ja.csv
@@ -1234,7 +1234,7 @@
apps/erpnext/erpnext/stock/doctype/delivery_note/delivery_note.py +261,Packing Slip(s) cancelled,梱包伝票(S)をキャンセル
apps/erpnext/erpnext/accounts/report/cash_flow/cash_flow.py +29,Cash Flow from Investing,投資活動によるキャッシュフロー
apps/erpnext/erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py +96,Freight and Forwarding Charges,運送・転送料金
-DocType: Material Request Item,Sales Order No,受注番号
+DocType: Material Request Item,Sales Order,受注番号
DocType: Item Group,Item Group Name,アイテムグループ名
apps/erpnext/erpnext/hr/report/employee_leave_balance/employee_leave_balance.py +27,Taken,売上高
apps/erpnext/erpnext/manufacturing/doctype/production_order/production_order.js +86,Transfer Materials for Manufacture,製造用資材配送
diff --git a/erpnext/translations/km.csv b/erpnext/translations/km.csv
index b0ba2f4..1db6cf5 100644
--- a/erpnext/translations/km.csv
+++ b/erpnext/translations/km.csv
@@ -1200,7 +1200,7 @@
apps/erpnext/erpnext/stock/doctype/delivery_note/delivery_note.py +261,Packing Slip(s) cancelled,គ្រូពេទ្យប្រហែលជាវេចខ្ចប់ (s) បានត្រូវបានលុបចោល
apps/erpnext/erpnext/accounts/report/cash_flow/cash_flow.py +29,Cash Flow from Investing,លំហូរសាច់ប្រាក់ចេញពីការវិនិយោគ
apps/erpnext/erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py +96,Freight and Forwarding Charges,ការចោទប្រកាន់ការដឹកជញ្ជូននិងការបញ្ជូនបន្ត
-DocType: Material Request Item,Sales Order No,គ្មានការលក់សណ្តាប់ធ្នាប់
+DocType: Material Request Item,Sales Order,គ្មានការលក់សណ្តាប់ធ្នាប់
DocType: Item Group,Item Group Name,ធាតុឈ្មោះក្រុម
apps/erpnext/erpnext/hr/report/employee_leave_balance/employee_leave_balance.py +27,Taken,គេយក
apps/erpnext/erpnext/manufacturing/doctype/production_order/production_order.js +86,Transfer Materials for Manufacture,ផ្ទេរសម្រាប់ការផលិតសម្ភារៈ
diff --git a/erpnext/translations/kn.csv b/erpnext/translations/kn.csv
index 9de8a59..34143a7 100644
--- a/erpnext/translations/kn.csv
+++ b/erpnext/translations/kn.csv
@@ -1226,7 +1226,7 @@
apps/erpnext/erpnext/stock/doctype/delivery_note/delivery_note.py +261,Packing Slip(s) cancelled,ಪ್ಯಾಕಿಂಗ್ ಸ್ಲಿಪ್ (ಗಳು) ರದ್ದು
apps/erpnext/erpnext/accounts/report/cash_flow/cash_flow.py +29,Cash Flow from Investing,ಹೂಡಿಕೆ ಹಣದ ಹರಿವನ್ನು
apps/erpnext/erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py +96,Freight and Forwarding Charges,ಸರಕು ಮತ್ತು ಸಾಗಣೆಯನ್ನು ಚಾರ್ಜಸ್
-DocType: Material Request Item,Sales Order No,ಮಾರಾಟದ ಆದೇಶ ಸಂಖ್ಯೆ
+DocType: Material Request Item,Sales Order,ಮಾರಾಟದ ಆದೇಶ ಸಂಖ್ಯೆ
DocType: Item Group,Item Group Name,ಐಟಂ ಗುಂಪು ಹೆಸರು
apps/erpnext/erpnext/hr/report/employee_leave_balance/employee_leave_balance.py +27,Taken,ಟೇಕನ್
apps/erpnext/erpnext/manufacturing/doctype/production_order/production_order.js +86,Transfer Materials for Manufacture,ತಯಾರಿಕೆಗೆ ವರ್ಗಾವಣೆ ಮೆಟೀರಿಯಲ್ಸ್
diff --git a/erpnext/translations/ko.csv b/erpnext/translations/ko.csv
index 3c39d72..32b3582 100644
--- a/erpnext/translations/ko.csv
+++ b/erpnext/translations/ko.csv
@@ -1226,7 +1226,7 @@
apps/erpnext/erpnext/stock/doctype/delivery_note/delivery_note.py +261,Packing Slip(s) cancelled,포장 명세서 (들) 취소
apps/erpnext/erpnext/accounts/report/cash_flow/cash_flow.py +29,Cash Flow from Investing,투자의 현금 흐름
apps/erpnext/erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py +96,Freight and Forwarding Charges,화물 운송 및 포워딩 요금
-DocType: Material Request Item,Sales Order No,판매 주문 번호
+DocType: Material Request Item,Sales Order,판매 주문 번호
DocType: Item Group,Item Group Name,항목 그룹 이름
apps/erpnext/erpnext/hr/report/employee_leave_balance/employee_leave_balance.py +27,Taken,촬영
apps/erpnext/erpnext/manufacturing/doctype/production_order/production_order.js +86,Transfer Materials for Manufacture,제조에 대한 전송 재료
diff --git a/erpnext/translations/lv.csv b/erpnext/translations/lv.csv
index 0678cd2..8e3bc6e 100644
--- a/erpnext/translations/lv.csv
+++ b/erpnext/translations/lv.csv
@@ -1201,7 +1201,7 @@
apps/erpnext/erpnext/stock/doctype/delivery_note/delivery_note.py +261,Packing Slip(s) cancelled,Packing Slip (s) atcelts
apps/erpnext/erpnext/accounts/report/cash_flow/cash_flow.py +29,Cash Flow from Investing,Naudas plūsma no ieguldījumu
apps/erpnext/erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py +96,Freight and Forwarding Charges,Kravu un Ekspedīcijas maksājumi
-DocType: Material Request Item,Sales Order No,Pasūtījumu Nr
+DocType: Material Request Item,Sales Order,Pasūtījumu Nr
DocType: Item Group,Item Group Name,Postenis Grupas nosaukums
apps/erpnext/erpnext/hr/report/employee_leave_balance/employee_leave_balance.py +27,Taken,Taken
apps/erpnext/erpnext/manufacturing/doctype/production_order/production_order.js +86,Transfer Materials for Manufacture,Transfer Materiāli Ražošana
diff --git a/erpnext/translations/mk.csv b/erpnext/translations/mk.csv
index db945cc..c773189 100644
--- a/erpnext/translations/mk.csv
+++ b/erpnext/translations/mk.csv
@@ -1201,7 +1201,7 @@
apps/erpnext/erpnext/stock/doctype/delivery_note/delivery_note.py +261,Packing Slip(s) cancelled,Пакување фиш (и) откажани
apps/erpnext/erpnext/accounts/report/cash_flow/cash_flow.py +29,Cash Flow from Investing,Парични текови од инвестициони
apps/erpnext/erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py +96,Freight and Forwarding Charges,Товар и товар пријави
-DocType: Material Request Item,Sales Order No,Продај Побарувања Не
+DocType: Material Request Item,Sales Order,Продај Побарувања Не
DocType: Item Group,Item Group Name,Точка име на група
apps/erpnext/erpnext/hr/report/employee_leave_balance/employee_leave_balance.py +27,Taken,Земени
apps/erpnext/erpnext/manufacturing/doctype/production_order/production_order.js +86,Transfer Materials for Manufacture,Пренос на материјали за изработка
diff --git a/erpnext/translations/ml.csv b/erpnext/translations/ml.csv
index 7fbf00c..ea56eb7 100644
--- a/erpnext/translations/ml.csv
+++ b/erpnext/translations/ml.csv
@@ -1201,7 +1201,7 @@
apps/erpnext/erpnext/stock/doctype/delivery_note/delivery_note.py +261,Packing Slip(s) cancelled,പായ്ക്കിംഗ് ജി (കൾ) റദ്ദാക്കി
apps/erpnext/erpnext/accounts/report/cash_flow/cash_flow.py +29,Cash Flow from Investing,നിക്ഷേപം മുതൽ ക്യാഷ് ഫ്ളോ
apps/erpnext/erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py +96,Freight and Forwarding Charges,ചരക്കുഗതാഗതം കൈമാറലും ചുമത്തിയിട്ടുള്ള
-DocType: Material Request Item,Sales Order No,സെയിൽസ് ഓർഡർ ഇല്ല
+DocType: Material Request Item,Sales Order,സെയിൽസ് ഓർഡർ ഇല്ല
DocType: Item Group,Item Group Name,ഇനം ഗ്രൂപ്പ് പേര്
apps/erpnext/erpnext/hr/report/employee_leave_balance/employee_leave_balance.py +27,Taken,എടുത്ത
apps/erpnext/erpnext/manufacturing/doctype/production_order/production_order.js +86,Transfer Materials for Manufacture,ഉല്പാദനത്തിനുള്ള മെറ്റീരിയൽസ് കൈമാറുക
diff --git a/erpnext/translations/mr.csv b/erpnext/translations/mr.csv
index a7ec841..1c01841 100644
--- a/erpnext/translations/mr.csv
+++ b/erpnext/translations/mr.csv
@@ -1201,7 +1201,7 @@
apps/erpnext/erpnext/stock/doctype/delivery_note/delivery_note.py +261,Packing Slip(s) cancelled,रद्द पॅकिंग स्लिप (चे)
apps/erpnext/erpnext/accounts/report/cash_flow/cash_flow.py +29,Cash Flow from Investing,गुंतवणूक रोख प्रवाह
apps/erpnext/erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py +96,Freight and Forwarding Charges,वाहतुक आणि अग्रेषित शुल्क
-DocType: Material Request Item,Sales Order No,विक्री ऑर्डर नाही
+DocType: Material Request Item,Sales Order,विक्री ऑर्डर नाही
DocType: Item Group,Item Group Name,आयटम गट नाव
apps/erpnext/erpnext/hr/report/employee_leave_balance/employee_leave_balance.py +27,Taken,घेतले
apps/erpnext/erpnext/manufacturing/doctype/production_order/production_order.js +86,Transfer Materials for Manufacture,उत्पादन हस्तांतरण सामुग्री
diff --git a/erpnext/translations/ms.csv b/erpnext/translations/ms.csv
index f563902..cc6153a 100644
--- a/erpnext/translations/ms.csv
+++ b/erpnext/translations/ms.csv
@@ -1201,7 +1201,7 @@
apps/erpnext/erpnext/stock/doctype/delivery_note/delivery_note.py +261,Packing Slip(s) cancelled,Slip pembungkusan (s) dibatalkan
apps/erpnext/erpnext/accounts/report/cash_flow/cash_flow.py +29,Cash Flow from Investing,Aliran tunai daripada Pelaburan
apps/erpnext/erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py +96,Freight and Forwarding Charges,Freight Forwarding dan Caj
-DocType: Material Request Item,Sales Order No,Pesanan Jualan No
+DocType: Material Request Item,Sales Order,Pesanan Jualan No
DocType: Item Group,Item Group Name,Perkara Kumpulan Nama
apps/erpnext/erpnext/hr/report/employee_leave_balance/employee_leave_balance.py +27,Taken,Diambil
apps/erpnext/erpnext/manufacturing/doctype/production_order/production_order.js +86,Transfer Materials for Manufacture,Bahan Pemindahan bagi Pembuatan
diff --git a/erpnext/translations/my.csv b/erpnext/translations/my.csv
index a555cfb..7cfef14 100644
--- a/erpnext/translations/my.csv
+++ b/erpnext/translations/my.csv
@@ -1201,7 +1201,7 @@
apps/erpnext/erpnext/stock/doctype/delivery_note/delivery_note.py +261,Packing Slip(s) cancelled,ထုပ်ပိုးစလစ်ဖြတ်ပိုင်းပုံစံ (s) ဖျက်သိမ်း
apps/erpnext/erpnext/accounts/report/cash_flow/cash_flow.py +29,Cash Flow from Investing,ရင်းနှီးမြုပ်နှံထံမှငွေကြေးစီးဆင်းမှု
apps/erpnext/erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py +96,Freight and Forwarding Charges,ကုန်တင်နှင့် Forwarding စွပ်စွဲချက်
-DocType: Material Request Item,Sales Order No,အရောင်းအမိန့်မရှိပါ
+DocType: Material Request Item,Sales Order,အရောင်းအမိန့်မရှိပါ
DocType: Item Group,Item Group Name,item Group မှအမည်
apps/erpnext/erpnext/hr/report/employee_leave_balance/employee_leave_balance.py +27,Taken,ယူ
apps/erpnext/erpnext/manufacturing/doctype/production_order/production_order.js +86,Transfer Materials for Manufacture,Manufacturing သည်ပစ္စည်းများလွှဲပြောင်း
diff --git a/erpnext/translations/nl.csv b/erpnext/translations/nl.csv
index 708b68b..697f3a2 100644
--- a/erpnext/translations/nl.csv
+++ b/erpnext/translations/nl.csv
@@ -1223,7 +1223,7 @@
apps/erpnext/erpnext/stock/doctype/delivery_note/delivery_note.py +261,Packing Slip(s) cancelled,Pakbon(en) geannuleerd
apps/erpnext/erpnext/accounts/report/cash_flow/cash_flow.py +29,Cash Flow from Investing,De kasstroom uit investeringsactiviteiten
apps/erpnext/erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py +96,Freight and Forwarding Charges,Vracht-en verzendkosten
-DocType: Material Request Item,Sales Order No,Verkooporder nr.
+DocType: Material Request Item,Sales Order,Verkooporder nr.
DocType: Item Group,Item Group Name,Artikel groepsnaam
apps/erpnext/erpnext/hr/report/employee_leave_balance/employee_leave_balance.py +27,Taken,Ingenomen
apps/erpnext/erpnext/manufacturing/doctype/production_order/production_order.js +86,Transfer Materials for Manufacture,Verplaats Materialen voor Productie
diff --git a/erpnext/translations/no.csv b/erpnext/translations/no.csv
index 8e458f4..98f5fb3 100644
--- a/erpnext/translations/no.csv
+++ b/erpnext/translations/no.csv
@@ -1201,7 +1201,7 @@
apps/erpnext/erpnext/stock/doctype/delivery_note/delivery_note.py +261,Packing Slip(s) cancelled,Pakking Slip (s) kansellert
apps/erpnext/erpnext/accounts/report/cash_flow/cash_flow.py +29,Cash Flow from Investing,Kontantstrøm fra investerings
apps/erpnext/erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py +96,Freight and Forwarding Charges,Spedisjons- og Kostnader
-DocType: Material Request Item,Sales Order No,Salgsordre Nei
+DocType: Material Request Item,Sales Order,Salgsordre Nei
DocType: Item Group,Item Group Name,Sak Gruppenavn
apps/erpnext/erpnext/hr/report/employee_leave_balance/employee_leave_balance.py +27,Taken,Tatt
apps/erpnext/erpnext/manufacturing/doctype/production_order/production_order.js +86,Transfer Materials for Manufacture,Transfer Materialer for produksjon
diff --git a/erpnext/translations/pl.csv b/erpnext/translations/pl.csv
index 6e481a9..0557923 100644
--- a/erpnext/translations/pl.csv
+++ b/erpnext/translations/pl.csv
@@ -1225,8 +1225,8 @@
apps/erpnext/erpnext/stock/doctype/delivery_note/delivery_note.py +261,Packing Slip(s) cancelled,List(y) przewozowe anulowane
apps/erpnext/erpnext/accounts/report/cash_flow/cash_flow.py +29,Cash Flow from Investing,Przepływy środków pieniężnych z Inwestowanie
apps/erpnext/erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py +96,Freight and Forwarding Charges,Koszty dostaw i przesyłek
-DocType: Material Request Item,Sales Order No,Nr Zlecenia Sprzedaży
-DocType: Item Group,Item Group Name,Element Nazwa grupy
+DocType: Material Request Item,Sales Order,Nr Zlecenia Sprzedaży
+DocType: Item Group,Item Group Name,
apps/erpnext/erpnext/hr/report/employee_leave_balance/employee_leave_balance.py +27,Taken,Wzięty
apps/erpnext/erpnext/manufacturing/doctype/production_order/production_order.js +86,Transfer Materials for Manufacture,Materiały transferowe dla Produkcja
DocType: Pricing Rule,For Price List,Dla Listy Cen
diff --git a/erpnext/translations/pt-BR.csv b/erpnext/translations/pt-BR.csv
index 57b1596..f5ed686 100644
--- a/erpnext/translations/pt-BR.csv
+++ b/erpnext/translations/pt-BR.csv
@@ -1223,7 +1223,7 @@
apps/erpnext/erpnext/stock/doctype/delivery_note/delivery_note.py +261,Packing Slip(s) cancelled,Deslizamento (s) de embalagem cancelado
apps/erpnext/erpnext/accounts/report/cash_flow/cash_flow.py +29,Cash Flow from Investing,Fluxo de Caixa de Investimentos
apps/erpnext/erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py +96,Freight and Forwarding Charges,Freight Forwarding e Encargos
-DocType: Material Request Item,Sales Order No,Nº da Ordem de Venda
+DocType: Material Request Item,Sales Order,Nº da Ordem de Venda
DocType: Item Group,Item Group Name,Nome do Grupo de Itens
apps/erpnext/erpnext/hr/report/employee_leave_balance/employee_leave_balance.py +27,Taken,Tomado
apps/erpnext/erpnext/manufacturing/doctype/production_order/production_order.js +86,Transfer Materials for Manufacture,Materiais de transferência para Fabricação
diff --git a/erpnext/translations/pt.csv b/erpnext/translations/pt.csv
index 5a19503..44e3ee8 100644
--- a/erpnext/translations/pt.csv
+++ b/erpnext/translations/pt.csv
@@ -1226,7 +1226,7 @@
apps/erpnext/erpnext/stock/doctype/delivery_note/delivery_note.py +261,Packing Slip(s) cancelled,Deslizamento (s) de embalagem cancelado
apps/erpnext/erpnext/accounts/report/cash_flow/cash_flow.py +29,Cash Flow from Investing,Fluxo de Caixa de Investimentos
apps/erpnext/erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py +96,Freight and Forwarding Charges,Freight Forwarding e Encargos
-DocType: Material Request Item,Sales Order No,Vendas decreto n º
+DocType: Material Request Item,Sales Order,Vendas decreto n º
DocType: Item Group,Item Group Name,Nome do Grupo item
apps/erpnext/erpnext/hr/report/employee_leave_balance/employee_leave_balance.py +27,Taken,Tomado
apps/erpnext/erpnext/manufacturing/doctype/production_order/production_order.js +86,Transfer Materials for Manufacture,Materiais de transferência para Fabricação
diff --git a/erpnext/translations/ro.csv b/erpnext/translations/ro.csv
index 1636168..6b2993e 100644
--- a/erpnext/translations/ro.csv
+++ b/erpnext/translations/ro.csv
@@ -1221,7 +1221,7 @@
apps/erpnext/erpnext/stock/doctype/delivery_note/delivery_note.py +261,Packing Slip(s) cancelled,Slip de ambalare (e) anulate
apps/erpnext/erpnext/accounts/report/cash_flow/cash_flow.py +29,Cash Flow from Investing,Cash Flow de la Investiții
apps/erpnext/erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py +96,Freight and Forwarding Charges,Incarcatura și Taxe de Expediere
-DocType: Material Request Item,Sales Order No,Vânzări Ordinul nr
+DocType: Material Request Item,Sales Order,Vânzări Ordinul nr
DocType: Item Group,Item Group Name,Denumire Grup Articol
apps/erpnext/erpnext/hr/report/employee_leave_balance/employee_leave_balance.py +27,Taken,Luate
apps/erpnext/erpnext/manufacturing/doctype/production_order/production_order.js +86,Transfer Materials for Manufacture,Materiale de transfer de Fabricare
diff --git a/erpnext/translations/ru.csv b/erpnext/translations/ru.csv
index 0d5e835..bf2887b 100644
--- a/erpnext/translations/ru.csv
+++ b/erpnext/translations/ru.csv
@@ -1225,7 +1225,7 @@
apps/erpnext/erpnext/stock/doctype/delivery_note/delivery_note.py +261,Packing Slip(s) cancelled,Упаковочный лист (ы) отменяется
apps/erpnext/erpnext/accounts/report/cash_flow/cash_flow.py +29,Cash Flow from Investing,Поток денежных средств от инвестиционной
apps/erpnext/erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py +96,Freight and Forwarding Charges,Грузовые и экспедиторские Сборы
-DocType: Material Request Item,Sales Order No,Номер Заказа клиента
+DocType: Material Request Item,Sales Order,Номер Заказа клиента
DocType: Item Group,Item Group Name,Пункт Название группы
apps/erpnext/erpnext/hr/report/employee_leave_balance/employee_leave_balance.py +27,Taken,Взятый
apps/erpnext/erpnext/manufacturing/doctype/production_order/production_order.js +86,Transfer Materials for Manufacture,Передача материалов для производства
diff --git a/erpnext/translations/sk.csv b/erpnext/translations/sk.csv
index 21b736b..51714af 100644
--- a/erpnext/translations/sk.csv
+++ b/erpnext/translations/sk.csv
@@ -1224,7 +1224,7 @@
apps/erpnext/erpnext/stock/doctype/delivery_note/delivery_note.py +261,Packing Slip(s) cancelled,Balení Slip (y) zrušeno
apps/erpnext/erpnext/accounts/report/cash_flow/cash_flow.py +29,Cash Flow from Investing,Peňažný tok z investičných
apps/erpnext/erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py +96,Freight and Forwarding Charges,Nákladní a Spediční Poplatky
-DocType: Material Request Item,Sales Order No,Prodejní objednávky No
+DocType: Material Request Item,Sales Order,Prodejní objednávky No
DocType: Item Group,Item Group Name,Položka Název skupiny
apps/erpnext/erpnext/hr/report/employee_leave_balance/employee_leave_balance.py +27,Taken,Zaujatý
apps/erpnext/erpnext/manufacturing/doctype/production_order/production_order.js +86,Transfer Materials for Manufacture,Přenos Materiály pro výrobu
diff --git a/erpnext/translations/sl.csv b/erpnext/translations/sl.csv
index d7d8e8e..baa405e 100644
--- a/erpnext/translations/sl.csv
+++ b/erpnext/translations/sl.csv
@@ -1201,7 +1201,7 @@
apps/erpnext/erpnext/stock/doctype/delivery_note/delivery_note.py +261,Packing Slip(s) cancelled,Dobavnico (e) odpovedan
apps/erpnext/erpnext/accounts/report/cash_flow/cash_flow.py +29,Cash Flow from Investing,Denarni tokovi iz naložbenja
apps/erpnext/erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py +96,Freight and Forwarding Charges,Tovorni in Forwarding Stroški
-DocType: Material Request Item,Sales Order No,Prodaja Zaporedna številka
+DocType: Material Request Item,Sales Order,Prodaja Zaporedna številka
DocType: Item Group,Item Group Name,Item Name Group
apps/erpnext/erpnext/hr/report/employee_leave_balance/employee_leave_balance.py +27,Taken,Taken
apps/erpnext/erpnext/manufacturing/doctype/production_order/production_order.js +86,Transfer Materials for Manufacture,Transferji Materiali za Izdelava
diff --git a/erpnext/translations/sq.csv b/erpnext/translations/sq.csv
index 9eea645..9852f76 100644
--- a/erpnext/translations/sq.csv
+++ b/erpnext/translations/sq.csv
@@ -1201,7 +1201,7 @@
apps/erpnext/erpnext/stock/doctype/delivery_note/delivery_note.py +261,Packing Slip(s) cancelled,Paketimi Shqip (s) anulluar
apps/erpnext/erpnext/accounts/report/cash_flow/cash_flow.py +29,Cash Flow from Investing,Cash Flow nga Investimi
apps/erpnext/erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py +96,Freight and Forwarding Charges,Mallrave dhe Forwarding Pagesat
-DocType: Material Request Item,Sales Order No,Rendit Sales Asnjë
+DocType: Material Request Item,Sales Order,Rendit Sales Asnjë
DocType: Item Group,Item Group Name,Item Emri i Grupit
apps/erpnext/erpnext/hr/report/employee_leave_balance/employee_leave_balance.py +27,Taken,Marrë
apps/erpnext/erpnext/manufacturing/doctype/production_order/production_order.js +86,Transfer Materials for Manufacture,Materialet Transferimi për prodhimin e
diff --git a/erpnext/translations/sr.csv b/erpnext/translations/sr.csv
index c582b52..6d6028a 100644
--- a/erpnext/translations/sr.csv
+++ b/erpnext/translations/sr.csv
@@ -1226,7 +1226,7 @@
apps/erpnext/erpnext/stock/doctype/delivery_note/delivery_note.py +261,Packing Slip(s) cancelled,Упаковочный лист (ы) отменяется
apps/erpnext/erpnext/accounts/report/cash_flow/cash_flow.py +29,Cash Flow from Investing,Новчани ток од Инвестирање
apps/erpnext/erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py +96,Freight and Forwarding Charges,Грузовые и экспедиторские Сборы
-DocType: Material Request Item,Sales Order No,Продаја Наручите Нема
+DocType: Material Request Item,Sales Order,Продаја Наручите Нема
DocType: Item Group,Item Group Name,Ставка Назив групе
apps/erpnext/erpnext/hr/report/employee_leave_balance/employee_leave_balance.py +27,Taken,Такен
apps/erpnext/erpnext/manufacturing/doctype/production_order/production_order.js +86,Transfer Materials for Manufacture,Трансфер материјал за производњу
diff --git a/erpnext/translations/sv.csv b/erpnext/translations/sv.csv
index d3d0524..b019ed4 100644
--- a/erpnext/translations/sv.csv
+++ b/erpnext/translations/sv.csv
@@ -1201,7 +1201,7 @@
apps/erpnext/erpnext/stock/doctype/delivery_note/delivery_note.py +261,Packing Slip(s) cancelled,Följesedlar avbryts
apps/erpnext/erpnext/accounts/report/cash_flow/cash_flow.py +29,Cash Flow from Investing,Kassaflöde från investeringsverksamheten
apps/erpnext/erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py +96,Freight and Forwarding Charges,"Frakt, spedition Avgifter"
-DocType: Material Request Item,Sales Order No,Kundorder Ingen
+DocType: Material Request Item,Sales Order,Kundorder Ingen
DocType: Item Group,Item Group Name,Produkt Gruppnamn
apps/erpnext/erpnext/hr/report/employee_leave_balance/employee_leave_balance.py +27,Taken,Taken
apps/erpnext/erpnext/manufacturing/doctype/production_order/production_order.js +86,Transfer Materials for Manufacture,Överför Material Tillverkning
diff --git a/erpnext/translations/ta.csv b/erpnext/translations/ta.csv
index 933ea27..0de536f 100644
--- a/erpnext/translations/ta.csv
+++ b/erpnext/translations/ta.csv
@@ -1226,7 +1226,7 @@
apps/erpnext/erpnext/stock/doctype/delivery_note/delivery_note.py +261,Packing Slip(s) cancelled,மூட்டை சீட்டு (கள்) ரத்து
apps/erpnext/erpnext/accounts/report/cash_flow/cash_flow.py +29,Cash Flow from Investing,முதலீடு இருந்து பண பரிமாற்ற
apps/erpnext/erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py +96,Freight and Forwarding Charges,சரக்கு மற்றும் அனுப்புதல் கட்டணம்
-DocType: Material Request Item,Sales Order No,விற்பனை ஆணை இல்லை
+DocType: Material Request Item,Sales Order,விற்பனை ஆணை இல்லை
DocType: Item Group,Item Group Name,உருப்படியை குழு பெயர்
apps/erpnext/erpnext/hr/report/employee_leave_balance/employee_leave_balance.py +27,Taken,எடுக்கப்பட்ட
apps/erpnext/erpnext/manufacturing/doctype/production_order/production_order.js +86,Transfer Materials for Manufacture,உற்பத்தி இடமாற்றத் பொருட்கள்
diff --git a/erpnext/translations/te.csv b/erpnext/translations/te.csv
index 34be988..656e7dd 100644
--- a/erpnext/translations/te.csv
+++ b/erpnext/translations/te.csv
@@ -1201,7 +1201,7 @@
apps/erpnext/erpnext/stock/doctype/delivery_note/delivery_note.py +261,Packing Slip(s) cancelled,రద్దు ప్యాకింగ్ స్లిప్ (లు)
apps/erpnext/erpnext/accounts/report/cash_flow/cash_flow.py +29,Cash Flow from Investing,ఇన్వెస్టింగ్ నుండి నగదు ప్రవాహ
apps/erpnext/erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py +96,Freight and Forwarding Charges,ఫ్రైట్ మరియు ఫార్వార్డింగ్ ఛార్జీలు
-DocType: Material Request Item,Sales Order No,సేల్స్ ఆర్డర్ సంఖ్య
+DocType: Material Request Item,Sales Order,సేల్స్ ఆర్డర్ సంఖ్య
DocType: Item Group,Item Group Name,అంశం గ్రూప్ పేరు
apps/erpnext/erpnext/hr/report/employee_leave_balance/employee_leave_balance.py +27,Taken,తీసుకోబడినది
apps/erpnext/erpnext/manufacturing/doctype/production_order/production_order.js +86,Transfer Materials for Manufacture,తయారీకి ట్రాన్స్ఫర్ మెటీరియల్స్
diff --git a/erpnext/translations/th.csv b/erpnext/translations/th.csv
index fb0e9e0..1847549 100644
--- a/erpnext/translations/th.csv
+++ b/erpnext/translations/th.csv
@@ -1226,7 +1226,7 @@
apps/erpnext/erpnext/stock/doctype/delivery_note/delivery_note.py +261,Packing Slip(s) cancelled,บรรจุ สลิป (s) ยกเลิก
apps/erpnext/erpnext/accounts/report/cash_flow/cash_flow.py +29,Cash Flow from Investing,กระแสเงินสดจากการลงทุน
apps/erpnext/erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py +96,Freight and Forwarding Charges,การขนส่งสินค้าและ การส่งต่อ ค่าใช้จ่าย
-DocType: Material Request Item,Sales Order No,สั่งซื้อยอดขาย
+DocType: Material Request Item,Sales Order,สั่งซื้อยอดขาย
DocType: Item Group,Item Group Name,ชื่อกลุ่มสินค้า
apps/erpnext/erpnext/hr/report/employee_leave_balance/employee_leave_balance.py +27,Taken,ยึด
apps/erpnext/erpnext/manufacturing/doctype/production_order/production_order.js +86,Transfer Materials for Manufacture,วัสดุการโอนเงินสำหรับการผลิต
diff --git a/erpnext/translations/tr.csv b/erpnext/translations/tr.csv
index 1153bd0..3b17a30 100644
--- a/erpnext/translations/tr.csv
+++ b/erpnext/translations/tr.csv
@@ -1495,8 +1495,8 @@
apps/erpnext/erpnext/stock/doctype/delivery_note/delivery_note.py +261,Packing Slip(s) cancelled,Ambalaj Makbuzları İptal Edildi
apps/erpnext/erpnext/accounts/report/cash_flow/cash_flow.py +29,Cash Flow from Investing,Yatırım Nakit Akışı
apps/erpnext/erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py +96,Freight and Forwarding Charges,Navlun ve Sevkiyat Ücretleri
-DocType: Material Request Item,Sales Order No,Satış Sipariş No
-DocType: Material Request Item,Sales Order No,Satış Sipariş No
+DocType: Material Request Item,Sales Order,Satış Sipariş No
+DocType: Material Request Item,Sales Order,Satış Sipariş No
DocType: Item Group,Item Group Name,Ürün Grup Adı
DocType: Item Group,Item Group Name,Ürün Grup Adı
apps/erpnext/erpnext/hr/report/employee_leave_balance/employee_leave_balance.py +27,Taken,Alınmış
diff --git a/erpnext/translations/uk.csv b/erpnext/translations/uk.csv
index 54384ce..82678f1 100644
--- a/erpnext/translations/uk.csv
+++ b/erpnext/translations/uk.csv
@@ -1201,7 +1201,7 @@
apps/erpnext/erpnext/stock/doctype/delivery_note/delivery_note.py +261,Packing Slip(s) cancelled,Упаковка ковзання (и) скасовується
apps/erpnext/erpnext/accounts/report/cash_flow/cash_flow.py +29,Cash Flow from Investing,Потік грошових коштів від інвестиційної
apps/erpnext/erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py +96,Freight and Forwarding Charges,Вантажні та експедиторські Збори
-DocType: Material Request Item,Sales Order No,Продажі Замовити Немає
+DocType: Material Request Item,Sales Order,Продажі Замовити Немає
DocType: Item Group,Item Group Name,Назва товару Група
apps/erpnext/erpnext/hr/report/employee_leave_balance/employee_leave_balance.py +27,Taken,Взятий
apps/erpnext/erpnext/manufacturing/doctype/production_order/production_order.js +86,Transfer Materials for Manufacture,Передача матеріалів для виробництва
diff --git a/erpnext/translations/ur.csv b/erpnext/translations/ur.csv
index fdab335..6170b73 100644
--- a/erpnext/translations/ur.csv
+++ b/erpnext/translations/ur.csv
@@ -1199,7 +1199,7 @@
apps/erpnext/erpnext/stock/doctype/delivery_note/delivery_note.py +261,Packing Slip(s) cancelled,منسوخ پیکنگ پرچی (ے)
apps/erpnext/erpnext/accounts/report/cash_flow/cash_flow.py +29,Cash Flow from Investing,سرمایہ کاری سے کیش فلو
apps/erpnext/erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py +96,Freight and Forwarding Charges,فریٹ فارورڈنگ اور چارجز
-DocType: Material Request Item,Sales Order No,سیلز آرڈر نہیں
+DocType: Material Request Item,Sales Order,سیلز آرڈر نہیں
DocType: Item Group,Item Group Name,آئٹم گروپ کا نام
apps/erpnext/erpnext/hr/report/employee_leave_balance/employee_leave_balance.py +27,Taken,لیا
apps/erpnext/erpnext/manufacturing/doctype/production_order/production_order.js +86,Transfer Materials for Manufacture,تیاری کے لئے کی منتقلی کی معدنیات
diff --git a/erpnext/translations/vi.csv b/erpnext/translations/vi.csv
index 623866b..ec6f5d7 100644
--- a/erpnext/translations/vi.csv
+++ b/erpnext/translations/vi.csv
@@ -1226,7 +1226,7 @@
apps/erpnext/erpnext/stock/doctype/delivery_note/delivery_note.py +261,Packing Slip(s) cancelled,Đóng gói trượt (s) bị hủy bỏ
apps/erpnext/erpnext/accounts/report/cash_flow/cash_flow.py +29,Cash Flow from Investing,Lưu chuyển tiền tệ từ đầu tư
apps/erpnext/erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py +96,Freight and Forwarding Charges,Vận tải hàng hóa và chuyển tiếp phí
-DocType: Material Request Item,Sales Order No,Không bán hàng đặt hàng
+DocType: Material Request Item,Sales Order,Không bán hàng đặt hàng
DocType: Item Group,Item Group Name,Mục Group Name
apps/erpnext/erpnext/hr/report/employee_leave_balance/employee_leave_balance.py +27,Taken,Lấy
apps/erpnext/erpnext/manufacturing/doctype/production_order/production_order.js +86,Transfer Materials for Manufacture,Chuyển Vật liệu cho sản xuất
diff --git a/erpnext/translations/zh-cn.csv b/erpnext/translations/zh-cn.csv
index a4073d3..2d6fd4a 100644
--- a/erpnext/translations/zh-cn.csv
+++ b/erpnext/translations/zh-cn.csv
@@ -1212,7 +1212,7 @@
apps/erpnext/erpnext/stock/doctype/delivery_note/delivery_note.py +261,Packing Slip(s) cancelled,装箱单( S)取消
apps/erpnext/erpnext/accounts/report/cash_flow/cash_flow.py +29,Cash Flow from Investing,从投资现金流
apps/erpnext/erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py +96,Freight and Forwarding Charges,货运及转运费
-DocType: Material Request Item,Sales Order No,销售订单编号
+DocType: Material Request Item,Sales Order,销售订单编号
DocType: Item Group,Item Group Name,品目群组名称
apps/erpnext/erpnext/hr/report/employee_leave_balance/employee_leave_balance.py +27,Taken,已经过
apps/erpnext/erpnext/manufacturing/doctype/production_order/production_order.js +86,Transfer Materials for Manufacture,转移制造材料
diff --git a/erpnext/translations/zh-tw.csv b/erpnext/translations/zh-tw.csv
index 5074cdd..4a2f146 100644
--- a/erpnext/translations/zh-tw.csv
+++ b/erpnext/translations/zh-tw.csv
@@ -1225,7 +1225,7 @@
apps/erpnext/erpnext/stock/doctype/delivery_note/delivery_note.py +261,Packing Slip(s) cancelled,包裝單( S)已取消
apps/erpnext/erpnext/accounts/report/cash_flow/cash_flow.py +29,Cash Flow from Investing,從投資現金流
apps/erpnext/erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py +96,Freight and Forwarding Charges,貨運代理費
-DocType: Material Request Item,Sales Order No,銷售訂單號
+DocType: Material Request Item,Sales Order,銷售訂單號
DocType: Item Group,Item Group Name,項目群組名稱
apps/erpnext/erpnext/hr/report/employee_leave_balance/employee_leave_balance.py +27,Taken,拍攝
apps/erpnext/erpnext/manufacturing/doctype/production_order/production_order.js +86,Transfer Materials for Manufacture,轉移製造材料