Merge pull request #3902 from rmehta/pos-print
[enhancement] POS print after save #3853
diff --git a/erpnext/change_log/current/item_variants.md b/erpnext/change_log/current/item_variants.md
new file mode 100644
index 0000000..268b595
--- /dev/null
+++ b/erpnext/change_log/current/item_variants.md
@@ -0,0 +1,6 @@
+- Make Variants added to Item Master
+- Added ability to specify Range of Numeric Values in Attribute Master
+- Fixed an issue in filtering Templates in Item List View
+- Added Patch to fetch Item Template Attributes
+- Allow Editing variant attribute in Variant. Add validation to check duplication.
+- Removed Manage Variants
\ No newline at end of file
diff --git a/erpnext/change_log/v5/v5_1_0.md b/erpnext/change_log/v5/v5_1_0.md
index 3ed2227..bf869a0 100644
--- a/erpnext/change_log/v5/v5_1_0.md
+++ b/erpnext/change_log/v5/v5_1_0.md
@@ -1,4 +1,3 @@
-- Item variants is now manageable via dedicated tool **Manage Variants**. To learn about it, check [Manual Page for Item variants](https://manual.erpnext.com/contents/stock/item/item-variants)
- Against account in General Ledger will show Party instead of Account (which is not useful)
- Print format for recurring documents can be set by the users
- Recurring documents won't be created for Stopped Sales / Purchase Orders.
diff --git a/erpnext/change_log/v5/v5_1_3.md b/erpnext/change_log/v5/v5_1_3.md
index 9825a10..d6fbb7b 100644
--- a/erpnext/change_log/v5/v5_1_3.md
+++ b/erpnext/change_log/v5/v5_1_3.md
@@ -1,3 +1,2 @@
- Hide zero balance rows in batch-wise balance history report
-- Autocomplete issue fixed in Manage Variants
- Remove user permission (Employee role) if user id is unset from Employee record
\ No newline at end of file
diff --git a/erpnext/config/learn.py b/erpnext/config/learn.py
index 0b5f2d5..e0f1c06 100644
--- a/erpnext/config/learn.py
+++ b/erpnext/config/learn.py
@@ -87,6 +87,11 @@
"label": _("Lead to Quotation"),
"youtube_id": "TxYX4r4JAKA"
},
+ {
+ "type": "help",
+ "label": _("Newsletters"),
+ "youtube_id": "muLKsCrrDRo"
+ },
]
},
{
@@ -122,6 +127,26 @@
"label": _("Opening Stock Balance"),
"youtube_id": "0yPgrtfeCTs"
},
+ {
+ "type": "help",
+ "label": _("Making Stock Entries"),
+ "youtube_id": "Njt107hlY3I"
+ },
+ {
+ "type": "help",
+ "label": _("Serialized Inventory"),
+ "youtube_id": "gvOVlEwFDAk"
+ },
+ {
+ "type": "help",
+ "label": _("Batch Inventory"),
+ "youtube_id": "J0QKl7ABPKM"
+ },
+ {
+ "type": "help",
+ "label": _("Managing Subcontracting"),
+ "youtube_id": "ThiMCC2DtKo"
+ },
]
},
{
@@ -137,7 +162,16 @@
"label": _("Material Request to Purchase Order"),
"youtube_id": "4TN9kPyfIqM"
},
-
+ {
+ "type": "help",
+ "label": _("Purchase Order to Payment"),
+ "youtube_id": "EK65tLdVUDk"
+ },
+ {
+ "type": "help",
+ "label": _("Managing Subcontracting"),
+ "youtube_id": "ThiMCC2DtKo"
+ },
]
},
{
@@ -179,6 +213,11 @@
"label": _("Expense Claims"),
"youtube_id": "5SZHJF--ZFY"
},
+ {
+ "type": "help",
+ "label": _("Processing Payroll"),
+ "youtube_id": "apgE-f25Rm0"
+ },
]
},
{
diff --git a/erpnext/config/stock.py b/erpnext/config/stock.py
index f4ec6f0..f5ecba0 100644
--- a/erpnext/config/stock.py
+++ b/erpnext/config/stock.py
@@ -82,12 +82,7 @@
"type": "doctype",
"name": "Stock UOM Replace Utility",
"description": _("Change UOM for an Item."),
- },
- {
- "type": "doctype",
- "name": "Manage Variants",
- "description": _("Manage Item Variants."),
- },
+ }
]
},
{
diff --git a/erpnext/crm/doctype/opportunity/opportunity.json b/erpnext/crm/doctype/opportunity/opportunity.json
index df04387..7bf69f3 100644
--- a/erpnext/crm/doctype/opportunity/opportunity.json
+++ b/erpnext/crm/doctype/opportunity/opportunity.json
@@ -1,36 +1,67 @@
{
+ "allow_copy": 0,
"allow_import": 1,
+ "allow_rename": 0,
"autoname": "naming_series:",
"creation": "2013-03-07 18:50:30",
+ "custom": 0,
"description": "Potential Sales Deal",
"docstatus": 0,
"doctype": "DocType",
- "document_type": "Transaction",
+ "document_type": "Document",
"fields": [
{
+ "allow_on_submit": 0,
"fieldname": "from_section",
"fieldtype": "Section Break",
- "label": "From",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "",
+ "no_copy": 0,
"options": "icon-user",
- "permlevel": 0
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "naming_series",
"fieldtype": "Select",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Series",
"no_copy": 1,
"oldfieldname": "naming_series",
"oldfieldtype": "Select",
"options": "OPTY-",
"permlevel": 0,
+ "print_hide": 0,
"read_only": 0,
- "reqd": 1
+ "report_hide": 0,
+ "reqd": 1,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "enquiry_from",
"fieldtype": "Select",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
"in_list_view": 0,
"label": "Opportunity From",
+ "no_copy": 0,
"oldfieldname": "enquiry_from",
"oldfieldtype": "Select",
"options": "\nLead\nCustomer",
@@ -38,13 +69,18 @@
"print_hide": 1,
"read_only": 0,
"report_hide": 0,
- "reqd": 1
+ "reqd": 1,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"depends_on": "eval:doc.enquiry_from===\"Customer\"",
"fieldname": "customer",
"fieldtype": "Link",
"hidden": 0,
+ "ignore_user_permissions": 0,
"in_filter": 1,
"in_list_view": 0,
"label": "Customer",
@@ -55,65 +91,126 @@
"permlevel": 0,
"print_hide": 1,
"read_only": 0,
+ "report_hide": 0,
"reqd": 0,
- "search_index": 0
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"depends_on": "eval:doc.enquiry_from===\"Lead\"",
"fieldname": "lead",
"fieldtype": "Link",
"hidden": 0,
+ "ignore_user_permissions": 0,
"in_filter": 1,
"in_list_view": 0,
"label": "Lead",
+ "no_copy": 0,
"oldfieldname": "lead",
"oldfieldtype": "Link",
"options": "Lead",
"permlevel": 0,
"print_hide": 1,
- "read_only": 0
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"depends_on": "",
"fieldname": "customer_name",
"fieldtype": "Data",
"hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Customer / Lead Name",
+ "no_copy": 0,
"permlevel": 0,
"print_hide": 0,
- "read_only": 1
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "column_break0",
"fieldtype": "Column Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
"oldfieldtype": "Column Break",
"permlevel": 0,
+ "print_hide": 0,
"read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0,
"width": "50%"
},
{
+ "allow_on_submit": 0,
"fieldname": "title",
"fieldtype": "Data",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Title",
+ "no_copy": 0,
"permlevel": 0,
- "precision": ""
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"default": "Sales",
"fieldname": "enquiry_type",
"fieldtype": "Select",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Opportunity Type",
+ "no_copy": 0,
"oldfieldname": "enquiry_type",
"oldfieldtype": "Select",
"options": "Sales\nMaintenance",
"permlevel": 0,
+ "print_hide": 0,
"read_only": 0,
- "reqd": 1
+ "report_hide": 0,
+ "reqd": 1,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"default": "Open",
"fieldname": "status",
"fieldtype": "Select",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
"in_list_view": 0,
"label": "Status",
"no_copy": 1,
@@ -123,276 +220,571 @@
"permlevel": 0,
"print_hide": 1,
"read_only": 0,
- "reqd": 1
+ "report_hide": 0,
+ "reqd": 1,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "with_items",
"fieldtype": "Check",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "With Items",
+ "no_copy": 0,
"permlevel": 0,
- "precision": ""
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"depends_on": "with_items",
"fieldname": "items_section",
"fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "",
+ "no_copy": 0,
"oldfieldtype": "Section Break",
"options": "icon-shopping-cart",
"permlevel": 0,
- "read_only": 0
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"description": "",
"fieldname": "items",
"fieldtype": "Table",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Items",
+ "no_copy": 0,
"oldfieldname": "enquiry_details",
"oldfieldtype": "Table",
"options": "Opportunity Item",
"permlevel": 0,
- "read_only": 0
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "fold",
"fieldtype": "Fold",
- "permlevel": 0
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"depends_on": "eval:doc.lead || doc.customer",
"fieldname": "contact_info",
"fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Contact Info",
+ "no_copy": 0,
"options": "icon-bullhorn",
"permlevel": 0,
- "read_only": 0
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"depends_on": "eval:doc.customer || doc.lead",
"fieldname": "customer_address",
"fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
"in_filter": 1,
+ "in_list_view": 0,
"label": "Customer / Lead Address",
+ "no_copy": 0,
"options": "Address",
"permlevel": 0,
"print_hide": 1,
- "read_only": 0
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "address_display",
"fieldtype": "Small Text",
"hidden": 1,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Address",
+ "no_copy": 0,
"oldfieldname": "address",
"oldfieldtype": "Small Text",
"permlevel": 0,
- "read_only": 1
+ "print_hide": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"depends_on": "customer",
"description": "",
"fieldname": "territory",
"fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
"in_filter": 1,
"in_list_view": 1,
"label": "Territory",
+ "no_copy": 0,
"options": "Territory",
"permlevel": 0,
"print_hide": 1,
"read_only": 0,
+ "report_hide": 0,
"reqd": 0,
- "search_index": 1
+ "search_index": 1,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"depends_on": "customer",
"description": "",
"fieldname": "customer_group",
"fieldtype": "Link",
"hidden": 0,
+ "ignore_user_permissions": 0,
"in_filter": 1,
+ "in_list_view": 0,
"label": "Customer Group",
+ "no_copy": 0,
"oldfieldname": "customer_group",
"oldfieldtype": "Link",
"options": "Customer Group",
"permlevel": 0,
"print_hide": 1,
"read_only": 0,
+ "report_hide": 0,
"reqd": 0,
- "search_index": 1
+ "search_index": 1,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "column_break3",
"fieldtype": "Column Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
"permlevel": 0,
- "read_only": 0
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"depends_on": "eval:doc.lead || doc.customer",
"fieldname": "contact_person",
"fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
"in_filter": 1,
+ "in_list_view": 0,
"label": "Contact Person",
+ "no_copy": 0,
"options": "Contact",
"permlevel": 0,
"print_hide": 1,
- "read_only": 0
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"depends_on": "customer",
"fieldname": "contact_display",
"fieldtype": "Small Text",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Contact",
+ "no_copy": 0,
"permlevel": 0,
- "read_only": 1
+ "print_hide": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"depends_on": "eval:doc.lead || doc.customer",
"fieldname": "contact_email",
"fieldtype": "Small Text",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Contact Email",
+ "no_copy": 0,
"permlevel": 0,
- "read_only": 1
+ "print_hide": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"depends_on": "eval:doc.lead || doc.customer",
"fieldname": "contact_mobile",
"fieldtype": "Small Text",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Contact Mobile No",
+ "no_copy": 0,
"permlevel": 0,
- "read_only": 1
+ "print_hide": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "more_info",
"fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "More Info",
+ "no_copy": 0,
"oldfieldtype": "Section Break",
"options": "icon-file-text",
"permlevel": 0,
- "read_only": 0
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "column_break1",
"fieldtype": "Column Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
"oldfieldtype": "Column Break",
"permlevel": 0,
+ "print_hide": 0,
"read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0,
"width": "50%"
},
{
+ "allow_on_submit": 0,
"default": "Today",
"fieldname": "transaction_date",
"fieldtype": "Date",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Opportunity Date",
+ "no_copy": 0,
"oldfieldname": "transaction_date",
"oldfieldtype": "Date",
"permlevel": 0,
+ "print_hide": 0,
"read_only": 0,
+ "report_hide": 0,
"reqd": 1,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0,
"width": "50px"
},
{
+ "allow_on_submit": 0,
"fieldname": "company",
"fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
"in_filter": 1,
+ "in_list_view": 0,
"label": "Company",
+ "no_copy": 0,
"oldfieldname": "company",
"oldfieldtype": "Link",
"options": "Company",
"permlevel": 0,
"print_hide": 1,
"read_only": 0,
+ "report_hide": 0,
"reqd": 1,
- "search_index": 1
+ "search_index": 1,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "source",
"fieldtype": "Select",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Source",
+ "no_copy": 0,
"oldfieldname": "source",
"oldfieldtype": "Select",
"options": "\nExisting Customer\nReference\nAdvertisement\nCold Calling\nExhibition\nSupplier Reference\nMass Mailing\nCustomer's Vendor\nCampaign\nWalk In",
"permlevel": 0,
- "read_only": 0
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"description": "Enter name of campaign if source of enquiry is campaign",
"fieldname": "campaign",
"fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Campaign",
+ "no_copy": 0,
"oldfieldname": "campaign",
"oldfieldtype": "Link",
"options": "Campaign",
"permlevel": 0,
- "read_only": 0
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "fiscal_year",
"fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
"in_filter": 1,
+ "in_list_view": 0,
"label": "Fiscal Year",
+ "no_copy": 0,
"oldfieldname": "fiscal_year",
"oldfieldtype": "Select",
"options": "Fiscal Year",
"permlevel": 0,
"print_hide": 1,
"read_only": 0,
+ "report_hide": 0,
"reqd": 1,
- "search_index": 1
+ "search_index": 1,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"depends_on": "eval:!doc.__islocal",
"fieldname": "order_lost_reason",
"fieldtype": "Text",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Lost Reason",
"no_copy": 1,
"permlevel": 0,
- "read_only": 1
+ "print_hide": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "column_break2",
"fieldtype": "Column Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
"oldfieldtype": "Column Break",
"permlevel": 0,
+ "print_hide": 0,
"read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0,
"width": "50%"
},
{
+ "allow_on_submit": 0,
"description": "Your sales person who will contact the customer in future",
"fieldname": "contact_by",
"fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
"in_filter": 1,
+ "in_list_view": 0,
"label": "Next Contact By",
+ "no_copy": 0,
"oldfieldname": "contact_by",
"oldfieldtype": "Link",
"options": "User",
"permlevel": 0,
+ "print_hide": 0,
"read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0,
"width": "75px"
},
{
+ "allow_on_submit": 0,
"description": "Your sales person will get a reminder on this date to contact the customer",
"fieldname": "contact_date",
"fieldtype": "Datetime",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Next Contact Date",
+ "no_copy": 0,
"oldfieldname": "contact_date",
"oldfieldtype": "Date",
"permlevel": 0,
- "read_only": 0
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "to_discuss",
"fieldtype": "Small Text",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "To Discuss",
"no_copy": 1,
"oldfieldname": "to_discuss",
"oldfieldtype": "Small Text",
"permlevel": 0,
- "read_only": 0
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "amended_from",
"fieldtype": "Link",
+ "hidden": 0,
"ignore_user_permissions": 1,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Amended From",
"no_copy": 1,
"oldfieldname": "amended_from",
@@ -401,13 +793,24 @@
"permlevel": 0,
"print_hide": 1,
"read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0,
"width": "150px"
}
],
+ "hide_heading": 0,
+ "hide_toolbar": 0,
"icon": "icon-info-sign",
"idx": 1,
+ "in_create": 0,
+ "in_dialog": 0,
"is_submittable": 0,
- "modified": "2015-04-13 12:53:43.490817",
+ "issingle": 0,
+ "istable": 0,
+ "modified": "2015-08-07 17:11:33.955441",
"modified_by": "Administrator",
"module": "CRM",
"name": "Opportunity",
@@ -420,31 +823,42 @@
"create": 1,
"delete": 1,
"email": 1,
+ "export": 0,
+ "if_owner": 0,
+ "import": 0,
"permlevel": 0,
"print": 1,
"read": 1,
"report": 1,
"role": "Sales User",
+ "set_user_permissions": 0,
"share": 1,
"submit": 0,
"write": 1
},
{
"amend": 0,
+ "apply_user_permissions": 0,
"cancel": 0,
"create": 1,
"delete": 1,
"email": 1,
+ "export": 0,
+ "if_owner": 0,
+ "import": 0,
"permlevel": 0,
"print": 1,
"read": 1,
"report": 1,
"role": "Sales Manager",
+ "set_user_permissions": 0,
"share": 1,
"submit": 0,
"write": 1
}
],
+ "read_only": 0,
+ "read_only_onload": 0,
"search_fields": "status,transaction_date,customer,lead,enquiry_type,territory,company",
"sort_field": "modified",
"sort_order": "DESC",
diff --git a/erpnext/manufacturing/doctype/bom/bom.json b/erpnext/manufacturing/doctype/bom/bom.json
index 67e2b78..b1ffd4d 100644
--- a/erpnext/manufacturing/doctype/bom/bom.json
+++ b/erpnext/manufacturing/doctype/bom/bom.json
@@ -3,50 +3,112 @@
"allow_import": 1,
"allow_rename": 0,
"creation": "2013-01-22 15:11:38",
+ "custom": 0,
"docstatus": 0,
"doctype": "DocType",
"document_type": "Master",
"fields": [
{
+ "allow_on_submit": 0,
"description": "Item to be manufactured or repacked",
"fieldname": "item",
"fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
"in_filter": 1,
"in_list_view": 1,
"label": "Item",
+ "no_copy": 0,
"oldfieldname": "item",
"oldfieldtype": "Link",
"options": "Item",
"permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
"reqd": 1,
- "search_index": 1
+ "search_index": 1,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "item_name",
"fieldtype": "Data",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Item Name",
+ "no_copy": 0,
"permlevel": 0,
- "precision": ""
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "rm_cost_as_per",
"fieldtype": "Select",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Rate Of Materials Based On",
+ "no_copy": 0,
"options": "Valuation Rate\nLast Purchase Rate\nPrice List",
- "permlevel": 0
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"depends_on": "eval:doc.rm_cost_as_per===\"Price List\"",
"fieldname": "buying_price_list",
"fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Price List",
+ "no_copy": 0,
"options": "Price List",
- "permlevel": 0
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "cb0",
"fieldtype": "Column Break",
- "permlevel": 0
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
"allow_on_submit": 1,
@@ -54,213 +116,517 @@
"fieldname": "is_active",
"fieldtype": "Check",
"hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
"in_list_view": 1,
"label": "Is Active",
"no_copy": 1,
"oldfieldname": "is_active",
"oldfieldtype": "Select",
"permlevel": 0,
- "reqd": 0
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
"allow_on_submit": 1,
"default": "1",
"fieldname": "is_default",
"fieldtype": "Check",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
"in_list_view": 1,
"label": "Is Default",
"no_copy": 1,
"oldfieldname": "is_default",
"oldfieldtype": "Check",
- "permlevel": 0
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"description": "Manage cost of operations",
"fieldname": "with_operations",
"fieldtype": "Check",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "With Operations",
- "permlevel": 0
+ "no_copy": 0,
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"depends_on": "",
"description": "Specify the operations, operating cost and give a unique Operation no to your operations.",
"fieldname": "operations_section",
"fieldtype": "Section Break",
- "label": "Operations",
- "oldfieldtype": "Section Break",
- "permlevel": 0
- },
- {
- "fieldname": "operations",
- "fieldtype": "Table",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
"in_list_view": 0,
"label": "Operations",
+ "no_copy": 0,
+ "oldfieldtype": "Section Break",
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
+ },
+ {
+ "allow_on_submit": 0,
+ "fieldname": "operations",
+ "fieldtype": "Table",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Operations",
+ "no_copy": 0,
"oldfieldname": "bom_operations",
"oldfieldtype": "Table",
"options": "BOM Operation",
- "permlevel": 0
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "materials_section",
"fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Materials",
+ "no_copy": 0,
"oldfieldtype": "Section Break",
- "permlevel": 0
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "items",
"fieldtype": "Table",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Items",
+ "no_copy": 0,
"oldfieldname": "bom_materials",
"oldfieldtype": "Table",
"options": "BOM Item",
- "permlevel": 0
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"default": "1",
"description": "Quantity of item obtained after manufacturing / repacking from given quantities of raw materials",
"fieldname": "quantity",
"fieldtype": "Float",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Quantity",
+ "no_copy": 0,
"oldfieldname": "quantity",
"oldfieldtype": "Currency",
"permlevel": 0,
- "reqd": 1
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 1,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "costing",
"fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Costing",
+ "no_copy": 0,
"oldfieldtype": "Section Break",
- "permlevel": 0
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "operating_cost",
"fieldtype": "Currency",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
"in_list_view": 0,
"label": "Operating Cost",
+ "no_copy": 0,
"options": "Company:company:default_currency",
"permlevel": 0,
- "read_only": 1
+ "print_hide": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "raw_material_cost",
"fieldtype": "Currency",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Raw Material Cost",
+ "no_copy": 0,
"options": "Company:company:default_currency",
"permlevel": 0,
- "read_only": 1
+ "print_hide": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "cb1",
"fieldtype": "Column Break",
- "permlevel": 0
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "total_cost",
"fieldtype": "Currency",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
"in_list_view": 1,
"label": "Total Cost",
+ "no_copy": 0,
"options": "Company:company:default_currency",
"permlevel": 0,
- "read_only": 1
+ "print_hide": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "more_info_section",
"fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "",
- "permlevel": 0
+ "no_copy": 0,
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "project_name",
"fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
"in_filter": 1,
+ "in_list_view": 0,
"label": "Project Name",
+ "no_copy": 0,
"oldfieldname": "project_name",
"oldfieldtype": "Link",
"options": "Project",
- "permlevel": 0
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "company",
"fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Company",
+ "no_copy": 0,
"options": "Company",
"permlevel": 0,
- "precision": ""
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "amended_from",
"fieldtype": "Link",
+ "hidden": 0,
"ignore_user_permissions": 1,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Amended From",
"no_copy": 1,
"options": "BOM",
"permlevel": 0,
"print_hide": 1,
- "read_only": 1
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "col_break23",
"fieldtype": "Column Break",
- "permlevel": 0
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "uom",
"fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Item UOM",
+ "no_copy": 0,
"options": "UOM",
"permlevel": 0,
- "read_only": 1
+ "print_hide": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "section_break_25",
"fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
"permlevel": 0,
- "precision": ""
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "description",
"fieldtype": "Small Text",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
"in_list_view": 0,
"label": "Item Desription",
+ "no_copy": 0,
"permlevel": 0,
- "read_only": 1
+ "print_hide": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "column_break_27",
"fieldtype": "Column Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
"permlevel": 0,
- "precision": ""
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "image",
"fieldtype": "Attach",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Image",
+ "no_copy": 0,
"permlevel": 0,
- "precision": ""
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
- "fieldname": "Image_view",
+ "allow_on_submit": 0,
+ "fieldname": "image_view",
"fieldtype": "Image",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Image View",
+ "no_copy": 0,
"options": "image",
"permlevel": 0,
- "precision": ""
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"depends_on": "eval:!doc.__islocal",
"fieldname": "section_break0",
"fieldtype": "Section Break",
"hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Materials Required (Exploded)",
+ "no_copy": 0,
"permlevel": 0,
- "print_hide": 0
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "exploded_items",
"fieldtype": "Table",
"hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Exploded_items",
"no_copy": 1,
"oldfieldname": "flat_bom_details",
@@ -268,7 +634,12 @@
"options": "BOM Explosion Item",
"permlevel": 0,
"print_hide": 1,
- "read_only": 1
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
}
],
"hide_heading": 0,
@@ -276,46 +647,59 @@
"icon": "icon-sitemap",
"idx": 1,
"in_create": 0,
+ "in_dialog": 0,
"is_submittable": 1,
"issingle": 0,
"istable": 0,
- "modified": "2015-06-26 02:02:30.705279",
+ "modified": "2015-08-12 08:52:36.656865",
"modified_by": "Administrator",
"module": "Manufacturing",
"name": "BOM",
"owner": "Administrator",
"permissions": [
{
+ "amend": 0,
+ "apply_user_permissions": 0,
"cancel": 1,
"create": 1,
"delete": 1,
"email": 1,
+ "export": 0,
+ "if_owner": 0,
+ "import": 0,
"permlevel": 0,
"print": 1,
"read": 1,
"report": 1,
"role": "Manufacturing Manager",
+ "set_user_permissions": 0,
"share": 1,
"submit": 1,
"write": 1
},
{
+ "amend": 0,
"apply_user_permissions": 1,
"cancel": 1,
"create": 1,
"delete": 1,
"email": 1,
+ "export": 0,
+ "if_owner": 0,
+ "import": 0,
"permlevel": 0,
"print": 1,
"read": 1,
"report": 1,
"role": "Manufacturing User",
+ "set_user_permissions": 0,
"share": 1,
"submit": 1,
"write": 1
}
],
"read_only": 0,
+ "read_only_onload": 0,
"search_fields": "item",
"sort_field": "modified",
"sort_order": "DESC"
diff --git a/erpnext/manufacturing/doctype/bom_explosion_item/bom_explosion_item.json b/erpnext/manufacturing/doctype/bom_explosion_item/bom_explosion_item.json
index 14f091a..a05113d 100644
--- a/erpnext/manufacturing/doctype/bom_explosion_item/bom_explosion_item.json
+++ b/erpnext/manufacturing/doctype/bom_explosion_item/bom_explosion_item.json
@@ -1,150 +1,336 @@
{
+ "allow_copy": 0,
+ "allow_import": 0,
+ "allow_rename": 0,
"autoname": "hash",
"creation": "2013-03-07 11:42:57",
+ "custom": 0,
"default_print_format": "Standard",
"docstatus": 0,
"doctype": "DocType",
"fields": [
{
+ "allow_on_submit": 0,
"fieldname": "item_code",
"fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
"in_list_view": 1,
"label": "Item Code",
+ "no_copy": 0,
"oldfieldname": "item_code",
"oldfieldtype": "Link",
"options": "Item",
"permlevel": 0,
- "read_only": 1
+ "print_hide": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "cb",
"fieldtype": "Column Break",
- "permlevel": 0,
- "precision": ""
- },
- {
- "fieldname": "item_name",
- "fieldtype": "Data",
- "in_list_view": 1,
- "label": "Item Name",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
"permlevel": 0,
"precision": "",
- "read_only": 1
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
+ "fieldname": "item_name",
+ "fieldtype": "Data",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 1,
+ "label": "Item Name",
+ "no_copy": 0,
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
+ },
+ {
+ "allow_on_submit": 0,
"fieldname": "section_break_3",
"fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
"permlevel": 0,
- "precision": ""
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "description",
"fieldtype": "Text",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
"in_list_view": 1,
"label": "Description",
+ "no_copy": 0,
"oldfieldname": "description",
"oldfieldtype": "Text",
"permlevel": 0,
+ "print_hide": 0,
"print_width": "300px",
"read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0,
"width": "300px"
},
{
+ "allow_on_submit": 0,
"fieldname": "column_break_2",
"fieldtype": "Column Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
"permlevel": 0,
- "precision": ""
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "image",
"fieldtype": "Attach",
"hidden": 1,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Image",
+ "no_copy": 0,
"permlevel": 0,
"precision": "",
- "print_hide": 1
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "image_view",
"fieldtype": "Image",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Image View",
+ "no_copy": 0,
"options": "image",
"permlevel": 0,
- "precision": ""
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "section_break_4",
"fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
"permlevel": 0,
- "precision": ""
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "qty",
"fieldtype": "Float",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
"in_list_view": 1,
"label": "Qty",
+ "no_copy": 0,
"oldfieldname": "qty",
"oldfieldtype": "Currency",
"permlevel": 0,
- "read_only": 1
+ "print_hide": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "rate",
"fieldtype": "Currency",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
"in_list_view": 1,
"label": "Rate",
+ "no_copy": 0,
"oldfieldname": "standard_rate",
"oldfieldtype": "Currency",
"options": "Company:company:default_currency",
"permlevel": 0,
- "read_only": 1
+ "print_hide": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "qty_consumed_per_unit",
"fieldtype": "Float",
"hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
"in_list_view": 1,
"label": "Qty Consumed Per Unit",
"no_copy": 0,
"permlevel": 0,
- "read_only": 1
+ "print_hide": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "column_break_8",
"fieldtype": "Column Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
"permlevel": 0,
- "precision": ""
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "stock_uom",
"fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
"in_list_view": 0,
"label": "Stock UOM",
+ "no_copy": 0,
"oldfieldname": "stock_uom",
"oldfieldtype": "Link",
"options": "UOM",
"permlevel": 0,
- "read_only": 1
+ "print_hide": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "amount",
"fieldtype": "Currency",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
"in_list_view": 1,
"label": "Amount",
+ "no_copy": 0,
"oldfieldname": "amount_as_per_sr",
"oldfieldtype": "Currency",
"options": "Company:company:default_currency",
"permlevel": 0,
- "read_only": 1
+ "print_hide": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
}
],
+ "hide_heading": 0,
+ "hide_toolbar": 0,
"idx": 1,
+ "in_create": 0,
+ "in_dialog": 0,
+ "is_submittable": 0,
+ "issingle": 0,
"istable": 1,
- "modified": "2015-02-19 01:06:59.399382",
+ "modified": "2015-08-12 08:52:39.190103",
"modified_by": "Administrator",
"module": "Manufacturing",
"name": "BOM Explosion Item",
"owner": "Administrator",
"permissions": [],
- "read_only": 0
+ "read_only": 0,
+ "read_only_onload": 0
}
\ No newline at end of file
diff --git a/erpnext/manufacturing/doctype/bom_item/bom_item.json b/erpnext/manufacturing/doctype/bom_item/bom_item.json
index 4870241..06d8350 100644
--- a/erpnext/manufacturing/doctype/bom_item/bom_item.json
+++ b/erpnext/manufacturing/doctype/bom_item/bom_item.json
@@ -1,174 +1,382 @@
{
+ "allow_copy": 0,
+ "allow_import": 0,
+ "allow_rename": 0,
"creation": "2013-02-22 01:27:49",
+ "custom": 0,
"docstatus": 0,
"doctype": "DocType",
"fields": [
{
+ "allow_on_submit": 0,
"fieldname": "item_code",
"fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
"in_filter": 1,
"in_list_view": 1,
"label": "Item Code",
+ "no_copy": 0,
"oldfieldname": "item_code",
"oldfieldtype": "Link",
"options": "Item",
"permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
"reqd": 1,
- "search_index": 1
+ "search_index": 1,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "item_name",
"fieldtype": "Data",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
"in_list_view": 1,
"label": "Item Name",
+ "no_copy": 0,
"permlevel": 0,
- "precision": ""
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "column_break_3",
"fieldtype": "Column Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
"permlevel": 0,
- "precision": ""
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "bom_no",
"fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
"in_filter": 1,
"in_list_view": 0,
"label": "BOM No",
+ "no_copy": 0,
"oldfieldname": "bom_no",
"oldfieldtype": "Link",
"options": "BOM",
"permlevel": 0,
+ "print_hide": 0,
"print_width": "150px",
+ "read_only": 0,
+ "report_hide": 0,
"reqd": 0,
"search_index": 1,
+ "set_only_once": 0,
+ "unique": 0,
"width": "150px"
},
{
+ "allow_on_submit": 0,
"fieldname": "section_break_5",
"fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
"permlevel": 0,
- "precision": ""
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "description",
"fieldtype": "Text",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Item Description",
+ "no_copy": 0,
"oldfieldname": "description",
"oldfieldtype": "Text",
"permlevel": 0,
+ "print_hide": 0,
"print_width": "250px",
+ "read_only": 0,
+ "report_hide": 0,
"reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0,
"width": "250px"
},
{
+ "allow_on_submit": 0,
"fieldname": "col_break1",
"fieldtype": "Column Break",
- "permlevel": 0
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "image",
"fieldtype": "Attach",
"hidden": 1,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Image",
+ "no_copy": 0,
"permlevel": 0,
"precision": "",
- "print_hide": 1
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "image_view",
"fieldtype": "Image",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Image View",
+ "no_copy": 0,
"options": "image",
"permlevel": 0,
- "precision": ""
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "quantity_and_rate",
"fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Quantity and Rate",
- "permlevel": 0
+ "no_copy": 0,
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "qty",
"fieldtype": "Float",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
"in_list_view": 1,
"label": "Qty",
+ "no_copy": 0,
"oldfieldname": "qty",
"oldfieldtype": "Currency",
"permlevel": 0,
- "reqd": 1
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 1,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"description": "See \"Rate Of Materials Based On\" in Costing Section",
"fieldname": "rate",
"fieldtype": "Currency",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
"in_list_view": 1,
"label": "Rate",
+ "no_copy": 0,
"options": "Company:company:default_currency",
"permlevel": 0,
- "reqd": 1
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 1,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "col_break2",
"fieldtype": "Column Break",
- "permlevel": 0
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "stock_uom",
"fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
"in_list_view": 0,
"label": "Stock UOM",
+ "no_copy": 0,
"oldfieldname": "stock_uom",
"oldfieldtype": "Data",
"options": "UOM",
"permlevel": 0,
+ "print_hide": 0,
"read_only": 1,
- "reqd": 1
+ "report_hide": 0,
+ "reqd": 1,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "amount",
"fieldtype": "Currency",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
"in_list_view": 1,
"label": "Amount",
+ "no_copy": 0,
"oldfieldname": "amount_as_per_mar",
"oldfieldtype": "Currency",
"options": "Company:company:default_currency",
"permlevel": 0,
+ "print_hide": 0,
"print_width": "150px",
"read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0,
"width": "150px"
},
{
+ "allow_on_submit": 0,
"fieldname": "scrap",
"fieldtype": "Float",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Scrap %",
+ "no_copy": 0,
"oldfieldname": "scrap",
"oldfieldtype": "Currency",
"permlevel": 0,
- "print_hide": 1
+ "print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "qty_consumed_per_unit",
"fieldtype": "Float",
"hidden": 1,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Qty Consumed Per Unit",
+ "no_copy": 0,
"oldfieldname": "qty_consumed_per_unit",
"oldfieldtype": "Float",
"permlevel": 0,
"print_hide": 1,
- "read_only": 1
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
}
],
+ "hide_heading": 0,
+ "hide_toolbar": 0,
"idx": 1,
+ "in_create": 0,
+ "in_dialog": 0,
+ "is_submittable": 0,
+ "issingle": 0,
"istable": 1,
- "modified": "2015-02-12 15:17:18.324810",
+ "modified": "2015-08-12 08:52:41.512788",
"modified_by": "Administrator",
"module": "Manufacturing",
"name": "BOM Item",
"owner": "Administrator",
"permissions": [],
+ "read_only": 0,
+ "read_only_onload": 0,
"sort_field": "modified",
"sort_order": "DESC"
}
\ No newline at end of file
diff --git a/erpnext/manufacturing/doctype/bom_operation/bom_operation.json b/erpnext/manufacturing/doctype/bom_operation/bom_operation.json
index 0c25e8f..59f0eb1 100644
--- a/erpnext/manufacturing/doctype/bom_operation/bom_operation.json
+++ b/erpnext/manufacturing/doctype/bom_operation/bom_operation.json
@@ -1,86 +1,175 @@
{
+ "allow_copy": 0,
+ "allow_import": 0,
+ "allow_rename": 0,
"creation": "2013-02-22 01:27:49",
+ "custom": 0,
"docstatus": 0,
"doctype": "DocType",
"fields": [
{
+ "allow_on_submit": 0,
"fieldname": "operation",
"fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
"in_list_view": 1,
"label": "Operation",
+ "no_copy": 0,
"oldfieldname": "operation_no",
"oldfieldtype": "Data",
"options": "Operation",
"permlevel": 0,
- "reqd": 1
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 1,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "workstation",
"fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
"in_list_view": 1,
"label": "Workstation",
+ "no_copy": 0,
"oldfieldname": "workstation",
"oldfieldtype": "Link",
"options": "Workstation",
"permlevel": 0,
- "reqd": 0
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "description",
"fieldtype": "Text",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
"in_list_view": 1,
"label": "Operation Description",
+ "no_copy": 0,
"oldfieldname": "opn_description",
"oldfieldtype": "Text",
"permlevel": 0,
- "reqd": 1
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 1,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "col_break1",
"fieldtype": "Column Break",
- "permlevel": 0
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "hour_rate",
"fieldtype": "Float",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
"in_list_view": 0,
"label": "Hour Rate",
+ "no_copy": 0,
"oldfieldname": "hour_rate",
"oldfieldtype": "Currency",
"permlevel": 0,
- "reqd": 0
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"description": "In minutes",
"fieldname": "time_in_mins",
"fieldtype": "Float",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
"in_list_view": 0,
"label": "Operation Time ",
+ "no_copy": 0,
"oldfieldname": "time_in_mins",
"oldfieldtype": "Currency",
"options": "",
"permlevel": 0,
- "reqd": 1
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 1,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
"allow_on_submit": 0,
"fieldname": "operating_cost",
"fieldtype": "Currency",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
"in_list_view": 1,
"label": "Operating Cost",
+ "no_copy": 0,
"oldfieldname": "operating_cost",
"oldfieldtype": "Currency",
"permlevel": 0,
+ "print_hide": 0,
"read_only": 1,
- "reqd": 0
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
}
],
+ "hide_heading": 0,
+ "hide_toolbar": 0,
"idx": 1,
+ "in_create": 0,
+ "in_dialog": 0,
+ "is_submittable": 0,
+ "issingle": 0,
"istable": 1,
- "modified": "2015-04-22 03:24:47.809532",
+ "modified": "2015-08-12 08:52:43.922881",
"modified_by": "Administrator",
"module": "Manufacturing",
"name": "BOM Operation",
"owner": "Administrator",
- "permissions": []
+ "permissions": [],
+ "read_only": 0,
+ "read_only_onload": 0
}
\ No newline at end of file
diff --git a/erpnext/manufacturing/doctype/bom_replace_tool/bom_replace_tool.json b/erpnext/manufacturing/doctype/bom_replace_tool/bom_replace_tool.json
index a1e215d..91ee189 100644
--- a/erpnext/manufacturing/doctype/bom_replace_tool/bom_replace_tool.json
+++ b/erpnext/manufacturing/doctype/bom_replace_tool/bom_replace_tool.json
@@ -1,40 +1,77 @@
{
"allow_copy": 1,
"allow_email": 1,
+ "allow_import": 0,
"allow_print": 1,
+ "allow_rename": 0,
"creation": "2012-12-06 12:10:10",
+ "custom": 0,
"description": "Replace a particular BOM in all other BOMs where it is used. It will replace the old BOM link, update cost and regenerate \"BOM Explosion Item\" table as per new BOM",
"docstatus": 0,
"doctype": "DocType",
"document_type": "Other",
"fields": [
{
+ "allow_on_submit": 0,
"description": "The BOM which will be replaced",
"fieldname": "current_bom",
"fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Current BOM",
+ "no_copy": 0,
"options": "BOM",
"permlevel": 0,
+ "print_hide": 0,
"read_only": 0,
- "reqd": 1
+ "report_hide": 0,
+ "reqd": 1,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"description": "The new BOM after replacement",
"fieldname": "new_bom",
"fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "New BOM",
+ "no_copy": 0,
"options": "BOM",
"permlevel": 0,
+ "print_hide": 0,
"read_only": 0,
- "reqd": 1
+ "report_hide": 0,
+ "reqd": 1,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "replace",
"fieldtype": "Button",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Replace",
+ "no_copy": 0,
"options": "replace_bom",
"permlevel": 0,
- "read_only": 0
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
}
],
"hide_heading": 1,
@@ -42,23 +79,37 @@
"icon": "icon-magic",
"idx": 1,
"in_create": 1,
+ "in_dialog": 0,
+ "is_submittable": 0,
"issingle": 1,
- "modified": "2015-02-05 05:11:35.233845",
+ "istable": 0,
+ "modified": "2015-08-12 08:52:46.035343",
"modified_by": "Administrator",
"module": "Manufacturing",
"name": "BOM Replace Tool",
"owner": "Administrator",
"permissions": [
{
+ "amend": 0,
+ "apply_user_permissions": 0,
+ "cancel": 0,
"create": 1,
+ "delete": 0,
+ "email": 0,
+ "export": 0,
+ "if_owner": 0,
+ "import": 0,
"permlevel": 0,
+ "print": 0,
"read": 1,
"report": 0,
"role": "Manufacturing Manager",
+ "set_user_permissions": 0,
"share": 1,
"submit": 0,
"write": 1
}
],
- "read_only": 1
+ "read_only": 1,
+ "read_only_onload": 0
}
\ No newline at end of file
diff --git a/erpnext/manufacturing/doctype/production_order/production_order.json b/erpnext/manufacturing/doctype/production_order/production_order.json
index e07ac5b..1910766 100644
--- a/erpnext/manufacturing/doctype/production_order/production_order.json
+++ b/erpnext/manufacturing/doctype/production_order/production_order.json
@@ -1,31 +1,62 @@
{
+ "allow_copy": 0,
"allow_import": 1,
+ "allow_rename": 0,
"autoname": "naming_series:",
"creation": "2013-01-10 16:34:16",
+ "custom": 0,
"docstatus": 0,
"doctype": "DocType",
"fields": [
{
+ "allow_on_submit": 0,
"fieldname": "item",
"fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "",
+ "no_copy": 0,
"options": "icon-gift",
- "permlevel": 0
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"default": "PRO-",
"fieldname": "naming_series",
"fieldtype": "Select",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Series",
+ "no_copy": 0,
"options": "PRO-",
"permlevel": 0,
- "reqd": 1
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 1,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"default": "Draft",
"depends_on": "eval:!doc.__islocal",
"fieldname": "status",
"fieldtype": "Select",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
"in_filter": 1,
"in_list_view": 0,
"label": "Status",
@@ -34,333 +65,739 @@
"oldfieldtype": "Select",
"options": "\nDraft\nSubmitted\nStopped\nIn Process\nCompleted\nCancelled",
"permlevel": 0,
+ "print_hide": 0,
"read_only": 1,
+ "report_hide": 0,
"reqd": 1,
- "search_index": 1
+ "search_index": 1,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "production_item",
"fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
"in_filter": 1,
"in_list_view": 1,
"label": "Item To Manufacture",
+ "no_copy": 0,
"oldfieldname": "production_item",
"oldfieldtype": "Link",
"options": "Item",
"permlevel": 0,
+ "print_hide": 0,
"read_only": 0,
- "reqd": 1
+ "report_hide": 0,
+ "reqd": 1,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"depends_on": "",
"description": "",
"fieldname": "bom_no",
"fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
"in_list_view": 0,
"label": "BOM No",
+ "no_copy": 0,
"oldfieldname": "bom_no",
"oldfieldtype": "Link",
"options": "BOM",
"permlevel": 0,
+ "print_hide": 0,
"read_only": 0,
- "reqd": 1
+ "report_hide": 0,
+ "reqd": 1,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"default": "1",
"description": "Plan material for sub-assemblies",
"fieldname": "use_multi_level_bom",
"fieldtype": "Check",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Use Multi-Level BOM",
- "permlevel": 0
+ "no_copy": 0,
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "column_break1",
"fieldtype": "Column Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
"oldfieldtype": "Column Break",
"permlevel": 0,
+ "print_hide": 0,
"read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0,
"width": "50%"
},
{
+ "allow_on_submit": 0,
"depends_on": "",
"fieldname": "qty",
"fieldtype": "Float",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
"in_list_view": 0,
"label": "Qty To Manufacture",
+ "no_copy": 0,
"oldfieldname": "qty",
"oldfieldtype": "Currency",
"permlevel": 0,
+ "print_hide": 0,
"read_only": 0,
- "reqd": 1
+ "report_hide": 0,
+ "reqd": 1,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"default": "0",
"depends_on": "eval:doc.docstatus==1",
"description": "",
"fieldname": "material_transferred_for_manufacturing",
"fieldtype": "Float",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Material Transferred for Manufacturing",
"no_copy": 1,
"permlevel": 0,
"precision": "",
- "read_only": 1
+ "print_hide": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"default": "0",
"depends_on": "eval:doc.docstatus==1",
"description": "",
"fieldname": "produced_qty",
"fieldtype": "Float",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Manufactured Qty",
"no_copy": 1,
"oldfieldname": "produced_qty",
"oldfieldtype": "Currency",
"permlevel": 0,
- "read_only": 1
+ "print_hide": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "warehouses",
"fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Warehouses",
+ "no_copy": 0,
"options": "icon-building",
- "permlevel": 0
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "wip_warehouse",
"fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Work-in-Progress Warehouse",
+ "no_copy": 0,
"options": "Warehouse",
"permlevel": 0,
- "reqd": 0
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "column_break_12",
"fieldtype": "Column Break",
- "permlevel": 0
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"depends_on": "",
"description": "",
"fieldname": "fg_warehouse",
"fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
"in_list_view": 0,
"label": "Target Warehouse",
+ "no_copy": 0,
"options": "Warehouse",
"permlevel": 0,
+ "print_hide": 0,
"read_only": 0,
- "reqd": 0
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "time",
"fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Time",
+ "no_copy": 0,
"options": "icon-time",
"permlevel": 0,
- "precision": ""
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"depends_on": "",
"fieldname": "expected_delivery_date",
"fieldtype": "Date",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Expected Delivery Date",
+ "no_copy": 0,
"permlevel": 0,
- "read_only": 0
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"default": "now",
"fieldname": "planned_start_date",
"fieldtype": "Datetime",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Planned Start Date",
+ "no_copy": 0,
"permlevel": 0,
"precision": "",
- "reqd": 1
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 1,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "planned_end_date",
"fieldtype": "Datetime",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Planned End Date",
"no_copy": 1,
"permlevel": 0,
"precision": "",
- "read_only": 1
+ "print_hide": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "column_break_13",
"fieldtype": "Column Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
"permlevel": 0,
- "precision": ""
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "actual_start_date",
"fieldtype": "Datetime",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Actual Start Date",
+ "no_copy": 0,
"permlevel": 0,
"precision": "",
- "read_only": 1
+ "print_hide": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "actual_end_date",
"fieldtype": "Datetime",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Actual End Date",
+ "no_copy": 0,
"permlevel": 0,
"precision": "",
- "read_only": 1
+ "print_hide": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"depends_on": "",
"fieldname": "operations_section",
"fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Operations",
+ "no_copy": 0,
"options": "icon-wrench",
"permlevel": 0,
- "precision": ""
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"depends_on": "",
"fieldname": "operations",
"fieldtype": "Table",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Operations",
+ "no_copy": 0,
"options": "Production Order Operation",
"permlevel": 0,
"precision": "",
- "read_only": 1
+ "print_hide": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"depends_on": "operations",
"fieldname": "section_break_22",
"fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Operation Cost",
+ "no_copy": 0,
"options": "",
"permlevel": 0,
- "precision": ""
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "planned_operating_cost",
"fieldtype": "Currency",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Planned Operating Cost",
"no_copy": 0,
"options": "Company:company:default_currency",
"permlevel": 0,
"precision": "",
- "read_only": 1
+ "print_hide": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "actual_operating_cost",
"fieldtype": "Currency",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Actual Operating Cost",
"no_copy": 1,
"options": "Company:company:default_currency",
"permlevel": 0,
"precision": "",
- "read_only": 1
+ "print_hide": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "additional_operating_cost",
"fieldtype": "Currency",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Additional Operating Cost",
"no_copy": 1,
"options": "Company:company:default_currency",
"permlevel": 0,
- "precision": ""
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "column_break_24",
"fieldtype": "Column Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
"permlevel": 0,
- "precision": ""
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "total_operating_cost",
"fieldtype": "Currency",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Total Operating Cost",
"no_copy": 1,
"options": "Company:company:default_currency",
"permlevel": 0,
"precision": "",
- "read_only": 1
+ "print_hide": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "more_info",
"fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "More Info",
+ "no_copy": 0,
"options": "icon-file-text",
"permlevel": 0,
- "read_only": 0
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "description",
"fieldtype": "Small Text",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Item Description",
+ "no_copy": 0,
"permlevel": 0,
- "read_only": 1
+ "print_hide": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"depends_on": "",
"fieldname": "stock_uom",
"fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Stock UOM",
+ "no_copy": 0,
"oldfieldname": "stock_uom",
"oldfieldtype": "Data",
"options": "UOM",
"permlevel": 0,
- "read_only": 1
+ "print_hide": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "column_break2",
"fieldtype": "Column Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
"permlevel": 0,
+ "print_hide": 0,
"read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0,
"width": "50%"
},
{
+ "allow_on_submit": 0,
"fieldname": "project_name",
"fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
"in_filter": 1,
+ "in_list_view": 0,
"label": "Project Name",
+ "no_copy": 0,
"oldfieldname": "project_name",
"oldfieldtype": "Link",
"options": "Project",
"permlevel": 0,
- "read_only": 0
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"description": "Manufacture against Sales Order",
"fieldname": "sales_order",
"fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Sales Order",
+ "no_copy": 0,
"options": "Sales Order",
"permlevel": 0,
- "read_only": 0
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "company",
"fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Company",
+ "no_copy": 0,
"oldfieldname": "company",
"oldfieldtype": "Link",
"options": "Company",
"permlevel": 0,
+ "print_hide": 0,
"read_only": 0,
- "reqd": 1
+ "report_hide": 0,
+ "reqd": 1,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "amended_from",
"fieldtype": "Link",
+ "hidden": 0,
"ignore_user_permissions": 1,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Amended From",
"no_copy": 1,
"oldfieldname": "amended_from",
"oldfieldtype": "Data",
"options": "Production Order",
"permlevel": 0,
- "read_only": 1
+ "print_hide": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
}
],
+ "hide_heading": 0,
+ "hide_toolbar": 0,
"icon": "icon-cogs",
"idx": 1,
"in_create": 0,
+ "in_dialog": 0,
"is_submittable": 1,
- "modified": "2015-07-21 07:45:53.206902",
+ "issingle": 0,
+ "istable": 0,
+ "modified": "2015-08-12 08:50:32.803526",
"modified_by": "Administrator",
"module": "Manufacturing",
"name": "Production Order",
@@ -373,22 +810,41 @@
"create": 1,
"delete": 1,
"email": 1,
+ "export": 0,
+ "if_owner": 0,
+ "import": 0,
"permlevel": 0,
"print": 1,
"read": 1,
"report": 1,
"role": "Manufacturing User",
+ "set_user_permissions": 0,
"share": 1,
"submit": 1,
"write": 1
},
{
+ "amend": 0,
"apply_user_permissions": 1,
+ "cancel": 0,
+ "create": 0,
+ "delete": 0,
+ "email": 0,
+ "export": 0,
+ "if_owner": 0,
+ "import": 0,
"permlevel": 0,
+ "print": 0,
"read": 1,
"report": 1,
- "role": "Stock User"
+ "role": "Stock User",
+ "set_user_permissions": 0,
+ "share": 0,
+ "submit": 0,
+ "write": 0
}
],
+ "read_only": 0,
+ "read_only_onload": 0,
"title_field": "production_item"
}
\ No newline at end of file
diff --git a/erpnext/patches.txt b/erpnext/patches.txt
index d5ba353..1a7b209 100644
--- a/erpnext/patches.txt
+++ b/erpnext/patches.txt
@@ -47,6 +47,7 @@
execute:frappe.delete_doc("Report", "Purchase In Transit")
erpnext.patches.v4_0.new_address_template
execute:frappe.delete_doc("DocType", "SMS Control")
+execute:frappe.delete_doc_if_exists("DocType", "Bulk SMS") #2015-08-18
erpnext.patches.v4_0.fix_case_of_hr_module_def
erpnext.patches.v4_0.fix_address_template
@@ -171,7 +172,6 @@
erpnext.patches.v5_0.update_material_transferred_for_manufacturing_again
erpnext.patches.v5_0.index_on_account_and_gl_entry
execute:frappe.db.sql("""delete from `tabProject Task`""")
-erpnext.patches.v5_0.item_variants
erpnext.patches.v5_0.update_item_desc_in_invoice
erpnext.patches.v5_1.fix_against_account
erpnext.patches.v5_1.fix_credit_days_based_on
@@ -191,3 +191,4 @@
erpnext.patches.v5_4.stock_entry_additional_costs
erpnext.patches.v5_4.cleanup_journal_entry #2015-08-14
execute:frappe.db.sql("update `tabProduction Order` pro set description = (select description from tabItem where name=pro.production_item) where ifnull(description, '') = ''")
+erpnext.patches.v5_7.item_template_attributes
diff --git a/erpnext/patches/v5_0/item_variants.py b/erpnext/patches/v5_0/item_variants.py
deleted file mode 100644
index 66300be..0000000
--- a/erpnext/patches/v5_0/item_variants.py
+++ /dev/null
@@ -1,19 +0,0 @@
-import frappe
-
-def execute():
- frappe.reload_doctype("Item")
- for dt in ["manage_variants", "manage_variants_item", "variant_attribute"]:
- frappe.reload_doc("stock", "doctype", dt)
-
- for d in frappe.get_list("Item", filters={"has_variants":1}):
- manage_variant = frappe.new_doc("Manage Variants")
- manage_variant.item_code = d.name
- manage_variant.attributes = frappe.db.sql("select item_attribute as attribute, item_attribute_value as attribute_value \
- from `tabItem Variant` where parent = %s", d.name, as_dict=1)
- if manage_variant.attributes:
- if not frappe.get_list("Item", filters={"variant_of": d.name}, limit_page_length=1):
- frappe.db.sql("delete from `tabItem Variant` where parent=%s", d.name)
- else:
- manage_variant.generate_combinations()
- manage_variant.create_variants()
- frappe.delete_doc("DocType", "Item Variant")
\ No newline at end of file
diff --git a/erpnext/patches/v5_7/__init__.py b/erpnext/patches/v5_7/__init__.py
new file mode 100644
index 0000000..baffc48
--- /dev/null
+++ b/erpnext/patches/v5_7/__init__.py
@@ -0,0 +1 @@
+from __future__ import unicode_literals
diff --git a/erpnext/patches/v5_7/item_template_attributes.py b/erpnext/patches/v5_7/item_template_attributes.py
new file mode 100644
index 0000000..f001244
--- /dev/null
+++ b/erpnext/patches/v5_7/item_template_attributes.py
@@ -0,0 +1,121 @@
+# 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
+import MySQLdb
+
+def execute():
+ """
+ Structure History:
+ 1. Item and Item Variant
+ 2. Item, Variant Attribute, Manage Variants and Manage Variant Items
+ 3. Item, Item Variant Attribute, Item Attribute and Item Attribute Type (latest)
+ """
+ rename_and_reload_doctypes()
+
+ variant_templates = frappe.get_all("Item", filters={"has_variants": 1}, limit_page_length=1)
+ if not variant_templates:
+ # database does not have items that have variants
+ # so no point in running the patch
+ return
+
+ variant_attributes = frappe.get_all("Item Variant Attribute", fields=["*"], limit_page_length=1)
+
+ if variant_attributes:
+ # manage variant patch is already applied
+ migrate_manage_variants()
+
+ else:
+ # old structure based on "Item Variant" table
+ try:
+ migrate_item_variants()
+
+ except MySQLdb.ProgrammingError:
+ print "`tabItem Variant` not found"
+
+def rename_and_reload_doctypes():
+ if "tabVariant Attribute" in frappe.db.get_tables():
+ frappe.rename_doc("DocType", "Variant Attribute", "Item Variant Attribute")
+
+ frappe.reload_doctype("Item")
+ frappe.reload_doctype("Item Variant Attribute")
+ frappe.reload_doctype("Item Attribute Value")
+ frappe.reload_doctype("Item Attribute")
+
+def migrate_manage_variants():
+ item_attribute = {}
+ for d in frappe.db.sql("""select DISTINCT va.attribute, i.variant_of
+ from `tabItem Variant Attribute` va, `tabItem` i
+ where va.parent = i.name and ifnull(i.variant_of, '')!=''""", as_dict=1):
+ item_attribute.setdefault(d.variant_of, []).append({"attribute": d.attribute})
+
+ for item, attributes in item_attribute.items():
+ template = frappe.get_doc("Item", item)
+ template.set('attributes', attributes)
+ template.save()
+
+ frappe.delete_doc("DocType", "Manage Variants")
+ frappe.delete_doc("DocType", "Manage Variants Item")
+
+# patch old style
+def migrate_item_variants():
+ for item in frappe.get_all("Item", filters={"has_variants": 1}):
+ all_variants = frappe.get_all("Item", filters={"variant_of": item.name}, fields=["name", "description"])
+ item_attributes = frappe.db.sql("""select distinct item_attribute, item_attribute_value
+ from `tabItem Variant` where parent=%s""", item.name)
+
+ attribute_value_options = {}
+ for attribute, value in item_attributes:
+ attribute_value_options.setdefault(attribute, []).append(value)
+
+ save_attributes_in_template(item, attribute_value_options)
+
+ possible_combinations = get_possible_combinations(attribute_value_options)
+
+ for variant in all_variants:
+ for combination in possible_combinations:
+ match = True
+ for attribute, value in combination.items():
+ if "{0}: {1}".format(attribute, value) not in variant.description:
+ match = False
+ break
+
+ if match:
+ # found the right variant
+ save_attributes_in_variant(variant, combination)
+ break
+
+ frappe.delete_doc("DocType", "Item Variant")
+
+def save_attributes_in_template(item, attribute_value_options):
+ # store attribute in Item Variant Attribute table for template
+ template = frappe.get_doc("Item", item)
+ template.set("attributes", [{"attribute": attribute} for attribute in attribute_value_options.keys()])
+ template.save()
+
+def get_possible_combinations(attribute_value_options):
+ possible_combinations = []
+
+ for attribute, values in attribute_value_options.items():
+ if not possible_combinations:
+ for v in values:
+ possible_combinations.append({attribute: v})
+
+ else:
+ for v in values:
+ for combination in possible_combinations:
+ combination[attribute] = v
+
+ return possible_combinations
+
+def save_attributes_in_variant(variant, combination):
+ # add data into attributes table
+ variant_item = frappe.get_doc("Item", variant.name)
+ variant_item.set("attributes", [])
+ for attribute, value in combination.items():
+ variant_item.append("attributes", {
+ "attribute": attribute,
+ "attribute_value": value
+ })
+ variant_item.save()
diff --git a/erpnext/projects/doctype/project/project.json b/erpnext/projects/doctype/project/project.json
index 486d861..04d6cb4 100644
--- a/erpnext/projects/doctype/project/project.json
+++ b/erpnext/projects/doctype/project/project.json
@@ -1,68 +1,129 @@
{
+ "allow_copy": 0,
"allow_import": 1,
"allow_rename": 1,
"autoname": "field:project_name",
"creation": "2013-03-07 11:55:07",
+ "custom": 0,
"docstatus": 0,
"doctype": "DocType",
"document_type": "Master",
"fields": [
{
+ "allow_on_submit": 0,
"description": "",
"fieldname": "project_name",
"fieldtype": "Data",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Project Name",
"no_copy": 0,
"oldfieldname": "project_name",
"oldfieldtype": "Data",
"permlevel": 0,
- "reqd": 1
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 1,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"default": "Open",
"fieldname": "status",
"fieldtype": "Select",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
"in_filter": 1,
+ "in_list_view": 0,
"label": "Status",
"no_copy": 1,
"oldfieldname": "status",
"oldfieldtype": "Select",
"options": "Open\nCompleted\nCancelled",
"permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
"reqd": 1,
- "search_index": 1
+ "search_index": 1,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "project_type",
"fieldtype": "Select",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Project Type",
"no_copy": 0,
"oldfieldname": "project_type",
"oldfieldtype": "Data",
"options": "Internal\nExternal\nOther",
"permlevel": 0,
- "search_index": 0
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "column_break_5",
"fieldtype": "Column Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
"permlevel": 0,
- "precision": ""
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "is_active",
"fieldtype": "Select",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Is Active",
"no_copy": 0,
"oldfieldname": "is_active",
"oldfieldtype": "Select",
"options": "Yes\nNo",
"permlevel": 0,
- "search_index": 0
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "priority",
"fieldtype": "Select",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
"in_list_view": 0,
"label": "Priority",
"no_copy": 0,
@@ -70,53 +131,123 @@
"oldfieldtype": "Select",
"options": "Medium\nLow\nHigh",
"permlevel": 0,
- "search_index": 0
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "section_break_12",
"fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
"permlevel": 0,
- "precision": ""
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "expected_start_date",
"fieldtype": "Date",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
"in_filter": 1,
+ "in_list_view": 0,
"label": "Expected Start Date",
"no_copy": 0,
"oldfieldname": "project_start_date",
"oldfieldtype": "Date",
"permlevel": 0,
- "search_index": 0
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "column_break_11",
"fieldtype": "Column Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
"permlevel": 0,
- "precision": ""
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "expected_end_date",
"fieldtype": "Date",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Expected End Date",
"no_copy": 0,
"oldfieldname": "completion_date",
"oldfieldtype": "Date",
"permlevel": 0,
- "search_index": 0
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "customer_details",
"fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "",
+ "no_copy": 0,
"oldfieldtype": "Section Break",
"options": "icon-user",
- "permlevel": 0
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "customer",
"fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
"in_filter": 1,
+ "in_list_view": 0,
"label": "Customer",
"no_copy": 0,
"oldfieldname": "customer",
@@ -124,115 +255,281 @@
"options": "Customer",
"permlevel": 0,
"print_hide": 1,
+ "read_only": 0,
+ "report_hide": 0,
"reqd": 0,
- "search_index": 1
+ "search_index": 1,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "column_break_14",
"fieldtype": "Column Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
"permlevel": 0,
- "precision": ""
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "sales_order",
"fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Sales Order",
+ "no_copy": 0,
"options": "Sales Order",
"permlevel": 0,
- "precision": ""
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "sb_milestones",
"fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Tasks",
+ "no_copy": 0,
"oldfieldtype": "Section Break",
"options": "icon-flag",
- "permlevel": 0
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "tasks",
"fieldtype": "Table",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Tasks",
+ "no_copy": 0,
"options": "Project Task",
"permlevel": 0,
"precision": "",
- "reqd": 0
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "percent_complete",
"fieldtype": "Percent",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
"in_list_view": 0,
"label": "% Tasks Completed",
"no_copy": 1,
"permlevel": 0,
- "read_only": 1
+ "print_hide": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "section_break0",
"fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "",
+ "no_copy": 0,
"oldfieldtype": "Section Break",
"options": "icon-list",
- "permlevel": 0
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "notes",
"fieldtype": "Text Editor",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Notes",
"no_copy": 0,
"oldfieldname": "notes",
"oldfieldtype": "Text Editor",
"permlevel": 0,
- "search_index": 0
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "section_break_18",
"fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
"permlevel": 0,
- "precision": ""
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "actual_start_date",
"fieldtype": "Data",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Actual Start Date",
+ "no_copy": 0,
"permlevel": 0,
"precision": "",
- "read_only": 1
+ "print_hide": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "actual_time",
"fieldtype": "Float",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Actual Time (in Hours)",
+ "no_copy": 0,
"permlevel": 0,
"precision": "",
- "read_only": 1
+ "print_hide": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "column_break_20",
"fieldtype": "Column Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
"permlevel": 0,
- "precision": ""
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "actual_end_date",
"fieldtype": "Date",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Actual End Date",
"no_copy": 0,
"oldfieldname": "act_completion_date",
"oldfieldtype": "Date",
"permlevel": 0,
+ "print_hide": 0,
"read_only": 1,
- "search_index": 0
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "section_break_26",
"fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
"permlevel": 0,
- "precision": ""
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "estimated_costing",
"fieldtype": "Currency",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
"in_list_view": 1,
"label": "Estimated Costing",
"no_copy": 0,
@@ -240,124 +537,292 @@
"oldfieldtype": "Currency",
"options": "Company:company:default_currency",
"permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
"reqd": 0,
- "search_index": 0
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "column_break_22",
"fieldtype": "Column Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
"permlevel": 0,
- "precision": ""
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "company",
"fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Company",
+ "no_copy": 0,
"options": "Company",
- "permlevel": 0
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "cost_center",
"fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Default Cost Center",
+ "no_copy": 0,
"options": "Cost Center",
- "permlevel": 0
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "project_details",
"fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "",
+ "no_copy": 0,
"oldfieldtype": "Section Break",
"options": "icon-money",
- "permlevel": 0
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"description": "",
"fieldname": "total_costing_amount",
"fieldtype": "Currency",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Total Costing Amount (via Time Logs)",
+ "no_copy": 0,
"permlevel": 0,
"precision": "",
- "read_only": 1
+ "print_hide": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"description": "",
"fieldname": "total_expense_claim",
"fieldtype": "Currency",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Total Expense Claim (via Expense Claims)",
+ "no_copy": 0,
"permlevel": 0,
"precision": "",
- "read_only": 1
+ "print_hide": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "column_break_28",
"fieldtype": "Column Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
"permlevel": 0,
- "precision": ""
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"description": "",
"fieldname": "total_billing_amount",
"fieldtype": "Currency",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Total Billing Amount (via Time Logs)",
+ "no_copy": 0,
"permlevel": 0,
"precision": "",
- "read_only": 1
+ "print_hide": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "total_purchase_cost",
"fieldtype": "Currency",
"hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Total Purchase Cost (via Purchase Invoice)",
+ "no_copy": 0,
"permlevel": 0,
"precision": "",
- "read_only": 1
+ "print_hide": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "margin",
"fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "",
+ "no_copy": 0,
"oldfieldtype": "Column Break",
"permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0,
"width": "50%"
},
{
+ "allow_on_submit": 0,
"fieldname": "gross_margin",
"fieldtype": "Currency",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Gross Margin",
"no_copy": 0,
"oldfieldname": "gross_margin_value",
"oldfieldtype": "Currency",
"options": "Company:company:default_currency",
"permlevel": 0,
+ "print_hide": 0,
"read_only": 1,
+ "report_hide": 0,
"reqd": 0,
- "search_index": 0
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "column_break_37",
"fieldtype": "Column Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
"permlevel": 0,
- "precision": ""
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "per_gross_margin",
"fieldtype": "Percent",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Gross Margin %",
"no_copy": 0,
"oldfieldname": "per_gross_margin",
"oldfieldtype": "Currency",
"options": "",
"permlevel": 0,
+ "print_hide": 0,
"read_only": 1,
+ "report_hide": 0,
"reqd": 0,
- "search_index": 0
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
}
],
+ "hide_heading": 0,
+ "hide_toolbar": 0,
"icon": "icon-puzzle-piece",
"idx": 1,
+ "in_create": 0,
+ "in_dialog": 0,
+ "is_submittable": 0,
+ "issingle": 0,
+ "istable": 0,
"max_attachments": 4,
- "modified": "2015-06-12 09:00:54.080220",
+ "modified": "2015-08-12 08:51:43.620261",
"modified_by": "Administrator",
"module": "Projects",
"name": "Project",
@@ -366,29 +831,45 @@
{
"amend": 0,
"apply_user_permissions": 1,
+ "cancel": 0,
"create": 1,
"delete": 1,
"email": 1,
+ "export": 0,
+ "if_owner": 0,
+ "import": 0,
"permlevel": 0,
"print": 1,
"read": 1,
"report": 1,
"role": "Projects User",
+ "set_user_permissions": 0,
"share": 1,
"submit": 0,
"write": 1
},
{
"amend": 0,
+ "apply_user_permissions": 0,
"cancel": 0,
"create": 0,
"delete": 0,
+ "email": 0,
+ "export": 0,
+ "if_owner": 0,
+ "import": 0,
"permlevel": 1,
+ "print": 0,
"read": 1,
"report": 1,
"role": "All",
- "submit": 0
+ "set_user_permissions": 0,
+ "share": 0,
+ "submit": 0,
+ "write": 0
}
],
+ "read_only": 0,
+ "read_only_onload": 0,
"search_fields": "customer, status, priority, is_active"
}
\ No newline at end of file
diff --git a/erpnext/projects/doctype/project_task/project_task.json b/erpnext/projects/doctype/project_task/project_task.json
index e5aae3e..44180cb 100644
--- a/erpnext/projects/doctype/project_task/project_task.json
+++ b/erpnext/projects/doctype/project_task/project_task.json
@@ -25,7 +25,8 @@
"report_hide": 0,
"reqd": 1,
"search_index": 0,
- "set_only_once": 0
+ "set_only_once": 0,
+ "unique": 0
},
{
"allow_on_submit": 0,
@@ -46,21 +47,48 @@
"report_hide": 0,
"reqd": 1,
"search_index": 0,
- "set_only_once": 0
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"depends_on": "task_id",
"fieldname": "edit_task",
"fieldtype": "Button",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "View Task",
+ "no_copy": 0,
"permlevel": 0,
- "precision": ""
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "column_break_3",
"fieldtype": "Column Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
"permlevel": 0,
- "precision": ""
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
"allow_on_submit": 0,
@@ -79,7 +107,8 @@
"report_hide": 0,
"reqd": 0,
"search_index": 0,
- "set_only_once": 0
+ "set_only_once": 0,
+ "unique": 0
},
{
"allow_on_submit": 0,
@@ -99,13 +128,27 @@
"report_hide": 0,
"reqd": 0,
"search_index": 0,
- "set_only_once": 0
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "section_break_6",
"fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
"permlevel": 0,
- "precision": ""
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
"allow_on_submit": 0,
@@ -124,17 +167,29 @@
"report_hide": 0,
"reqd": 0,
"search_index": 0,
- "set_only_once": 0
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "task_id",
"fieldtype": "Link",
"hidden": 1,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Task ID",
"no_copy": 1,
"options": "Task",
"permlevel": 0,
- "precision": ""
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
}
],
"hide_heading": 0,
@@ -144,7 +199,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 1,
- "modified": "2015-04-23 05:48:00.504508",
+ "modified": "2015-08-12 08:51:46.609018",
"modified_by": "Administrator",
"module": "Projects",
"name": "Project Task",
diff --git a/erpnext/stock/doctype/item/item.js b/erpnext/stock/doctype/item/item.js
index 35455b4..477d306 100644
--- a/erpnext/stock/doctype/item/item.js
+++ b/erpnext/stock/doctype/item/item.js
@@ -6,6 +6,10 @@
frappe.ui.form.on("Item", {
onload: function(frm) {
erpnext.item.setup_queries(frm);
+ if (frm.doc.variant_of){
+ frm.fields_dict["attributes"].grid.set_column_disp("attribute_value", true);
+ }
+
},
refresh: function(frm) {
@@ -30,6 +34,10 @@
frm.add_custom_button(__("Show Variants"), function() {
frappe.set_route("List", "Item", {"variant_of": frm.doc.name});
}, "icon-list", "btn-default");
+
+ frm.add_custom_button(__("Make Variant"), function() {
+ erpnext.item.make_variant()
+ }, "icon-list", "btn-default");
}
if (frm.doc.variant_of) {
frm.set_intro(__("This Item is a Variant of {0} (Template). Attributes will be copied over from the template unless 'No Copy' is set", [frm.doc.variant_of]), true);
@@ -49,11 +57,12 @@
}
erpnext.item.toggle_reqd(frm);
+
+ erpnext.item.toggle_attributes(frm);
},
validate: function(frm){
erpnext.item.weight_to_validate(frm);
- erpnext.item.variants_can_not_be_created_manually(frm);
},
image: function(frm) {
@@ -84,14 +93,9 @@
is_stock_item: function(frm) {
erpnext.item.toggle_reqd(frm);
},
-
- manage_variants: function(frm) {
- if (cur_frm.doc.__unsaved==1) {
- frappe.throw(__("You have unsaved changes. Please save."))
- } else {
- frappe.route_options = {"item_code": frm.doc.name };
- frappe.set_route("List", "Manage Variants");
- }
+
+ has_variants: function(frm) {
+ erpnext.item.toggle_attributes(frm);
}
});
@@ -189,11 +193,128 @@
validated = 0;
}
},
+
+ make_variant: function(doc) {
+ var fields = []
+
+ for(var i=0;i< cur_frm.doc.attributes.length;i++){
+ var fieldtype, desc;
+ var row = cur_frm.doc.attributes[i];
+ if (row.numeric_values){
+ fieldtype = "Float";
+ desc = "Min Value: "+ row.from_range +" , Max Value: "+ row.to_range +", in Increments of: "+ row.increment
+ }
+ else {
+ fieldtype = "Data";
+ desc = ""
+ }
+ fields = fields.concat({
+ "label": row.attribute,
+ "fieldname": row.attribute,
+ "fieldtype": fieldtype,
+ "reqd": 1,
+ "description": desc
+ })
+ }
- variants_can_not_be_created_manually: function(frm) {
- if (frm.doc.__islocal && frm.doc.variant_of)
- frappe.throw(__("Variants can not be created manually, add item attributes in the template item"))
+ var d = new frappe.ui.Dialog({
+ title: __("Make Variant"),
+ fields: fields
+ });
+
+ d.set_primary_action(__("Make"), function() {
+ args = d.get_values();
+ if(!args) return;
+ frappe.call({
+ method:"erpnext.stock.doctype.item.item.get_variant",
+ args: {
+ "item": cur_frm.doc.name,
+ "args": d.get_values()
+ },
+ callback: function(r) {
+ // returns variant item
+ if (r.message) {
+ var variant = r.message[0];
+ var msgprint_dialog = frappe.msgprint(__("Item Variant {0} already exists with same attributes",
+ [repl('<a href="#Form/Item/%(item_encoded)s" class="strong variant-click">%(item)s</a>', {
+ item_encoded: encodeURIComponent(variant),
+ item: variant
+ })]
+ ));
+ msgprint_dialog.hide_on_page_refresh = true;
+ msgprint_dialog.$wrapper.find(".variant-click").on("click", function() {
+ d.hide();
+ });
+ } else {
+ d.hide();
+ frappe.call({
+ method:"erpnext.stock.doctype.item.item.create_variant",
+ args: {
+ "item": cur_frm.doc.name,
+ "param": d.get_values()
+ },
+ callback: function(r) {
+ var doclist = frappe.model.sync(r.message);
+ frappe.set_route("Form", doclist[0].doctype, doclist[0].name);
+ }
+ });
+ }
+ }
+ });
+ });
+
+ d.show();
+
+ $.each(d.fields_dict, function(i, field) {
+
+ if(field.df.fieldtype !== "Data") {
+ return;
+ }
+
+ $(field.input_area).addClass("ui-front");
+
+ field.$input.autocomplete({
+ minLength: 0,
+ minChars: 0,
+ autoFocus: true,
+ source: function(request, response) {
+ frappe.call({
+ method:"frappe.client.get_list",
+ args:{
+ doctype:"Item Attribute Value",
+ filters: [
+ ["parent","=", i],
+ ["attribute_value", "like", request.term + "%"]
+ ],
+ fields: ["attribute_value"]
+ },
+ callback: function(r) {
+ if (r.message) {
+ response($.map(r.message, function(d) { return d.attribute_value; }));
+ }
+ }
+ });
+ },
+ select: function(event, ui) {
+ field.$input.val(ui.item.value);
+ field.$input.trigger("change");
+ },
+ }).on("focus", function(){
+ setTimeout(function() {
+ if(!field.$input.val()) {
+ field.$input.autocomplete("search", "");
+ }
+ }, 500);
+ });
+ });
+ },
+ toggle_attributes: function(frm) {
+ frm.toggle_display("attributes", frm.doc.has_variants || frm.doc.variant_of);
+ frm.fields_dict.attributes.grid.toggle_reqd("attribute_value", frm.doc.variant_of ? 1 : 0);
}
-
-
});
+
+cur_frm.add_fetch('attribute', 'numeric_values', 'numeric_values');
+cur_frm.add_fetch('attribute', 'from_range', 'from_range');
+cur_frm.add_fetch('attribute', 'to_range', 'to_range');
+cur_frm.add_fetch('attribute', 'increment', 'increment');
diff --git a/erpnext/stock/doctype/item/item.json b/erpnext/stock/doctype/item/item.json
index 9a52a23..dbf252b 100644
--- a/erpnext/stock/doctype/item/item.json
+++ b/erpnext/stock/doctype/item/item.json
@@ -1,8 +1,10 @@
{
+ "allow_copy": 0,
"allow_import": 1,
"allow_rename": 1,
"autoname": "field:item_code",
"creation": "2013-05-03 10:45:46",
+ "custom": 0,
"default_print_format": "Standard",
"description": "A Product or a Service that is bought, sold or kept in stock.",
"docstatus": 0,
@@ -10,999 +12,2092 @@
"document_type": "Master",
"fields": [
{
+ "allow_on_submit": 0,
"fieldname": "name_and_description_section",
"fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "",
"no_copy": 0,
"oldfieldtype": "Section Break",
"options": "icon-flag",
"permlevel": 0,
- "read_only": 0
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "naming_series",
"fieldtype": "Select",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Series",
+ "no_copy": 0,
"options": "ITEM-",
"permlevel": 0,
- "read_only": 0
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"description": "",
"fieldname": "item_code",
"fieldtype": "Data",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
"in_filter": 0,
+ "in_list_view": 0,
"label": "Item Code",
"no_copy": 1,
"oldfieldname": "item_code",
"oldfieldtype": "Data",
"permlevel": 0,
+ "print_hide": 0,
"read_only": 0,
+ "report_hide": 0,
"reqd": 0,
- "search_index": 0
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"depends_on": "variant_of",
"description": "If item is a variant of another item then description, image, pricing, taxes etc will be set from the template unless explicitly specified",
"fieldname": "variant_of",
"fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Variant Of",
+ "no_copy": 0,
"options": "Item",
"permlevel": 0,
"precision": "",
- "read_only": 1
+ "print_hide": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "item_name",
"fieldtype": "Data",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
"in_filter": 1,
"in_list_view": 0,
"label": "Item Name",
+ "no_copy": 0,
"oldfieldname": "item_name",
"oldfieldtype": "Data",
"permlevel": 0,
+ "print_hide": 0,
"read_only": 0,
+ "report_hide": 0,
"reqd": 1,
- "search_index": 1
+ "search_index": 1,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"description": "",
"fieldname": "item_group",
"fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
"in_filter": 1,
"in_list_view": 1,
"label": "Item Group",
+ "no_copy": 0,
"oldfieldname": "item_group",
"oldfieldtype": "Link",
"options": "Item Group",
"permlevel": 0,
+ "print_hide": 0,
"read_only": 0,
- "reqd": 1
+ "report_hide": 0,
+ "reqd": 1,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"description": "",
"fieldname": "stock_uom",
"fieldtype": "Link",
+ "hidden": 0,
"ignore_user_permissions": 1,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Default Unit of Measure",
+ "no_copy": 0,
"oldfieldname": "stock_uom",
"oldfieldtype": "Link",
"options": "UOM",
"permlevel": 0,
+ "print_hide": 0,
"read_only": 0,
- "reqd": 1
+ "report_hide": 0,
+ "reqd": 1,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "brand",
"fieldtype": "Link",
"hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Brand",
+ "no_copy": 0,
"oldfieldname": "brand",
"oldfieldtype": "Link",
"options": "Brand",
"permlevel": 0,
"print_hide": 1,
"read_only": 0,
- "reqd": 0
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "barcode",
"fieldtype": "Data",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Barcode",
"no_copy": 1,
"permlevel": 0,
- "read_only": 0
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "column_break0",
"fieldtype": "Column Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
"permlevel": 0,
- "read_only": 0
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "image",
"fieldtype": "Attach",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Image",
+ "no_copy": 0,
"options": "image",
"permlevel": 0,
- "precision": ""
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "image_view",
"fieldtype": "Image",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
"in_list_view": 1,
"label": "Image View",
+ "no_copy": 0,
"options": "image",
"permlevel": 0,
- "precision": ""
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "section_break_11",
"fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
"permlevel": 0,
- "precision": ""
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "description",
"fieldtype": "Text Editor",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
"in_filter": 0,
"in_list_view": 0,
"label": "Description",
+ "no_copy": 0,
"oldfieldname": "description",
"oldfieldtype": "Text",
"permlevel": 0,
+ "print_hide": 0,
"read_only": 0,
+ "report_hide": 0,
"reqd": 1,
- "search_index": 0
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "inventory",
"fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Inventory",
+ "no_copy": 0,
"oldfieldtype": "Section Break",
"options": "icon-truck",
"permlevel": 0,
- "read_only": 0
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"default": "1",
"description": "",
"fieldname": "is_stock_item",
"fieldtype": "Check",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Maintain Stock",
+ "no_copy": 0,
"oldfieldname": "is_stock_item",
"oldfieldtype": "Select",
"options": "",
"permlevel": 0,
- "read_only": 0
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"default": "",
"depends_on": "eval:doc.is_stock_item",
"fieldname": "has_batch_no",
"fieldtype": "Check",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Has Batch No",
+ "no_copy": 0,
"oldfieldname": "has_batch_no",
"oldfieldtype": "Select",
"options": "",
"permlevel": 0,
- "read_only": 0
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"default": "",
"depends_on": "eval:doc.is_stock_item",
"description": "Selecting \"Yes\" will give a unique identity to each entity of this item which can be viewed in the Serial No master.",
"fieldname": "has_serial_no",
"fieldtype": "Check",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
"in_filter": 1,
+ "in_list_view": 0,
"label": "Has Serial No",
+ "no_copy": 0,
"oldfieldname": "has_serial_no",
"oldfieldtype": "Select",
"options": "",
"permlevel": 0,
- "read_only": 0
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"depends_on": "has_serial_no",
"description": "Example: ABCD.#####\nIf series is set and Serial No is not mentioned in transactions, then automatic serial number will be created based on this series. If you always want to explicitly mention Serial Nos for this item. leave this blank.",
"fieldname": "serial_no_series",
"fieldtype": "Data",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Serial Number Series",
"no_copy": 0,
- "permlevel": 0
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"default": "",
"depends_on": "eval:doc.is_stock_item",
"description": "",
"fieldname": "is_asset_item",
"fieldtype": "Check",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Is Fixed Asset Item",
+ "no_copy": 0,
"oldfieldname": "is_asset_item",
"oldfieldtype": "Select",
"options": "",
"permlevel": 0,
- "read_only": 0
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"depends_on": "is_stock_item",
"fieldname": "column_break1",
"fieldtype": "Column Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
"oldfieldtype": "Column Break",
"permlevel": 0,
+ "print_hide": 0,
"read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0,
"width": "50%"
},
{
+ "allow_on_submit": 0,
"depends_on": "",
"description": "",
"fieldname": "default_warehouse",
"fieldtype": "Link",
+ "hidden": 0,
"ignore_user_permissions": 1,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Default Warehouse",
+ "no_copy": 0,
"oldfieldname": "default_warehouse",
"oldfieldtype": "Link",
"options": "Warehouse",
"permlevel": 0,
- "read_only": 0
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"depends_on": "is_stock_item",
"description": "",
"fieldname": "tolerance",
"fieldtype": "Float",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Allow over delivery or receipt upto this percent",
+ "no_copy": 0,
"oldfieldname": "tolerance",
"oldfieldtype": "Currency",
"permlevel": 0,
- "read_only": 0
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"depends_on": "is_stock_item",
"fieldname": "valuation_method",
"fieldtype": "Select",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Valuation Method",
+ "no_copy": 0,
"options": "\nFIFO\nMoving Average",
"permlevel": 0,
- "read_only": 0
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"default": "0.00",
"depends_on": "is_stock_item",
"description": "",
"fieldname": "min_order_qty",
"fieldtype": "Float",
"hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Minimum Order Qty",
+ "no_copy": 0,
"oldfieldname": "min_order_qty",
"oldfieldtype": "Currency",
"permlevel": 0,
- "read_only": 0
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"depends_on": "eval:doc.is_stock_item",
"fieldname": "warranty_period",
"fieldtype": "Data",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Warranty Period (in days)",
+ "no_copy": 0,
"oldfieldname": "warranty_period",
"oldfieldtype": "Data",
"permlevel": 0,
- "read_only": 0
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"default": "2099-12-31",
"depends_on": "is_stock_item",
"fieldname": "end_of_life",
"fieldtype": "Date",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "End of Life",
+ "no_copy": 0,
"oldfieldname": "end_of_life",
"oldfieldtype": "Date",
"permlevel": 0,
- "read_only": 0
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"depends_on": "is_stock_item",
"description": "",
"fieldname": "net_weight",
"fieldtype": "Float",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Net Weight",
+ "no_copy": 0,
"permlevel": 0,
- "read_only": 0
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"depends_on": "eval:doc.is_stock_item",
"fieldname": "weight_uom",
"fieldtype": "Link",
+ "hidden": 0,
"ignore_user_permissions": 1,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Weight UOM",
+ "no_copy": 0,
"options": "UOM",
"permlevel": 0,
- "read_only": 0
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"depends_on": "eval:doc.is_stock_item",
"description": "",
"fieldname": "reorder_section",
"fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Auto re-order",
+ "no_copy": 0,
"options": "icon-rss",
"permlevel": 0,
- "read_only": 0
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"depends_on": "eval:(doc.is_stock_item && !doc.apply_warehouse_wise_reorder_level)",
"description": "Automatically create Material Request if quantity falls below this level",
"fieldname": "re_order_level",
"fieldtype": "Float",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Re-order Level",
+ "no_copy": 0,
"oldfieldname": "re_order_level",
"oldfieldtype": "Currency",
"permlevel": 0,
- "read_only": 0
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"depends_on": "eval:(doc.is_stock_item && !doc.apply_warehouse_wise_reorder_level)",
"fieldname": "re_order_qty",
"fieldtype": "Float",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Re-order Qty",
+ "no_copy": 0,
"permlevel": 0,
- "read_only": 0
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"depends_on": "is_stock_item",
"fieldname": "apply_warehouse_wise_reorder_level",
"fieldtype": "Check",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Apply Warehouse-wise Reorder Level",
+ "no_copy": 0,
"permlevel": 0,
- "precision": ""
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"depends_on": "eval:(doc.is_stock_item && doc.apply_warehouse_wise_reorder_level)",
"fieldname": "section_break_31",
"fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
"permlevel": 0,
- "read_only": 0
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"depends_on": "eval:(doc.is_stock_item && doc.apply_warehouse_wise_reorder_level)",
"description": "Will also apply for variants unless overrridden",
"fieldname": "reorder_levels",
"fieldtype": "Table",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Warehouse-wise Reorder Levels",
+ "no_copy": 0,
"options": "Item Reorder",
"permlevel": 0,
- "read_only": 0
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
- "depends_on": "eval:!doc.variant_of",
+ "allow_on_submit": 0,
+ "depends_on": "",
"fieldname": "variants_section",
"fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Variants",
+ "no_copy": 0,
"permlevel": 0,
- "precision": ""
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"default": "0",
- "depends_on": "",
+ "depends_on": "eval:!doc.variant_of",
"description": "If this item has variants, then it cannot be selected in sales orders etc.",
"fieldname": "has_variants",
"fieldtype": "Check",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Has Variants",
"no_copy": 1,
"options": "",
"permlevel": 0,
"precision": "",
- "read_only": 0
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
- "fieldname": "column_break_18",
- "fieldtype": "Column Break",
- "permlevel": 0,
- "precision": ""
- },
- {
- "depends_on": "has_variants",
- "fieldname": "manage_variants",
- "fieldtype": "Button",
- "label": "Manage Variants",
- "permlevel": 0,
- "precision": ""
- },
- {
- "fieldname": "section_break_20",
- "fieldtype": "Section Break",
- "permlevel": 0,
- "precision": ""
- },
- {
- "depends_on": "variant_of",
+ "allow_on_submit": 0,
+ "depends_on": "",
"fieldname": "attributes",
"fieldtype": "Table",
- "hidden": 0,
+ "hidden": 1,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Attributes",
"no_copy": 1,
- "options": "Variant Attribute",
+ "options": "Item Variant Attribute",
"permlevel": 0,
"precision": "",
- "read_only": 1
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "purchase_details",
"fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Purchase Details",
+ "no_copy": 0,
"oldfieldtype": "Section Break",
"options": "icon-shopping-cart",
"permlevel": 0,
- "read_only": 0
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"default": "1",
"description": "",
"fieldname": "is_purchase_item",
"fieldtype": "Check",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Is Purchase Item",
+ "no_copy": 0,
"oldfieldname": "is_purchase_item",
"oldfieldtype": "Select",
"options": "",
"permlevel": 0,
- "read_only": 0
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"depends_on": "is_purchase_item",
"description": "Average time taken by the supplier to deliver",
"fieldname": "lead_time_days",
"fieldtype": "Int",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Lead Time in days",
"no_copy": 0,
"oldfieldname": "lead_time_days",
"oldfieldtype": "Int",
"permlevel": 0,
- "read_only": 0
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"depends_on": "is_purchase_item",
"description": "",
"fieldname": "buying_cost_center",
"fieldtype": "Link",
+ "hidden": 0,
"ignore_user_permissions": 1,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Default Buying Cost Center",
+ "no_copy": 0,
"oldfieldname": "cost_center",
"oldfieldtype": "Link",
"options": "Cost Center",
"permlevel": 0,
- "read_only": 0
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"depends_on": "is_purchase_item",
"description": "",
"fieldname": "expense_account",
"fieldtype": "Link",
+ "hidden": 0,
"ignore_user_permissions": 1,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Default Expense Account",
+ "no_copy": 0,
"oldfieldname": "purchase_account",
"oldfieldtype": "Link",
"options": "Account",
"permlevel": 0,
- "read_only": 0
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"depends_on": "is_purchase_item",
"fieldname": "unit_of_measure_conversion",
"fieldtype": "Column Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Unit of Measure Conversion",
+ "no_copy": 0,
"permlevel": 0,
- "precision": ""
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"depends_on": "is_purchase_item",
"description": "Will also apply for variants",
"fieldname": "uoms",
"fieldtype": "Table",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "UOMs",
"no_copy": 1,
"oldfieldname": "uom_conversion_details",
"oldfieldtype": "Table",
"options": "UOM Conversion Detail",
"permlevel": 0,
- "read_only": 0
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"depends_on": "is_purchase_item",
"fieldname": "last_purchase_rate",
"fieldtype": "Float",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Last Purchase Rate",
"no_copy": 1,
"oldfieldname": "last_purchase_rate",
"oldfieldtype": "Currency",
"permlevel": 0,
- "read_only": 1
+ "print_hide": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"depends_on": "is_purchase_item",
"fieldname": "supplier_details",
"fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Supplier Details",
+ "no_copy": 0,
"permlevel": 0,
- "precision": ""
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"depends_on": "eval:doc.is_purchase_item",
"fieldname": "default_supplier",
"fieldtype": "Link",
+ "hidden": 0,
"ignore_user_permissions": 1,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Default Supplier",
+ "no_copy": 0,
"options": "Supplier",
- "permlevel": 0
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"depends_on": "eval:doc.is_purchase_item",
"fieldname": "manufacturer",
"fieldtype": "Data",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Manufacturer",
+ "no_copy": 0,
"permlevel": 0,
- "read_only": 0
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"depends_on": "eval:doc.is_purchase_item",
"fieldname": "manufacturer_part_no",
"fieldtype": "Data",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Manufacturer Part Number",
+ "no_copy": 0,
"permlevel": 0,
- "read_only": 0
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"depends_on": "is_purchase_item",
"fieldname": "column_break2",
"fieldtype": "Column Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Item Code for Suppliers",
+ "no_copy": 0,
"oldfieldtype": "Column Break",
"permlevel": 0,
+ "print_hide": 0,
"read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0,
"width": "50%"
},
{
+ "allow_on_submit": 0,
"depends_on": "is_purchase_item",
"fieldname": "supplier_items",
"fieldtype": "Table",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Supplier Items",
+ "no_copy": 0,
"options": "Item Supplier",
"permlevel": 0,
- "read_only": 0
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "sales_details",
"fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Sales Details",
+ "no_copy": 0,
"oldfieldtype": "Section Break",
"options": "icon-tag",
"permlevel": 0,
- "read_only": 0
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"default": "1",
"description": "",
"fieldname": "is_sales_item",
"fieldtype": "Check",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
"in_filter": 1,
+ "in_list_view": 0,
"label": "Is Sales Item",
+ "no_copy": 0,
"oldfieldname": "is_sales_item",
"oldfieldtype": "Select",
"options": "",
"permlevel": 0,
- "read_only": 0
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"default": "",
"depends_on": "eval:doc.is_sales_item",
"description": "Allow in Sales Order of type \"Service\"",
"fieldname": "is_service_item",
"fieldtype": "Check",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
"in_filter": 1,
+ "in_list_view": 0,
"label": "Is Service Item",
+ "no_copy": 0,
"oldfieldname": "is_service_item",
"oldfieldtype": "Select",
"options": "",
"permlevel": 0,
- "read_only": 0
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"default": "0",
"description": "Publish Item to hub.erpnext.com",
"fieldname": "publish_in_hub",
"fieldtype": "Check",
"hidden": 1,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Publish in Hub",
+ "no_copy": 0,
"permlevel": 0,
- "precision": ""
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"default": "0",
"fieldname": "synced_with_hub",
"fieldtype": "Check",
"hidden": 1,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Synced With Hub",
+ "no_copy": 0,
"permlevel": 0,
- "precision": ""
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"depends_on": "is_sales_item",
"fieldname": "income_account",
"fieldtype": "Link",
+ "hidden": 0,
"ignore_user_permissions": 1,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Default Income Account",
+ "no_copy": 0,
"options": "Account",
"permlevel": 0,
- "read_only": 0
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"depends_on": "is_sales_item",
"fieldname": "selling_cost_center",
"fieldtype": "Link",
+ "hidden": 0,
"ignore_user_permissions": 1,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Default Selling Cost Center",
+ "no_copy": 0,
"options": "Cost Center",
"permlevel": 0,
- "read_only": 0
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"depends_on": "is_sales_item",
"fieldname": "column_break3",
"fieldtype": "Column Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Customer Item Codes",
+ "no_copy": 0,
"oldfieldtype": "Column Break",
"permlevel": 0,
+ "print_hide": 0,
"read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0,
"width": "50%"
},
{
+ "allow_on_submit": 0,
"depends_on": "is_sales_item",
"description": "",
"fieldname": "customer_items",
"fieldtype": "Table",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Customer Items",
+ "no_copy": 0,
"options": "Item Customer Detail",
"permlevel": 0,
- "read_only": 0
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"depends_on": "eval:doc.is_sales_item",
"fieldname": "max_discount",
"fieldtype": "Float",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Max Discount (%)",
+ "no_copy": 0,
"oldfieldname": "max_discount",
"oldfieldtype": "Currency",
"permlevel": 0,
- "read_only": 0
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "item_tax_section_break",
"fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Item Tax",
+ "no_copy": 0,
"oldfieldtype": "Section Break",
"options": "icon-money",
"permlevel": 0,
- "read_only": 0
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"description": "Will also apply for variants",
"fieldname": "taxes",
"fieldtype": "Table",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Taxes",
+ "no_copy": 0,
"oldfieldname": "item_tax",
"oldfieldtype": "Table",
"options": "Item Tax",
"permlevel": 0,
- "read_only": 0
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "inspection_criteria",
"fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Inspection Criteria",
+ "no_copy": 0,
"oldfieldtype": "Section Break",
"options": "icon-search",
"permlevel": 0,
- "read_only": 0
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"default": "",
"fieldname": "inspection_required",
"fieldtype": "Check",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Inspection Required",
"no_copy": 0,
"oldfieldname": "inspection_required",
"oldfieldtype": "Select",
"options": "",
"permlevel": 0,
- "read_only": 0
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"depends_on": "inspection_required",
"description": "Will also apply to variants",
"fieldname": "quality_parameters",
"fieldtype": "Table",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Quality Parameters",
+ "no_copy": 0,
"oldfieldname": "item_specification_details",
"oldfieldtype": "Table",
"options": "Item Quality Inspection Parameter",
"permlevel": 0,
- "read_only": 0
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "manufacturing",
"fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Manufacturing",
+ "no_copy": 0,
"oldfieldtype": "Section Break",
"options": "icon-cogs",
"permlevel": 0,
- "read_only": 0
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"default": "",
"depends_on": "",
"description": "",
"fieldname": "is_pro_applicable",
"fieldtype": "Check",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Allow Production Order",
+ "no_copy": 0,
"oldfieldname": "is_pro_applicable",
"oldfieldtype": "Select",
"options": "",
"permlevel": 0,
- "read_only": 0
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"default": "",
"description": "If subcontracted to a vendor",
"fieldname": "is_sub_contracted_item",
"fieldtype": "Check",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Supply Raw Materials for Purchase",
+ "no_copy": 0,
"oldfieldname": "is_sub_contracted_item",
"oldfieldtype": "Select",
"options": "",
"permlevel": 0,
- "read_only": 0
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "column_break_74",
"fieldtype": "Column Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
"permlevel": 0,
- "precision": ""
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"depends_on": "",
"fieldname": "default_bom",
"fieldtype": "Link",
+ "hidden": 0,
"ignore_user_permissions": 1,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Default BOM",
"no_copy": 1,
"oldfieldname": "default_bom",
"oldfieldtype": "Link",
"options": "BOM",
"permlevel": 0,
- "read_only": 1
+ "print_hide": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "customer_code",
"fieldtype": "Data",
"hidden": 1,
+ "ignore_user_permissions": 0,
"in_filter": 1,
+ "in_list_view": 0,
"label": "Customer Code",
"no_copy": 1,
"permlevel": 0,
"print_hide": 1,
- "read_only": 0
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "website_section",
"fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Website",
+ "no_copy": 0,
"options": "icon-globe",
"permlevel": 0,
- "read_only": 0
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "show_in_website",
"fieldtype": "Check",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Show in Website",
+ "no_copy": 0,
"permlevel": 0,
- "read_only": 0
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"depends_on": "show_in_website",
"description": "website page link",
"fieldname": "page_name",
"fieldtype": "Data",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Page Name",
"no_copy": 1,
"permlevel": 0,
- "read_only": 0
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"depends_on": "show_in_website",
"description": "Items with higher weightage will be shown higher",
"fieldname": "weightage",
"fieldtype": "Int",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Weightage",
+ "no_copy": 0,
"permlevel": 0,
+ "print_hide": 0,
"read_only": 0,
- "search_index": 1
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 1,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"depends_on": "show_in_website",
"description": "Show a slideshow at the top of the page",
"fieldname": "slideshow",
"fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Slideshow",
+ "no_copy": 0,
"options": "Website Slideshow",
"permlevel": 0,
- "read_only": 0
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"depends_on": "show_in_website",
"description": "Item Image (if not slideshow)",
"fieldname": "website_image",
"fieldtype": "Attach",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Image",
+ "no_copy": 0,
"options": "",
"permlevel": 0,
- "read_only": 0
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "cb72",
"fieldtype": "Column Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
"permlevel": 0,
- "read_only": 0
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"depends_on": "show_in_website",
"description": "Show \"In Stock\" or \"Not in Stock\" based on stock available in this warehouse.",
"fieldname": "website_warehouse",
"fieldtype": "Link",
+ "hidden": 0,
"ignore_user_permissions": 1,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Website Warehouse",
+ "no_copy": 0,
"options": "Warehouse",
"permlevel": 0,
- "read_only": 0
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"depends_on": "show_in_website",
"description": "List this Item in multiple groups on the website.",
"fieldname": "website_item_groups",
"fieldtype": "Table",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Website Item Groups",
+ "no_copy": 0,
"options": "Website Item Group",
"permlevel": 0,
- "read_only": 0
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"depends_on": "show_in_website",
"fieldname": "sb72",
"fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
"permlevel": 0,
- "read_only": 0
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "website_specifications_cb",
"fieldtype": "Column Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Website Specifications",
+ "no_copy": 0,
"permlevel": 0,
- "precision": ""
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"depends_on": "show_in_website",
"fieldname": "copy_from_item_group",
"fieldtype": "Button",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Copy From Item Group",
+ "no_copy": 0,
"permlevel": 0,
- "read_only": 0
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"depends_on": "show_in_website",
"fieldname": "website_specifications",
"fieldtype": "Table",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Website Specifications",
+ "no_copy": 0,
"options": "Item Website Specification",
"permlevel": 0,
- "read_only": 0
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"depends_on": "show_in_website",
"fieldname": "web_long_description",
"fieldtype": "Text Editor",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Website Description",
+ "no_copy": 0,
"permlevel": 0,
- "read_only": 0
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "parent_website_route",
"fieldtype": "Read Only",
+ "hidden": 0,
"ignore_user_permissions": 1,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Parent Website Route",
"no_copy": 1,
"options": "",
- "permlevel": 0
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
}
],
+ "hide_heading": 0,
+ "hide_toolbar": 0,
"icon": "icon-tag",
"idx": 1,
+ "in_create": 0,
+ "in_dialog": 0,
+ "is_submittable": 0,
+ "issingle": 0,
+ "istable": 0,
"max_attachments": 1,
- "modified": "2015-07-30 06:04:28.448050",
+ "modified": "2015-08-18 10:28:54.242793",
"modified_by": "Administrator",
"module": "Stock",
"name": "Item",
"owner": "Administrator",
"permissions": [
{
+ "amend": 0,
+ "apply_user_permissions": 0,
+ "cancel": 0,
"create": 1,
"delete": 1,
"email": 1,
+ "export": 0,
+ "if_owner": 0,
"import": 1,
"permlevel": 0,
"print": 1,
"read": 1,
"report": 1,
"role": "Item Manager",
+ "set_user_permissions": 0,
"share": 1,
"submit": 0,
"write": 1
},
{
"amend": 0,
+ "apply_user_permissions": 0,
+ "cancel": 0,
"create": 0,
"delete": 0,
"email": 1,
+ "export": 0,
+ "if_owner": 0,
+ "import": 0,
"permlevel": 0,
"print": 1,
"read": 1,
"report": 1,
"role": "Stock Manager",
+ "set_user_permissions": 0,
+ "share": 0,
"submit": 0,
"write": 0
},
{
"amend": 0,
"apply_user_permissions": 1,
+ "cancel": 0,
"create": 0,
"delete": 0,
"email": 1,
+ "export": 0,
+ "if_owner": 0,
+ "import": 0,
"permlevel": 0,
"print": 1,
"read": 1,
"report": 1,
"role": "Stock User",
+ "set_user_permissions": 0,
+ "share": 0,
"submit": 0,
"write": 0
},
{
+ "amend": 0,
"apply_user_permissions": 1,
+ "cancel": 0,
+ "create": 0,
+ "delete": 0,
+ "email": 0,
+ "export": 0,
+ "if_owner": 0,
+ "import": 0,
"permlevel": 0,
+ "print": 0,
"read": 1,
- "role": "Sales User"
+ "report": 0,
+ "role": "Sales User",
+ "set_user_permissions": 0,
+ "share": 0,
+ "submit": 0,
+ "write": 0
},
{
+ "amend": 0,
"apply_user_permissions": 1,
+ "cancel": 0,
+ "create": 0,
+ "delete": 0,
+ "email": 0,
+ "export": 0,
+ "if_owner": 0,
+ "import": 0,
"permlevel": 0,
+ "print": 0,
"read": 1,
- "role": "Purchase User"
+ "report": 0,
+ "role": "Purchase User",
+ "set_user_permissions": 0,
+ "share": 0,
+ "submit": 0,
+ "write": 0
},
{
+ "amend": 0,
"apply_user_permissions": 1,
+ "cancel": 0,
+ "create": 0,
+ "delete": 0,
+ "email": 0,
+ "export": 0,
+ "if_owner": 0,
+ "import": 0,
"permlevel": 0,
+ "print": 0,
"read": 1,
- "role": "Maintenance User"
+ "report": 0,
+ "role": "Maintenance User",
+ "set_user_permissions": 0,
+ "share": 0,
+ "submit": 0,
+ "write": 0
},
{
+ "amend": 0,
"apply_user_permissions": 1,
+ "cancel": 0,
+ "create": 0,
+ "delete": 0,
+ "email": 0,
+ "export": 0,
+ "if_owner": 0,
+ "import": 0,
"permlevel": 0,
+ "print": 0,
"read": 1,
- "role": "Accounts User"
+ "report": 0,
+ "role": "Accounts User",
+ "set_user_permissions": 0,
+ "share": 0,
+ "submit": 0,
+ "write": 0
},
{
+ "amend": 0,
"apply_user_permissions": 1,
+ "cancel": 0,
+ "create": 0,
+ "delete": 0,
+ "email": 0,
+ "export": 0,
+ "if_owner": 0,
+ "import": 0,
"permlevel": 0,
+ "print": 0,
"read": 1,
- "role": "Manufacturing User"
+ "report": 0,
+ "role": "Manufacturing User",
+ "set_user_permissions": 0,
+ "share": 0,
+ "submit": 0,
+ "write": 0
}
],
+ "read_only": 0,
+ "read_only_onload": 0,
"search_fields": "item_name,description,item_group,customer_code",
"title_field": "item_name"
}
diff --git a/erpnext/stock/doctype/item/item.py b/erpnext/stock/doctype/item/item.py
index eaf904d..1ad52e0 100644
--- a/erpnext/stock/doctype/item/item.py
+++ b/erpnext/stock/doctype/item/item.py
@@ -3,13 +3,13 @@
from __future__ import unicode_literals
import frappe
+import json
from frappe import msgprint, _
from frappe.utils import cstr, flt, cint, getdate, now_datetime, formatdate
from frappe.website.website_generator import WebsiteGenerator
from erpnext.setup.doctype.item_group.item_group import invalidate_cache_for, get_parent_item_groups
from frappe.website.render import clear_cache
from frappe.website.doctype.website_slideshow.website_slideshow import get_slideshow
-from erpnext.stock.doctype.manage_variants.manage_variants import update_variant
class WarehouseNotSet(frappe.ValidationError): pass
class ItemTemplateCannotHaveStock(frappe.ValidationError): pass
@@ -63,6 +63,8 @@
self.synced_with_hub = 0
self.validate_has_variants()
self.validate_stock_for_template_must_be_zero()
+ self.validate_template_attributes()
+ self.validate_variant_attributes()
if not self.get("__islocal"):
self.old_item_group = frappe.db.get_value(self.doctype, self.name, "item_group")
@@ -298,7 +300,9 @@
updated = []
variants = frappe.db.get_all("Item", fields=["item_code"], filters={"variant_of": self.name })
for d in variants:
- update_variant(self.name, d)
+ variant = frappe.get_doc("Item", d)
+ copy_attributes_to_variant(self, variant)
+ variant.save()
updated.append(d.item_code)
if updated:
frappe.msgprint(_("Item Variants {0} updated").format(", ".join(updated)))
@@ -315,7 +319,7 @@
or ifnull(reserved_qty, 0) > 0 or ifnull(indented_qty, 0) > 0 or ifnull(planned_qty, 0) > 0)""", self.name)
if stock_in:
frappe.throw(_("Item Template cannot have stock or Open Sales/Purchase/Production Orders."), ItemTemplateCannotHaveStock)
-
+
def validate_uom(self):
if not self.get("__islocal"):
check_stock_uom_with_bin(self.name, self.stock_uom)
@@ -327,6 +331,29 @@
if template_uom != self.stock_uom:
frappe.throw(_("Default Unit of Measure for Variant must be same as Template"))
+ def validate_template_attributes(self):
+ if self.has_variants:
+ attributes = []
+ if not self.attributes:
+ frappe.throw(_("Attribute is mandatory for Item Template"))
+ for d in self.attributes:
+ if d.attribute in attributes:
+ frappe.throw(_("Attribute {0} selected multiple times in Attributes Table".format(d.attribute)))
+ else:
+ attributes.append(d.attribute)
+
+ def validate_variant_attributes(self):
+ if self.variant_of:
+ args = {}
+ for d in self.attributes:
+ if not d.attribute_value:
+ frappe.throw(_("Please specify Attribute Value for attribute {0}").format(d.attribute))
+ args[d.attribute] = d.attribute_value
+
+ variant = get_variant(self.variant_of, args)
+ if variant and not variant[0][0] == self.name:
+ frappe.throw(_("Item variant {0} exists with same attributes".format(variant[0][0]) ))
+
def validate_end_of_life(item_code, end_of_life=None, verbose=1):
if not end_of_life:
end_of_life = frappe.db.get_value("Item", item_code, "end_of_life")
@@ -458,3 +485,75 @@
frappe.throw(_("Default Unit of Measure for Item {0} cannot be changed directly because \
you have already made some transaction(s) with another UOM. To change default UOM, \
use 'UOM Replace Utility' tool under Stock module.").format(item))
+
+@frappe.whitelist()
+def get_variant(item, args):
+ if not type(args) == dict:
+ args = json.loads(args)
+ attributes = {}
+ numeric_attributes = []
+ for t in frappe.db.get_all("Item Attribute Value", fields=["parent", "attribute_value"]):
+ attributes.setdefault(t.parent, []).append(t.attribute_value)
+
+ for t in frappe.get_list("Item Attribute", filters={"numeric_values":1}):
+ numeric_attributes.append(t.name)
+
+ for d in args:
+ if d in numeric_attributes:
+ values = frappe.db.sql("""select from_range, to_range, increment from `tabItem Variant Attribute` \
+ where parent = %s and attribute = %s""", (item, d), as_dict=1)[0]
+
+ if (not values.from_range < cint(args[d]) < values.to_range) or ((cint(args[d]) - values.from_range) % values.increment != 0):
+ frappe.throw(_("Attribute value {0} for attribute {1} must be within range of {2} to {3} and in increments of {4}")
+ .format(args[d], d, values.from_range, values.to_range, values.increment))
+ else:
+ if args[d] not in attributes.get(d):
+ frappe.throw(_("Attribute value {0} for attribute {1} does not exist \
+ in Item Attribute Master.").format(args[d], d))
+
+ conds=""
+ attributes = ""
+ for d in args:
+ if conds:
+ conds+= " and "
+ attributes+= ", "
+
+ conds += """ exists(select iv.name from `tabItem Variant Attribute` iv where iv.parent = i.name and
+ iv.attribute= "{0}" and iv.attribute_value= "{1}")""".format(d, args[d])
+ attributes += "'{0}'".format(d)
+
+ conds += """and not exists (select iv.name from `tabItem Variant Attribute` iv where iv.parent = i.name and
+ iv.attribute not in ({0}))""".format(attributes)
+
+ variant= frappe.db.sql("""select i.name from tabItem i where {0}""".format(conds))
+ return variant
+
+@frappe.whitelist()
+def create_variant(item, param):
+ args = json.loads(param)
+ variant = frappe.new_doc("Item")
+ variant_attributes = []
+ for d in args:
+ variant_attributes.append({
+ "attribute": d,
+ "attribute_value": args[d]
+ })
+ variant.set("attributes", variant_attributes)
+ template = frappe.get_doc("Item", item)
+ copy_attributes_to_variant(template, variant)
+ return variant
+
+def copy_attributes_to_variant(item, variant):
+ from frappe.model import no_value_fields
+ for field in item.meta.fields:
+ if field.fieldtype not in no_value_fields and (not field.no_copy)\
+ and field.fieldname not in ("item_code", "item_name"):
+ if variant.get(field.fieldname) != item.get(field.fieldname):
+ variant.set(field.fieldname, item.get(field.fieldname))
+ variant.variant_of = item.name
+ variant.has_variants = 0
+ variant.show_in_website = 0
+ if variant.attributes:
+ variant.description += "\n"
+ for d in variant.attributes:
+ variant.description += "<p>" + d.attribute + ": " + cstr(d.attribute_value) + "</p>"
diff --git a/erpnext/stock/doctype/item/item_list.js b/erpnext/stock/doctype/item/item_list.js
index 6eaa492..46a22ea 100644
--- a/erpnext/stock/doctype/item/item_list.js
+++ b/erpnext/stock/doctype/item/item_list.js
@@ -6,7 +6,7 @@
if(doc.end_of_life && doc.end_of_life < frappe.datetime.get_today()) {
return [__("Expired"), "grey", "end_of_life,<,Today"]
} else if(doc.has_variants) {
- return [__("Template"), "blue", "has_variant,=,1"]
+ return [__("Template"), "blue", "has_variants,=,Yes"]
} else if(doc.variant_of) {
return [__("Variant"), "green", "variant_of,=," + doc.variant_of]
} else {
diff --git a/erpnext/stock/doctype/item/test_item.py b/erpnext/stock/doctype/item/test_item.py
index 9235bec..488bd05 100644
--- a/erpnext/stock/doctype/item/test_item.py
+++ b/erpnext/stock/doctype/item/test_item.py
@@ -6,7 +6,7 @@
import frappe
from frappe.test_runner import make_test_records
-from erpnext.stock.doctype.item.item import WarehouseNotSet, ItemTemplateCannotHaveStock
+from erpnext.stock.doctype.item.item import WarehouseNotSet, ItemTemplateCannotHaveStock, create_variant
from erpnext.stock.doctype.stock_entry.test_stock_entry import make_stock_entry
test_ignore = ["BOM"]
@@ -98,5 +98,19 @@
for key, value in to_check.iteritems():
self.assertEquals(value, details.get(key))
+
+ def test_make_item_variant(self):
+ if not frappe.db.exists("Item", "_Test Variant Item-S"):
+ variant = create_variant("_Test Variant Item", """{"Test Size": "Small"}""")
+ variant.item_code = "_Test Variant Item-S"
+ variant.item_name = "_Test Variant Item-S"
+ variant.save()
+
+def make_item_variant():
+ if not frappe.db.exists("Item", "_Test Variant Item-S"):
+ variant = create_variant("_Test Variant Item", """{"Test Size": "Small"}""")
+ variant.item_code = "_Test Variant Item-S"
+ variant.item_name = "_Test Variant Item-S"
+ variant.save()
test_records = frappe.get_test_records('Item')
diff --git a/erpnext/stock/doctype/item/test_records.json b/erpnext/stock/doctype/item/test_records.json
index 5dd63e3..f12c7cc 100644
--- a/erpnext/stock/doctype/item/test_records.json
+++ b/erpnext/stock/doctype/item/test_records.json
@@ -273,6 +273,11 @@
"item_name": "_Test Variant Item",
"stock_uom": "_Test UOM",
"has_variants": 1,
+ "attributes": [
+ {
+ "attribute": "Test Size"
+ }
+ ],
"apply_warehouse_wise_reorder_level": 1,
"reorder_levels": [
{
diff --git a/erpnext/stock/doctype/item_attribute/item_attribute.json b/erpnext/stock/doctype/item_attribute/item_attribute.json
index 1824fb6..d23fe4d 100644
--- a/erpnext/stock/doctype/item_attribute/item_attribute.json
+++ b/erpnext/stock/doctype/item_attribute/item_attribute.json
@@ -26,24 +26,173 @@
"report_hide": 0,
"reqd": 1,
"search_index": 0,
- "set_only_once": 0
+ "set_only_once": 0,
+ "unique": 0
},
{
- "default": "1",
- "description": "Lower the number, higher the priority in the Item Code suffix that will be created for this Item Attribute for the Item Variant",
- "fieldname": "priority",
- "fieldtype": "Int",
- "label": "Priority",
+ "allow_on_submit": 0,
+ "default": "0",
+ "fieldname": "numeric_values",
+ "fieldtype": "Check",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Numeric Values",
+ "no_copy": 0,
"permlevel": 0,
- "precision": ""
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
+ "depends_on": "numeric_values",
+ "fieldname": "section_break_4",
+ "fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
+ },
+ {
+ "allow_on_submit": 0,
+ "depends_on": "",
+ "fieldname": "from_range",
+ "fieldtype": "Float",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "From Range",
+ "no_copy": 0,
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
+ },
+ {
+ "allow_on_submit": 0,
+ "depends_on": "",
+ "fieldname": "increment",
+ "fieldtype": "Float",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Increment",
+ "no_copy": 0,
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
+ },
+ {
+ "allow_on_submit": 0,
+ "fieldname": "column_break_8",
+ "fieldtype": "Column Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
+ },
+ {
+ "allow_on_submit": 0,
+ "depends_on": "",
+ "fieldname": "to_range",
+ "fieldtype": "Float",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "To Range",
+ "no_copy": 0,
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
+ },
+ {
+ "allow_on_submit": 0,
+ "depends_on": "eval: !doc.numeric_values",
+ "fieldname": "section_break_5",
+ "fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
+ },
+ {
+ "allow_on_submit": 0,
+ "depends_on": "",
"fieldname": "item_attribute_values",
"fieldtype": "Table",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Item Attribute Values",
+ "no_copy": 0,
"options": "Item Attribute Value",
"permlevel": 0,
- "precision": ""
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
}
],
"hide_heading": 0,
@@ -54,7 +203,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 0,
- "modified": "2015-07-13 05:28:20.561939",
+ "modified": "2015-08-11 08:43:10.240847",
"modified_by": "Administrator",
"module": "Stock",
"name": "Item Attribute",
@@ -69,6 +218,7 @@
"delete": 1,
"email": 0,
"export": 0,
+ "if_owner": 0,
"import": 0,
"permlevel": 0,
"print": 0,
diff --git a/erpnext/stock/doctype/item_attribute/item_attribute.py b/erpnext/stock/doctype/item_attribute/item_attribute.py
index 171e118..7383de3 100644
--- a/erpnext/stock/doctype/item_attribute/item_attribute.py
+++ b/erpnext/stock/doctype/item_attribute/item_attribute.py
@@ -8,10 +8,20 @@
class ItemAttribute(Document):
def validate(self):
+ self.validate_numeric()
self.validate_duplication()
self.validate_attribute_values()
-
+ def validate_numeric(self):
+ if self.numeric_values:
+ self.set("item_attribute_values", [])
+ if not self.from_range or not self.to_range:
+ frappe.throw(_("Please specify from/to Range"))
+ elif self.from_range > self.to_range:
+ frappe.throw(_("From Range cannot be greater than to Range"))
+ else:
+ self.from_range = self.to_range = self.increment = 0
+
def validate_duplication(self):
values, abbrs = [], []
for d in self.item_attribute_values:
@@ -23,14 +33,15 @@
if d.abbr in abbrs:
frappe.throw(_("{0} must appear only once").format(d.abbr))
abbrs.append(d.abbr)
-
+
def validate_attribute_values(self):
attribute_values = []
for d in self.item_attribute_values:
attribute_values.append(d.attribute_value)
-
- variant_attributes = frappe.db.sql("select DISTINCT attribute_value from `tabVariant Attribute` where attribute=%s", self.name)
+
+ variant_attributes = frappe.db.sql("select DISTINCT attribute_value from `tabItem Variant Attribute` where attribute=%s", self.name)
if variant_attributes:
for d in variant_attributes:
- if d[0] not in attribute_values:
- frappe.throw(_("Attribute Value {0} cannot be removed from {1} as Item Variants exist with this Attribute.").format(d[0], self.name))
+ if d[0] and d[0] not in attribute_values:
+ frappe.throw(_("Attribute Value {0} cannot be removed from {1} as Item Variants \
+ exist with this Attribute.").format(d[0], self.name))
diff --git a/erpnext/stock/doctype/variant_attribute/__init__.py b/erpnext/stock/doctype/item_variant_attribute/__init__.py
similarity index 100%
rename from erpnext/stock/doctype/variant_attribute/__init__.py
rename to erpnext/stock/doctype/item_variant_attribute/__init__.py
diff --git a/erpnext/stock/doctype/item_variant_attribute/item_variant_attribute.json b/erpnext/stock/doctype/item_variant_attribute/item_variant_attribute.json
new file mode 100644
index 0000000..7ab21e1
--- /dev/null
+++ b/erpnext/stock/doctype/item_variant_attribute/item_variant_attribute.json
@@ -0,0 +1,217 @@
+{
+ "allow_copy": 0,
+ "allow_import": 1,
+ "allow_rename": 0,
+ "autoname": "",
+ "creation": "2015-05-19 05:12:30.344797",
+ "custom": 0,
+ "docstatus": 0,
+ "doctype": "DocType",
+ "document_type": "Other",
+ "fields": [
+ {
+ "allow_on_submit": 0,
+ "fieldname": "attribute",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 1,
+ "label": "Attribute",
+ "no_copy": 0,
+ "options": "Item Attribute",
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 1,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
+ },
+ {
+ "allow_on_submit": 0,
+ "fieldname": "column_break_2",
+ "fieldtype": "Column Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
+ },
+ {
+ "allow_on_submit": 0,
+ "depends_on": "",
+ "fieldname": "attribute_value",
+ "fieldtype": "Data",
+ "hidden": 1,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 1,
+ "label": "Attribute Value",
+ "no_copy": 0,
+ "options": "",
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
+ },
+ {
+ "allow_on_submit": 0,
+ "depends_on": "has_variants",
+ "fieldname": "numeric_values",
+ "fieldtype": "Check",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Numeric Values",
+ "no_copy": 0,
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
+ },
+ {
+ "allow_on_submit": 0,
+ "depends_on": "numeric_values",
+ "fieldname": "section_break_4",
+ "fieldtype": "Section Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
+ },
+ {
+ "allow_on_submit": 0,
+ "depends_on": "",
+ "fieldname": "from_range",
+ "fieldtype": "Float",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "From Range",
+ "no_copy": 0,
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
+ },
+ {
+ "allow_on_submit": 0,
+ "depends_on": "",
+ "fieldname": "increment",
+ "fieldtype": "Float",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "Increment",
+ "no_copy": 0,
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
+ },
+ {
+ "allow_on_submit": 0,
+ "fieldname": "column_break_8",
+ "fieldtype": "Column Break",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "no_copy": 0,
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
+ },
+ {
+ "allow_on_submit": 0,
+ "depends_on": "",
+ "fieldname": "to_range",
+ "fieldtype": "Float",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
+ "label": "To Range",
+ "no_copy": 0,
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
+ }
+ ],
+ "hide_heading": 0,
+ "hide_toolbar": 0,
+ "icon": "",
+ "in_create": 0,
+ "in_dialog": 0,
+ "is_submittable": 0,
+ "issingle": 0,
+ "istable": 1,
+ "modified": "2015-08-18 02:47:07.959104",
+ "modified_by": "Administrator",
+ "module": "Stock",
+ "name": "Item Variant Attribute",
+ "name_case": "",
+ "owner": "Administrator",
+ "permissions": [],
+ "read_only": 0,
+ "read_only_onload": 0,
+ "sort_field": "modified",
+ "sort_order": "DESC"
+}
diff --git a/erpnext/stock/doctype/variant_attribute/variant_attribute.py b/erpnext/stock/doctype/item_variant_attribute/item_variant_attribute.py
similarity index 87%
rename from erpnext/stock/doctype/variant_attribute/variant_attribute.py
rename to erpnext/stock/doctype/item_variant_attribute/item_variant_attribute.py
index 9c35732..d1a1eb5 100644
--- a/erpnext/stock/doctype/variant_attribute/variant_attribute.py
+++ b/erpnext/stock/doctype/item_variant_attribute/item_variant_attribute.py
@@ -6,5 +6,5 @@
import frappe
from frappe.model.document import Document
-class VariantAttribute(Document):
+class ItemVariantAttribute(Document):
pass
diff --git a/erpnext/stock/doctype/manage_variants/__init__.py b/erpnext/stock/doctype/manage_variants/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/erpnext/stock/doctype/manage_variants/__init__.py
+++ /dev/null
diff --git a/erpnext/stock/doctype/manage_variants/manage_variants.js b/erpnext/stock/doctype/manage_variants/manage_variants.js
deleted file mode 100644
index edbfcd2..0000000
--- a/erpnext/stock/doctype/manage_variants/manage_variants.js
+++ /dev/null
@@ -1,60 +0,0 @@
-// Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
-// License: GNU General Public License v3. See license.txt
-
-frappe.ui.form.on("Manage Variants", {
- onload: function(frm) {
- var df = frappe.meta.get_docfield("Variant Attribute", "attribute_value", "Manage Variants");
- df.on_make = function(field) {
- $(field.input_area).addClass("ui-front");
- field.$input.autocomplete({
- minLength: 0,
- minChars: 0,
- source: function(request, response) {
- frappe.call({
- method:"frappe.client.get_list",
- args:{
- doctype:"Item Attribute Value",
- filters: [
- ["parent","=", field.doc.attribute],
- ["attribute_value", "like", request.term + "%"]
- ],
- fields: ["attribute_value"]
- },
- callback: function(r) {
- response($.map(r.message, function(d) { return d.attribute_value; }));
- }
- });
- },
- select: function(event, ui) {
- field.$input.val(ui.item.value);
- field.$input.trigger("change");
- }
- });
- }
- },
-
- refresh: function(frm) {
- frm.disable_save();
- frm.page.set_primary_action(__("Create Variants"), function() {
- frappe.call({
- method: "create_variants",
- doc:frm.doc
- })
- });
- },
-
- onload_post_render: function(frm) {
- frm.get_field("variants").grid.cannot_add_rows = true;
- },
-
- item_code:function(frm) {
- return frappe.call({
- method: "get_item_details",
- doc:frm.doc,
- callback: function(r) {
- refresh_field('attributes');
- refresh_field('variants');
- }
- })
- }
-});
diff --git a/erpnext/stock/doctype/manage_variants/manage_variants.json b/erpnext/stock/doctype/manage_variants/manage_variants.json
deleted file mode 100644
index ff4f436..0000000
--- a/erpnext/stock/doctype/manage_variants/manage_variants.json
+++ /dev/null
@@ -1,103 +0,0 @@
-{
- "allow_copy": 0,
- "allow_import": 0,
- "allow_rename": 0,
- "creation": "2015-05-19 05:39:59.345901",
- "custom": 0,
- "docstatus": 0,
- "doctype": "DocType",
- "document_type": "",
- "fields": [
- {
- "fieldname": "item_code",
- "fieldtype": "Link",
- "label": "Item Code",
- "options": "Item",
- "permlevel": 0,
- "precision": "",
- "reqd": 1
- },
- {
- "fieldname": "section_break_2",
- "fieldtype": "Section Break",
- "label": "Item Variant Attributes",
- "permlevel": 0,
- "precision": ""
- },
- {
- "allow_on_submit": 0,
- "fieldname": "attributes",
- "fieldtype": "Table",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 0,
- "label": "Attributes",
- "no_copy": 0,
- "options": "Variant Attribute",
- "permlevel": 0,
- "precision": "",
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 0,
- "search_index": 0,
- "set_only_once": 0
- },
- {
- "fieldname": "generate_combinations",
- "fieldtype": "Button",
- "label": "Generate Combinations",
- "options": "generate_combinations",
- "permlevel": 0,
- "precision": ""
- },
- {
- "fieldname": "section_break_4",
- "fieldtype": "Section Break",
- "label": "Item Variants",
- "permlevel": 0,
- "precision": ""
- },
- {
- "fieldname": "variants",
- "fieldtype": "Table",
- "label": "Variants",
- "options": "Manage Variants Item",
- "permlevel": 0,
- "precision": ""
- }
- ],
- "hide_heading": 0,
- "hide_toolbar": 0,
- "in_create": 1,
- "in_dialog": 0,
- "is_submittable": 0,
- "issingle": 1,
- "istable": 0,
- "modified": "2015-07-13 05:28:29.057918",
- "modified_by": "Administrator",
- "module": "Stock",
- "name": "Manage Variants",
- "name_case": "",
- "owner": "Administrator",
- "permissions": [
- {
- "create": 1,
- "delete": 1,
- "email": 1,
- "export": 0,
- "permlevel": 0,
- "print": 1,
- "read": 1,
- "report": 0,
- "role": "Item Manager",
- "share": 1,
- "write": 1
- }
- ],
- "read_only": 1,
- "read_only_onload": 0,
- "sort_field": "modified",
- "sort_order": "DESC"
-}
\ No newline at end of file
diff --git a/erpnext/stock/doctype/manage_variants/manage_variants.py b/erpnext/stock/doctype/manage_variants/manage_variants.py
deleted file mode 100644
index 4dcfb22..0000000
--- a/erpnext/stock/doctype/manage_variants/manage_variants.py
+++ /dev/null
@@ -1,207 +0,0 @@
-# -*- coding: utf-8 -*-
-# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors and contributors
-# For license information, please see license.txt
-
-from __future__ import unicode_literals
-import frappe
-from frappe import _
-from frappe.model.document import Document
-import copy
-import json
-
-class DuplicateAttribute(frappe.ValidationError): pass
-
-class ManageVariants(Document):
-
- def get_item_details(self):
- self.clear_tables()
- if self.item_code:
- self.get_attributes()
- self.get_variants()
-
- def generate_combinations(self):
- self.validate_attributes()
- self.validate_template_item()
- self.validate_attribute_values()
- self.validate_attributes_are_unique()
- self.get_variant_item_codes()
-
- def create_variants(self):
- self.sync_variants()
-
- def clear_tables(self):
- self.set('attributes', [])
- self.set('variants', [])
-
- def get_attributes(self):
- attributes = {}
- self.set('attributes', [])
- for d in frappe.db.sql("""select attr.attribute, attr.attribute_value from `tabVariant Attribute` as attr,
- `tabItem` as item where attr.parent = item.name and item.variant_of = %s""", self.item_code, as_dict=1):
- attributes.setdefault(d.attribute, []).append(d.attribute_value)
- for d in attributes:
- attribute_values = set(attributes[d])
- for value in attribute_values:
- self.append('attributes',{"attribute": d, "attribute_value": value})
-
- def get_variants(self):
- variants = [d.name for d in frappe.get_all("Item",
- filters={"variant_of":self.item_code})]
- data = frappe.db.sql("""select parent, attribute, attribute_value from `tabVariant Attribute`""", as_dict=1)
- for d in variants:
- variant_attributes, attributes = "", []
- for attribute in data:
- if attribute.parent == d:
- variant_attributes += attribute.attribute_value + " | "
- attributes.append([attribute.attribute, attribute.attribute_value])
- self.append('variants',{"variant": d, "variant_attributes": variant_attributes[: -3], "attributes": json.dumps(attributes)})
-
- def validate_attributes(self):
- if not self.attributes:
- frappe.throw(_("Enter atleast one Attribute & its Value in Attribute table."))
-
- def validate_template_item(self):
- if not frappe.db.get_value("Item", self.item_code, "has_variants"):
- frappe.throw(_("Selected Item cannot have Variants."))
-
- if frappe.db.get_value("Item", self.item_code, "variant_of"):
- frappe.throw(_("Item cannot be a variant of a variant"))
-
- def validate_attribute_values(self):
- attributes = {}
- for t in frappe.db.get_all("Item Attribute Value", fields=["parent", "attribute_value"]):
- attributes.setdefault(t.parent, []).append(t.attribute_value)
-
- for d in self.attributes:
- if d.attribute_value not in attributes.get(d.attribute):
- frappe.throw(_("Attribute value {0} does not exist in Item Attribute Master.").format(d.attribute_value))
-
- def validate_attributes_are_unique(self):
- attributes = []
- for d in self.attributes:
- key = (d.attribute, d.attribute_value)
- if key in attributes:
- frappe.throw(_("{0} {1} is entered more than once in Attributes table")
- .format(d.attribute, d.attribute_value), DuplicateAttribute)
- attributes.append(key)
-
- def get_variant_item_codes(self):
- """Get all possible suffixes for variants"""
- variant_dict = {}
- self.set('variants', [])
-
- for d in self.attributes:
- variant_dict.setdefault(d.attribute, []).append(d.attribute_value)
-
- all_attributes = [d.name for d in frappe.get_all("Item Attribute", order_by = "priority asc")]
-
- # sort attributes by their priority
- attributes = filter(None, map(lambda d: d if d in variant_dict else None, all_attributes))
-
- def add_attribute_suffixes(item_code, my_attributes, attributes):
- attr = frappe.get_doc("Item Attribute", attributes[0])
- for value in attr.item_attribute_values:
- if value.attribute_value in variant_dict[attr.name]:
- _my_attributes = copy.deepcopy(my_attributes)
- _my_attributes.append([attr.name, value.attribute_value])
- if len(attributes) > 1:
- add_attribute_suffixes(item_code + "-" + value.abbr, _my_attributes, attributes[1:])
- else:
- variant_attributes = ""
- for d in _my_attributes:
- variant_attributes += d[1] + " | "
- self.append('variants', {"variant": item_code + "-" + value.abbr,
- "attributes": json.dumps(_my_attributes), "variant_attributes": variant_attributes[: -3]})
- add_attribute_suffixes(self.item_code, [], attributes)
-
- def sync_variants(self):
- variant_item_codes = []
- item_variants_attributes = {}
- inserted, updated, old_variant_name, new_variant_name, deleted = [], [], [], [], []
-
- for v in self.variants:
- variant_item_codes.append(v.variant)
-
- existing_variants = [d.name for d in frappe.get_all("Item",
- filters={"variant_of":self.item_code})]
-
- for d in existing_variants:
- attributes = []
- for attribute in frappe.db.sql("""select attribute, attribute_value from `tabVariant Attribute` where parent = %s""", d):
- attributes.append([attribute[0], attribute[1]])
- item_variants_attributes.setdefault(d, []).append(attributes)
-
- for existing_variant in existing_variants:
- if existing_variant not in variant_item_codes:
- att = item_variants_attributes[existing_variant][0]
- for variant in self.variants:
- if sorted(json.loads(variant.attributes) ,key=lambda x: x[0]) == \
- sorted(att ,key=lambda x: x[0]):
- rename_variant(existing_variant, variant.variant)
- old_variant_name.append(existing_variant)
- new_variant_name.append(variant.variant)
-
- if existing_variant not in old_variant_name:
- delete_variant(existing_variant)
- deleted.append(existing_variant)
-
- for item_code in variant_item_codes:
- if item_code not in existing_variants:
- if item_code not in new_variant_name:
- make_variant(self.item_code, item_code, self.variants)
- inserted.append(item_code)
- else:
- update_variant(self.item_code, item_code, self.variants)
- updated.append(item_code)
-
- if inserted:
- frappe.msgprint(_("Item Variants {0} created").format(", ".join(inserted)))
-
- if updated:
- frappe.msgprint(_("Item Variants {0} updated").format(", ".join(updated)))
-
- if old_variant_name:
- frappe.msgprint(_("Item Variants {0} renamed").format(", ".join(old_variant_name)))
-
- if deleted:
- frappe.msgprint(_("Item Variants {0} deleted").format(", ".join(deleted)))
-
-def make_variant(item, variant_code, variant_attribute):
- variant = frappe.new_doc("Item")
- variant.item_code = variant_code
- copy_attributes_to_variant(item, variant, variant_attribute, insert=True)
- variant.insert()
-
-def update_variant(item, variant_code, variant_attribute=None):
- variant = frappe.get_doc("Item", variant_code)
- copy_attributes_to_variant(item, variant, variant_attribute, insert=True)
- variant.save()
-
-def rename_variant(old_variant_code, new_variant_code):
- frappe.rename_doc("Item", old_variant_code, new_variant_code)
-
-def delete_variant(variant_code):
- frappe.delete_doc("Item", variant_code)
-
-def copy_attributes_to_variant(item, variant, variant_attribute=None, insert=False):
- template = frappe.get_doc("Item", item)
- from frappe.model import no_value_fields
- for field in template.meta.fields:
- if field.fieldtype not in no_value_fields and (insert or not field.no_copy)\
- and field.fieldname not in ("item_code", "item_name"):
- if variant.get(field.fieldname) != template.get(field.fieldname):
- variant.set(field.fieldname, template.get(field.fieldname))
- variant.item_name = template.item_name + variant.item_code[len(template.name):]
- variant.variant_of = template.name
- variant.has_variants = 0
- variant.show_in_website = 0
- if variant_attribute:
- for d in variant_attribute:
- if d.variant == variant.item_code:
- variant.attributes= []
- for a in json.loads(d.attributes):
- variant.append('attributes', {"attribute": a[0], "attribute_value": a[1]})
- if variant.attributes:
- variant.description += "\n"
- for d in variant.attributes:
- variant.description += "<p>" + d.attribute + ": " + d.attribute_value + "</p>"
\ No newline at end of file
diff --git a/erpnext/stock/doctype/manage_variants/test_manage_variants.py b/erpnext/stock/doctype/manage_variants/test_manage_variants.py
deleted file mode 100644
index 6aa7f83..0000000
--- a/erpnext/stock/doctype/manage_variants/test_manage_variants.py
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
-# License: GNU General Public License v3. See license.txt
-
-from __future__ import unicode_literals
-import unittest
-import frappe
-
-from erpnext.stock.doctype.manage_variants.manage_variants import DuplicateAttribute
-
-class TestManageVariants(unittest.TestCase):
- def test_variant_item_codes(self):
- manage_variant = frappe.new_doc("Manage Variants")
- manage_variant.update({
- "item_code": "_Test Variant Item",
- "attributes": [
- {
- "attribute": "Test Size",
- "attribute_value": "Small"
- },
- {
- "attribute": "Test Size",
- "attribute_value": "Large"
- }
- ]
- })
- manage_variant.generate_combinations()
- self.assertEqual(manage_variant.variants[0].variant, "_Test Variant Item-S")
- self.assertEqual(manage_variant.variants[1].variant, "_Test Variant Item-L")
-
- self.assertEqual(manage_variant.variants[0].variant_attributes, "Small")
- self.assertEqual(manage_variant.variants[1].variant_attributes, "Large")
- manage_variant.create_variants()
-
- def test_attributes_are_unique(self):
- manage_variant = frappe.new_doc("Manage Variants")
- manage_variant.update({
- "item_code": "_Test Variant Item",
- "attributes": [
- {
- "attribute": "Test Size",
- "attribute_value": "Small"
- },
- {
- "attribute": "Test Size",
- "attribute_value": "Small"
- }
- ]
- })
- self.assertRaises(DuplicateAttribute, manage_variant.generate_combinations)
diff --git a/erpnext/stock/doctype/manage_variants_item/__init__.py b/erpnext/stock/doctype/manage_variants_item/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/erpnext/stock/doctype/manage_variants_item/__init__.py
+++ /dev/null
diff --git a/erpnext/stock/doctype/manage_variants_item/manage_variants_item.json b/erpnext/stock/doctype/manage_variants_item/manage_variants_item.json
deleted file mode 100644
index a8bb61d..0000000
--- a/erpnext/stock/doctype/manage_variants_item/manage_variants_item.json
+++ /dev/null
@@ -1,76 +0,0 @@
-{
- "allow_copy": 0,
- "allow_import": 1,
- "allow_rename": 0,
- "autoname": "",
- "creation": "2015-05-19 05:55:31.155672",
- "custom": 0,
- "docstatus": 0,
- "doctype": "DocType",
- "document_type": "Other",
- "fields": [
- {
- "allow_on_submit": 0,
- "fieldname": "variant",
- "fieldtype": "Data",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 1,
- "label": "Variant",
- "no_copy": 0,
- "options": "",
- "permlevel": 0,
- "precision": "",
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 1,
- "search_index": 0,
- "set_only_once": 0
- },
- {
- "fieldname": "column_break_2",
- "fieldtype": "Column Break",
- "permlevel": 0,
- "precision": ""
- },
- {
- "fieldname": "variant_attributes",
- "fieldtype": "Data",
- "in_list_view": 1,
- "label": "Variant Attributes",
- "permlevel": 0,
- "precision": "",
- "read_only": 1
- },
- {
- "fieldname": "attributes",
- "fieldtype": "Text",
- "hidden": 1,
- "label": "attributes",
- "permlevel": 0,
- "precision": "",
- "read_only": 1
- }
- ],
- "hide_heading": 0,
- "hide_toolbar": 0,
- "icon": "",
- "in_create": 0,
- "in_dialog": 0,
- "is_submittable": 0,
- "issingle": 0,
- "istable": 1,
- "modified": "2015-06-30 03:19:07.548196",
- "modified_by": "Administrator",
- "module": "Stock",
- "name": "Manage Variants Item",
- "name_case": "",
- "owner": "Administrator",
- "permissions": [],
- "read_only": 0,
- "read_only_onload": 0,
- "sort_field": "modified",
- "sort_order": "DESC"
-}
\ No newline at end of file
diff --git a/erpnext/stock/doctype/manage_variants_item/manage_variants_item.py b/erpnext/stock/doctype/manage_variants_item/manage_variants_item.py
deleted file mode 100644
index 800888a..0000000
--- a/erpnext/stock/doctype/manage_variants_item/manage_variants_item.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# -*- coding: utf-8 -*-
-# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors and contributors
-# For license information, please see license.txt
-
-from __future__ import unicode_literals
-import frappe
-from frappe.model.document import Document
-
-class ManageVariantsItem(Document):
- pass
diff --git a/erpnext/stock/doctype/stock_entry/stock_entry.json b/erpnext/stock/doctype/stock_entry/stock_entry.json
index 165c474..bf3c976 100644
--- a/erpnext/stock/doctype/stock_entry/stock_entry.json
+++ b/erpnext/stock/doctype/stock_entry/stock_entry.json
@@ -1178,7 +1178,7 @@
"issingle": 0,
"istable": 0,
"max_attachments": 0,
- "modified": "2015-08-07 12:28:35.832492",
+ "modified": "2015-08-12 08:51:07.002600",
"modified_by": "Administrator",
"module": "Stock",
"name": "Stock Entry",
diff --git a/erpnext/stock/doctype/stock_entry/test_stock_entry.py b/erpnext/stock/doctype/stock_entry/test_stock_entry.py
index f00a235..174bc1a 100644
--- a/erpnext/stock/doctype/stock_entry/test_stock_entry.py
+++ b/erpnext/stock/doctype/stock_entry/test_stock_entry.py
@@ -64,24 +64,13 @@
self.assertEqual([[1, 20],[1, 30]], eval(sle.stock_queue))
frappe.db.set_default("allow_negative_stock", 0)
-
+
def test_auto_material_request(self):
+ from erpnext.stock.doctype.item.test_item import make_item_variant
+ make_item_variant()
self._test_auto_material_request("_Test Item")
-
- def test_auto_material_request_for_variant(self):
- manage_variant = frappe.new_doc("Manage Variants")
- manage_variant.update({
- "item_code": "_Test Variant Item",
- "attributes": [
- {
- "attribute": "Test Size",
- "attribute_value": "Small"
- }
- ]
- })
- manage_variant.generate_combinations()
- manage_variant.create_variants()
+ def test_auto_material_request_for_variant(self):
self._test_auto_material_request("_Test Variant Item-S")
def _test_auto_material_request(self, item_code):
diff --git a/erpnext/stock/doctype/stock_entry_detail/stock_entry_detail.json b/erpnext/stock/doctype/stock_entry_detail/stock_entry_detail.json
index fe8a1b1..62c2a78 100644
--- a/erpnext/stock/doctype/stock_entry_detail/stock_entry_detail.json
+++ b/erpnext/stock/doctype/stock_entry_detail/stock_entry_detail.json
@@ -828,7 +828,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 1,
- "modified": "2015-08-07 13:21:23.840052",
+ "modified": "2015-08-12 08:51:15.789056",
"modified_by": "Administrator",
"module": "Stock",
"name": "Stock Entry Detail",
diff --git a/erpnext/stock/doctype/stock_settings/stock_settings.json b/erpnext/stock/doctype/stock_settings/stock_settings.json
index a6dc6d4..cd6043d 100644
--- a/erpnext/stock/doctype/stock_settings/stock_settings.json
+++ b/erpnext/stock/doctype/stock_settings/stock_settings.json
@@ -311,7 +311,7 @@
"is_submittable": 0,
"issingle": 1,
"istable": 0,
- "modified": "2015-08-03 13:00:36.082986",
+ "modified": "2015-08-12 08:51:24.798096",
"modified_by": "Administrator",
"module": "Stock",
"name": "Stock Settings",
diff --git a/erpnext/stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.json b/erpnext/stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.json
index 3747f5c..365abaa 100644
--- a/erpnext/stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.json
+++ b/erpnext/stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.json
@@ -1,78 +1,168 @@
{
+ "allow_copy": 0,
+ "allow_import": 0,
+ "allow_rename": 0,
"creation": "2013-01-10 16:34:30",
+ "custom": 0,
"docstatus": 0,
"doctype": "DocType",
"fields": [
{
+ "allow_on_submit": 0,
"fieldname": "item_code",
"fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Item",
+ "no_copy": 0,
"options": "Item",
- "permlevel": 0
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "current_stock_uom",
"fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Current Stock UOM",
+ "no_copy": 0,
"options": "UOM",
"permlevel": 0,
- "read_only": 1
+ "print_hide": 0,
+ "read_only": 1,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "new_stock_uom",
"fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "New Stock UOM",
+ "no_copy": 0,
"options": "UOM",
- "permlevel": 0
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "conversion_factor",
"fieldtype": "Float",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Conversion Factor",
- "permlevel": 0
+ "no_copy": 0,
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
},
{
+ "allow_on_submit": 0,
"fieldname": "update",
"fieldtype": "Button",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "in_filter": 0,
+ "in_list_view": 0,
"label": "Update",
+ "no_copy": 0,
"options": "update_stock_uom",
- "permlevel": 0
+ "permlevel": 0,
+ "print_hide": 0,
+ "read_only": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "unique": 0
}
],
+ "hide_heading": 0,
+ "hide_toolbar": 0,
"icon": "icon-magic",
"idx": 1,
"in_create": 0,
+ "in_dialog": 0,
+ "is_submittable": 0,
"issingle": 1,
- "modified": "2015-07-13 05:28:25.689187",
+ "istable": 0,
+ "modified": "2015-08-12 08:52:09.322664",
"modified_by": "Administrator",
"module": "Stock",
"name": "Stock UOM Replace Utility",
"owner": "Administrator",
"permissions": [
{
+ "amend": 0,
+ "apply_user_permissions": 0,
+ "cancel": 0,
"create": 1,
+ "delete": 0,
"email": 1,
+ "export": 0,
+ "if_owner": 0,
+ "import": 0,
"permlevel": 0,
"print": 1,
"read": 1,
"report": 0,
"role": "Item Manager",
+ "set_user_permissions": 0,
"share": 1,
"submit": 0,
"write": 1
},
{
+ "amend": 0,
+ "apply_user_permissions": 0,
+ "cancel": 0,
"create": 1,
+ "delete": 0,
"email": 1,
+ "export": 0,
+ "if_owner": 0,
+ "import": 0,
"permlevel": 0,
"print": 1,
"read": 1,
"report": 0,
"role": "Stock Manager",
+ "set_user_permissions": 0,
"share": 1,
"submit": 0,
"write": 1
}
],
- "read_only": 0
+ "read_only": 0,
+ "read_only_onload": 0
}
\ No newline at end of file
diff --git a/erpnext/stock/doctype/variant_attribute/variant_attribute.json b/erpnext/stock/doctype/variant_attribute/variant_attribute.json
deleted file mode 100644
index 5ab3d73..0000000
--- a/erpnext/stock/doctype/variant_attribute/variant_attribute.json
+++ /dev/null
@@ -1,78 +0,0 @@
-{
- "allow_copy": 0,
- "allow_import": 1,
- "allow_rename": 0,
- "autoname": "",
- "creation": "2015-05-19 05:12:30.344797",
- "custom": 0,
- "docstatus": 0,
- "doctype": "DocType",
- "document_type": "Other",
- "fields": [
- {
- "allow_on_submit": 0,
- "fieldname": "attribute",
- "fieldtype": "Link",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 1,
- "label": "Attribute",
- "no_copy": 0,
- "options": "Item Attribute",
- "permlevel": 0,
- "precision": "",
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 1,
- "search_index": 0,
- "set_only_once": 0
- },
- {
- "fieldname": "column_break_2",
- "fieldtype": "Column Break",
- "permlevel": 0,
- "precision": ""
- },
- {
- "allow_on_submit": 0,
- "fieldname": "attribute_value",
- "fieldtype": "Data",
- "hidden": 0,
- "ignore_user_permissions": 0,
- "in_filter": 0,
- "in_list_view": 1,
- "label": "Attribute Value",
- "no_copy": 0,
- "options": "",
- "permlevel": 0,
- "precision": "",
- "print_hide": 0,
- "read_only": 0,
- "report_hide": 0,
- "reqd": 1,
- "search_index": 0,
- "set_only_once": 0
- }
- ],
- "hide_heading": 0,
- "hide_toolbar": 0,
- "icon": "",
- "in_create": 0,
- "in_dialog": 0,
- "is_submittable": 0,
- "issingle": 0,
- "istable": 1,
- "modified": "2015-05-20 06:16:16.803578",
- "modified_by": "Administrator",
- "module": "Stock",
- "name": "Variant Attribute",
- "name_case": "",
- "owner": "Administrator",
- "permissions": [],
- "read_only": 0,
- "read_only_onload": 0,
- "sort_field": "modified",
- "sort_order": "DESC"
-}
\ No newline at end of file