Merge branch 'master' into edge
Conflicts: accounts/doctype/sales_invoice/sales_invoice.txt stock/doctype/item/item.txt
This commit is contained in:
		
						commit
						dc0f2d2422
					
				| @ -1,9 +1,9 @@ | ||||
| // render
 | ||||
| wn.listview_settings['Purchase Invoice'] = { | ||||
| 	add_fields: ["`tabPurchase Invoice`.grand_total", "`tabPurchase Invoice`.outstanding_amount"], | ||||
| 	add_columns: [{"content":"outstanding_amount", width:"10%", type:"bar-graph", label: "Paid"}], | ||||
| 	add_columns: [{"content":"paid_amount", width:"10%", type:"bar-graph", label: "Paid"}], | ||||
| 	prepare_data: function(data) { | ||||
| 		data.outstanding_amount = ((flt(data.grand_total) -  | ||||
| 			flt(data.outstanding_amount)) / flt(data.grand_total)) * 100; | ||||
| 		data.paid_amount = flt(data.grand_total) ? (((flt(data.grand_total) -  | ||||
| 			flt(data.outstanding_amount)) / flt(data.grand_total)) * 100) : 0; | ||||
| 	} | ||||
| }; | ||||
|  | ||||
| @ -159,7 +159,6 @@ cur_frm.cscript.update_stock = function(doc, dt, dn) { | ||||
| 	cur_frm.cscript.hide_fields(doc, dt, dn); | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| cur_frm.cscript.warehouse = function(doc, cdt , cdn) { | ||||
| 	var d = locals[cdt][cdn]; | ||||
| 	if (!d.item_code) { msgprint("please enter item code first"); return }; | ||||
|  | ||||
| @ -1,8 +1,8 @@ | ||||
| [ | ||||
|  { | ||||
|   "creation": "2013-04-09 10:18:11",  | ||||
|   "creation": "2013-04-19 11:00:14",  | ||||
|   "docstatus": 0,  | ||||
|   "modified": "2013-03-22 18:38:13",  | ||||
|   "modified": "2013-04-22 11:59:28",  | ||||
|   "modified_by": "Administrator",  | ||||
|   "owner": "Administrator" | ||||
|  },  | ||||
| @ -42,7 +42,8 @@ | ||||
|   "fieldtype": "Section Break",  | ||||
|   "label": "Basic Info",  | ||||
|   "oldfieldtype": "Section Break",  | ||||
|   "print_hide": 1 | ||||
|   "print_hide": 1,  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "doctype": "DocField",  | ||||
| @ -50,6 +51,7 @@ | ||||
|   "fieldtype": "Column Break",  | ||||
|   "oldfieldtype": "Column Break",  | ||||
|   "print_hide": 0,  | ||||
|   "read_only": 0,  | ||||
|   "width": "50%" | ||||
|  },  | ||||
|  { | ||||
| @ -63,6 +65,7 @@ | ||||
|   "oldfieldtype": "Select",  | ||||
|   "options": "INV\nINV/10-11/",  | ||||
|   "print_hide": 1,  | ||||
|   "read_only": 0,  | ||||
|   "reqd": 1 | ||||
|  },  | ||||
|  { | ||||
| @ -72,7 +75,8 @@ | ||||
|   "label": "Is POS",  | ||||
|   "oldfieldname": "is_pos",  | ||||
|   "oldfieldtype": "Check",  | ||||
|   "print_hide": 1 | ||||
|   "print_hide": 1,  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "depends_on": "eval:doc.is_pos==1",  | ||||
| @ -82,7 +86,8 @@ | ||||
|   "label": "Update Stock",  | ||||
|   "oldfieldname": "update_stock",  | ||||
|   "oldfieldtype": "Check",  | ||||
|   "print_hide": 1 | ||||
|   "print_hide": 1,  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "description": "The account to which you will pay (have paid) the money to.",  | ||||
| @ -95,6 +100,7 @@ | ||||
|   "oldfieldtype": "Link",  | ||||
|   "options": "Account",  | ||||
|   "print_hide": 1,  | ||||
|   "read_only": 0,  | ||||
|   "reqd": 1,  | ||||
|   "search_index": 1 | ||||
|  },  | ||||
| @ -108,7 +114,8 @@ | ||||
|   "oldfieldname": "customer",  | ||||
|   "oldfieldtype": "Link",  | ||||
|   "options": "Customer",  | ||||
|   "print_hide": 1 | ||||
|   "print_hide": 1,  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "doctype": "DocField",  | ||||
| @ -158,7 +165,8 @@ | ||||
|   "doctype": "DocField",  | ||||
|   "fieldname": "column_break1",  | ||||
|   "fieldtype": "Column Break",  | ||||
|   "oldfieldtype": "Column Break" | ||||
|   "oldfieldtype": "Column Break",  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "default": "Today",  | ||||
| @ -172,6 +180,7 @@ | ||||
|   "oldfieldname": "posting_date",  | ||||
|   "oldfieldtype": "Date",  | ||||
|   "print_hide": 0,  | ||||
|   "read_only": 0,  | ||||
|   "reqd": 1,  | ||||
|   "search_index": 1 | ||||
|  },  | ||||
| @ -186,6 +195,7 @@ | ||||
|   "no_copy": 1,  | ||||
|   "oldfieldname": "due_date",  | ||||
|   "oldfieldtype": "Date",  | ||||
|   "read_only": 0,  | ||||
|   "reqd": 1,  | ||||
|   "search_index": 0 | ||||
|  },  | ||||
| @ -196,14 +206,16 @@ | ||||
|   "label": "Mode of Payment",  | ||||
|   "oldfieldname": "mode_of_payment",  | ||||
|   "oldfieldtype": "Select",  | ||||
|   "options": "link:Mode of Payment" | ||||
|   "options": "link:Mode of Payment",  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "doctype": "DocField",  | ||||
|   "fieldname": "items",  | ||||
|   "fieldtype": "Section Break",  | ||||
|   "label": "Items",  | ||||
|   "oldfieldtype": "Section Break" | ||||
|   "oldfieldtype": "Section Break",  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "allow_on_submit": 1,  | ||||
| @ -213,25 +225,29 @@ | ||||
|   "label": "Entries",  | ||||
|   "oldfieldname": "entries",  | ||||
|   "oldfieldtype": "Table",  | ||||
|   "options": "Sales Invoice Item" | ||||
|   "options": "Sales Invoice Item",  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "doctype": "DocField",  | ||||
|   "fieldname": "sales_bom_help",  | ||||
|   "fieldtype": "HTML",  | ||||
|   "label": "Sales BOM Help",  | ||||
|   "print_hide": 1 | ||||
|   "print_hide": 1,  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "doctype": "DocField",  | ||||
|   "fieldname": "section_break0",  | ||||
|   "fieldtype": "Section Break",  | ||||
|   "options": "Simple" | ||||
|   "options": "Simple",  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "doctype": "DocField",  | ||||
|   "fieldname": "col_break26",  | ||||
|   "fieldtype": "Column Break",  | ||||
|   "read_only": 0,  | ||||
|   "width": "50%" | ||||
|  },  | ||||
|  { | ||||
| @ -253,12 +269,14 @@ | ||||
|   "fieldtype": "Button",  | ||||
|   "label": "Re-Calculate Values",  | ||||
|   "oldfieldtype": "Button",  | ||||
|   "print_hide": 1 | ||||
|   "print_hide": 1,  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "doctype": "DocField",  | ||||
|   "fieldname": "col_break25",  | ||||
|   "fieldtype": "Column Break",  | ||||
|   "read_only": 0,  | ||||
|   "width": "50%" | ||||
|  },  | ||||
|  { | ||||
| @ -270,7 +288,8 @@ | ||||
|   "oldfieldname": "sales_order_main",  | ||||
|   "oldfieldtype": "Link",  | ||||
|   "options": "Sales Order",  | ||||
|   "print_hide": 1 | ||||
|   "print_hide": 1,  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "description": "Select Items from Delivery Note",  | ||||
| @ -281,7 +300,8 @@ | ||||
|   "oldfieldname": "delivery_note_main",  | ||||
|   "oldfieldtype": "Link",  | ||||
|   "options": "Delivery Note",  | ||||
|   "print_hide": 1 | ||||
|   "print_hide": 1,  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "doctype": "DocField",  | ||||
| @ -289,18 +309,21 @@ | ||||
|   "fieldtype": "Button",  | ||||
|   "label": "Get Items",  | ||||
|   "oldfieldtype": "Button",  | ||||
|   "print_hide": 1 | ||||
|   "print_hide": 1,  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "doctype": "DocField",  | ||||
|   "fieldname": "currency_section",  | ||||
|   "fieldtype": "Section Break",  | ||||
|   "label": "Price List and Currency" | ||||
|   "label": "Price List and Currency",  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "doctype": "DocField",  | ||||
|   "fieldname": "col_break27",  | ||||
|   "fieldtype": "Column Break",  | ||||
|   "read_only": 0,  | ||||
|   "width": "50%" | ||||
|  },  | ||||
|  { | ||||
| @ -312,6 +335,7 @@ | ||||
|   "oldfieldtype": "Select",  | ||||
|   "options": "link:Price List",  | ||||
|   "print_hide": 1,  | ||||
|   "read_only": 0,  | ||||
|   "reqd": 1 | ||||
|  },  | ||||
|  { | ||||
| @ -322,6 +346,7 @@ | ||||
|   "label": "Price List Currency",  | ||||
|   "options": "Currency",  | ||||
|   "print_hide": 1,  | ||||
|   "read_only": 0,  | ||||
|   "reqd": 1 | ||||
|  },  | ||||
|  { | ||||
| @ -331,12 +356,14 @@ | ||||
|   "fieldtype": "Float",  | ||||
|   "label": "Price List Currency Conversion Rate",  | ||||
|   "print_hide": 1,  | ||||
|   "read_only": 0,  | ||||
|   "reqd": 1 | ||||
|  },  | ||||
|  { | ||||
|   "doctype": "DocField",  | ||||
|   "fieldname": "column_break2",  | ||||
|   "fieldtype": "Column Break",  | ||||
|   "read_only": 0,  | ||||
|   "width": "50%" | ||||
|  },  | ||||
|  { | ||||
| @ -348,6 +375,7 @@ | ||||
|   "oldfieldtype": "Select",  | ||||
|   "options": "Currency",  | ||||
|   "print_hide": 1,  | ||||
|   "read_only": 0,  | ||||
|   "reqd": 1 | ||||
|  },  | ||||
|  { | ||||
| @ -360,6 +388,7 @@ | ||||
|   "oldfieldname": "conversion_rate",  | ||||
|   "oldfieldtype": "Currency",  | ||||
|   "print_hide": 1,  | ||||
|   "read_only": 0,  | ||||
|   "reqd": 1 | ||||
|  },  | ||||
|  { | ||||
| @ -367,7 +396,8 @@ | ||||
|   "fieldname": "taxes",  | ||||
|   "fieldtype": "Section Break",  | ||||
|   "label": "Taxes and Charges",  | ||||
|   "oldfieldtype": "Section Break" | ||||
|   "oldfieldtype": "Section Break",  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "doctype": "DocField",  | ||||
| @ -377,7 +407,8 @@ | ||||
|   "oldfieldname": "charge",  | ||||
|   "oldfieldtype": "Link",  | ||||
|   "options": "Sales Taxes and Charges Master",  | ||||
|   "print_hide": 1 | ||||
|   "print_hide": 1,  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "doctype": "DocField",  | ||||
| @ -385,7 +416,8 @@ | ||||
|   "fieldtype": "Button",  | ||||
|   "label": "Get Taxes and Charges",  | ||||
|   "oldfieldtype": "Button",  | ||||
|   "print_hide": 1 | ||||
|   "print_hide": 1,  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "allow_on_submit": 1,  | ||||
| @ -395,7 +427,8 @@ | ||||
|   "label": "Taxes and Charges1",  | ||||
|   "oldfieldname": "other_charges",  | ||||
|   "oldfieldtype": "Table",  | ||||
|   "options": "Sales Taxes and Charges" | ||||
|   "options": "Sales Taxes and Charges",  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "doctype": "DocField",  | ||||
| @ -403,7 +436,8 @@ | ||||
|   "fieldtype": "Button",  | ||||
|   "label": "Calculate Taxes and Charges",  | ||||
|   "oldfieldtype": "Button",  | ||||
|   "print_hide": 1 | ||||
|   "print_hide": 1,  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "doctype": "DocField",  | ||||
| @ -422,7 +456,8 @@ | ||||
|   "fieldtype": "HTML",  | ||||
|   "label": "Taxes and Charges Calculation",  | ||||
|   "oldfieldtype": "HTML",  | ||||
|   "print_hide": 1 | ||||
|   "print_hide": 1,  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "doctype": "DocField",  | ||||
| @ -430,7 +465,8 @@ | ||||
|   "fieldtype": "Section Break",  | ||||
|   "label": "Totals",  | ||||
|   "oldfieldtype": "Section Break",  | ||||
|   "print_hide": 1 | ||||
|   "print_hide": 1,  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "doctype": "DocField",  | ||||
| @ -438,6 +474,7 @@ | ||||
|   "fieldtype": "Column Break",  | ||||
|   "oldfieldtype": "Column Break",  | ||||
|   "print_hide": 1,  | ||||
|   "read_only": 0,  | ||||
|   "width": "50%" | ||||
|  },  | ||||
|  { | ||||
| @ -506,6 +543,7 @@ | ||||
|   "fieldtype": "Column Break",  | ||||
|   "oldfieldtype": "Column Break",  | ||||
|   "print_hide": 1,  | ||||
|   "read_only": 0,  | ||||
|   "width": "50%" | ||||
|  },  | ||||
|  { | ||||
| @ -567,12 +605,14 @@ | ||||
|   "doctype": "DocField",  | ||||
|   "fieldname": "payments_section",  | ||||
|   "fieldtype": "Section Break",  | ||||
|   "label": "Payments" | ||||
|   "label": "Payments",  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "doctype": "DocField",  | ||||
|   "fieldname": "column_break3",  | ||||
|   "fieldtype": "Column Break",  | ||||
|   "read_only": 0,  | ||||
|   "width": "50%" | ||||
|  },  | ||||
|  { | ||||
| @ -583,7 +623,8 @@ | ||||
|   "oldfieldname": "paid_amount",  | ||||
|   "oldfieldtype": "Currency",  | ||||
|   "options": "Company:company:default_currency",  | ||||
|   "print_hide": 1 | ||||
|   "print_hide": 1,  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "doctype": "DocField",  | ||||
| @ -593,12 +634,14 @@ | ||||
|   "oldfieldname": "cash_bank_account",  | ||||
|   "oldfieldtype": "Link",  | ||||
|   "options": "Account",  | ||||
|   "print_hide": 1 | ||||
|   "print_hide": 1,  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "doctype": "DocField",  | ||||
|   "fieldname": "column_break4",  | ||||
|   "fieldtype": "Column Break",  | ||||
|   "read_only": 0,  | ||||
|   "width": "50%" | ||||
|  },  | ||||
|  { | ||||
| @ -606,7 +649,8 @@ | ||||
|   "fieldname": "write_off_outstanding_amount_automatically",  | ||||
|   "fieldtype": "Check",  | ||||
|   "label": "Write Off Outstanding Amount",  | ||||
|   "print_hide": 1 | ||||
|   "print_hide": 1,  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "doctype": "DocField",  | ||||
| @ -614,7 +658,8 @@ | ||||
|   "fieldtype": "Currency",  | ||||
|   "label": "Write Off Amount",  | ||||
|   "options": "Company:company:default_currency",  | ||||
|   "print_hide": 1 | ||||
|   "print_hide": 1,  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "doctype": "DocField",  | ||||
| @ -622,7 +667,8 @@ | ||||
|   "fieldtype": "Link",  | ||||
|   "label": "Write Off Account",  | ||||
|   "options": "Account",  | ||||
|   "print_hide": 1 | ||||
|   "print_hide": 1,  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "doctype": "DocField",  | ||||
| @ -630,14 +676,16 @@ | ||||
|   "fieldtype": "Link",  | ||||
|   "label": "Write Off Cost Center",  | ||||
|   "options": "Cost Center",  | ||||
|   "print_hide": 1 | ||||
|   "print_hide": 1,  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "doctype": "DocField",  | ||||
|   "fieldname": "terms_section_break",  | ||||
|   "fieldtype": "Section Break",  | ||||
|   "label": "Terms and Conditions",  | ||||
|   "oldfieldtype": "Section Break" | ||||
|   "oldfieldtype": "Section Break",  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "doctype": "DocField",  | ||||
| @ -647,7 +695,8 @@ | ||||
|   "oldfieldname": "tc_name",  | ||||
|   "oldfieldtype": "Link",  | ||||
|   "options": "Terms and Conditions",  | ||||
|   "print_hide": 1 | ||||
|   "print_hide": 1,  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "doctype": "DocField",  | ||||
| @ -656,7 +705,8 @@ | ||||
|   "label": "Get Terms and Conditions",  | ||||
|   "oldfieldtype": "Button",  | ||||
|   "options": "get_tc_details",  | ||||
|   "print_hide": 1 | ||||
|   "print_hide": 1,  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "doctype": "DocField",  | ||||
| @ -665,7 +715,8 @@ | ||||
|   "label": "Terms and Conditions HTML",  | ||||
|   "oldfieldtype": "HTML",  | ||||
|   "options": "You can add Terms and Notes that will be printed in the Transaction",  | ||||
|   "print_hide": 1 | ||||
|   "print_hide": 1,  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "doctype": "DocField",  | ||||
| @ -673,18 +724,21 @@ | ||||
|   "fieldtype": "Text Editor",  | ||||
|   "label": "Terms and Conditions Details",  | ||||
|   "oldfieldname": "terms",  | ||||
|   "oldfieldtype": "Text Editor" | ||||
|   "oldfieldtype": "Text Editor",  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "doctype": "DocField",  | ||||
|   "fieldname": "contact_section",  | ||||
|   "fieldtype": "Section Break",  | ||||
|   "label": "Contact Info" | ||||
|   "label": "Contact Info",  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "doctype": "DocField",  | ||||
|   "fieldname": "col_break23",  | ||||
|   "fieldtype": "Column Break",  | ||||
|   "read_only": 0,  | ||||
|   "width": "50%" | ||||
|  },  | ||||
|  { | ||||
| @ -693,7 +747,8 @@ | ||||
|   "fieldtype": "Link",  | ||||
|   "label": "Customer Address",  | ||||
|   "options": "Address",  | ||||
|   "print_hide": 1 | ||||
|   "print_hide": 1,  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "doctype": "DocField",  | ||||
| @ -701,12 +756,14 @@ | ||||
|   "fieldtype": "Link",  | ||||
|   "label": "Contact Person",  | ||||
|   "options": "Contact",  | ||||
|   "print_hide": 1 | ||||
|   "print_hide": 1,  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "doctype": "DocField",  | ||||
|   "fieldname": "col_break24",  | ||||
|   "fieldtype": "Column Break",  | ||||
|   "read_only": 0,  | ||||
|   "width": "50%" | ||||
|  },  | ||||
|  { | ||||
| @ -717,6 +774,7 @@ | ||||
|   "label": "Territory",  | ||||
|   "options": "Territory",  | ||||
|   "print_hide": 1,  | ||||
|   "read_only": 0,  | ||||
|   "reqd": 1,  | ||||
|   "search_index": 0 | ||||
|  },  | ||||
| @ -728,6 +786,7 @@ | ||||
|   "label": "Customer Group",  | ||||
|   "options": "Customer Group",  | ||||
|   "print_hide": 1,  | ||||
|   "read_only": 0,  | ||||
|   "search_index": 0 | ||||
|  },  | ||||
|  { | ||||
| @ -736,7 +795,8 @@ | ||||
|   "fieldtype": "Section Break",  | ||||
|   "label": "More Info",  | ||||
|   "oldfieldtype": "Section Break",  | ||||
|   "print_hide": 1 | ||||
|   "print_hide": 1,  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "doctype": "DocField",  | ||||
| @ -744,6 +804,7 @@ | ||||
|   "fieldtype": "Column Break",  | ||||
|   "oldfieldtype": "Column Break",  | ||||
|   "print_hide": 1,  | ||||
|   "read_only": 0,  | ||||
|   "width": "50%" | ||||
|  },  | ||||
|  { | ||||
| @ -758,6 +819,7 @@ | ||||
|   "oldfieldtype": "Select",  | ||||
|   "options": "No\nYes",  | ||||
|   "print_hide": 1,  | ||||
|   "read_only": 0,  | ||||
|   "search_index": 0 | ||||
|  },  | ||||
|  { | ||||
| @ -768,7 +830,8 @@ | ||||
|   "label": "Aging Date",  | ||||
|   "oldfieldname": "aging_date",  | ||||
|   "oldfieldtype": "Date",  | ||||
|   "print_hide": 1 | ||||
|   "print_hide": 1,  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "doctype": "DocField",  | ||||
| @ -778,7 +841,8 @@ | ||||
|   "no_copy": 1,  | ||||
|   "oldfieldname": "posting_time",  | ||||
|   "oldfieldtype": "Time",  | ||||
|   "print_hide": 1 | ||||
|   "print_hide": 1,  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "allow_on_submit": 1,  | ||||
| @ -789,7 +853,8 @@ | ||||
|   "oldfieldname": "letter_head",  | ||||
|   "oldfieldtype": "Select",  | ||||
|   "options": "link:Letter Head",  | ||||
|   "print_hide": 1 | ||||
|   "print_hide": 1,  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "doctype": "DocField",  | ||||
| @ -799,6 +864,7 @@ | ||||
|   "no_copy": 1,  | ||||
|   "options": "No\nYes",  | ||||
|   "print_hide": 1,  | ||||
|   "read_only": 0,  | ||||
|   "report_hide": 0 | ||||
|  },  | ||||
|  { | ||||
| @ -820,7 +886,8 @@ | ||||
|   "oldfieldname": "campaign",  | ||||
|   "oldfieldtype": "Link",  | ||||
|   "options": "Campaign",  | ||||
|   "print_hide": 1 | ||||
|   "print_hide": 1,  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "description": "Track this Sales Invoice against any Project",  | ||||
| @ -832,6 +899,7 @@ | ||||
|   "oldfieldname": "project_name",  | ||||
|   "oldfieldtype": "Link",  | ||||
|   "options": "Project",  | ||||
|   "read_only": 0,  | ||||
|   "search_index": 1 | ||||
|  },  | ||||
|  { | ||||
| @ -845,6 +913,7 @@ | ||||
|   "oldfieldtype": "Link",  | ||||
|   "options": "Print Heading",  | ||||
|   "print_hide": 1,  | ||||
|   "read_only": 0,  | ||||
|   "report_hide": 1 | ||||
|  },  | ||||
|  { | ||||
| @ -852,7 +921,8 @@ | ||||
|   "fieldname": "column_break8",  | ||||
|   "fieldtype": "Column Break",  | ||||
|   "oldfieldtype": "Column Break",  | ||||
|   "print_hide": 1 | ||||
|   "print_hide": 1,  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "doctype": "DocField",  | ||||
| @ -862,7 +932,8 @@ | ||||
|   "oldfieldname": "source",  | ||||
|   "oldfieldtype": "Select",  | ||||
|   "options": "\nExisting Customer\nReference\nAdvertisement\nCold Calling\nExhibition\nSupplier Reference\nMass Mailing\nCustomer's Vendor\nCampaign",  | ||||
|   "print_hide": 1 | ||||
|   "print_hide": 1,  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "doctype": "DocField",  | ||||
| @ -874,6 +945,7 @@ | ||||
|   "oldfieldtype": "Link",  | ||||
|   "options": "Company",  | ||||
|   "print_hide": 1,  | ||||
|   "read_only": 0,  | ||||
|   "reqd": 1,  | ||||
|   "search_index": 0 | ||||
|  },  | ||||
| @ -888,6 +960,7 @@ | ||||
|   "oldfieldtype": "Select",  | ||||
|   "options": "link:Fiscal Year",  | ||||
|   "print_hide": 1,  | ||||
|   "read_only": 0,  | ||||
|   "reqd": 1,  | ||||
|   "search_index": 0 | ||||
|  },  | ||||
| @ -912,7 +985,8 @@ | ||||
|   "no_copy": 1,  | ||||
|   "oldfieldname": "amendment_date",  | ||||
|   "oldfieldtype": "Date",  | ||||
|   "print_hide": 1 | ||||
|   "print_hide": 1,  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "depends_on": "eval:!doc.__islocal",  | ||||
| @ -934,6 +1008,7 @@ | ||||
|   "oldfieldname": "remarks",  | ||||
|   "oldfieldtype": "Text",  | ||||
|   "print_hide": 1,  | ||||
|   "read_only": 0,  | ||||
|   "reqd": 0 | ||||
|  },  | ||||
|  { | ||||
| @ -942,7 +1017,8 @@ | ||||
|   "fieldtype": "Section Break",  | ||||
|   "label": "Advances",  | ||||
|   "oldfieldtype": "Section Break",  | ||||
|   "print_hide": 1 | ||||
|   "print_hide": 1,  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "doctype": "DocField",  | ||||
| @ -951,7 +1027,8 @@ | ||||
|   "label": "Get Advances Received",  | ||||
|   "oldfieldtype": "Button",  | ||||
|   "options": "get_advances",  | ||||
|   "print_hide": 1 | ||||
|   "print_hide": 1,  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "doctype": "DocField",  | ||||
| @ -961,14 +1038,16 @@ | ||||
|   "oldfieldname": "advance_adjustment_details",  | ||||
|   "oldfieldtype": "Table",  | ||||
|   "options": "Sales Invoice Advance",  | ||||
|   "print_hide": 1 | ||||
|   "print_hide": 1,  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "doctype": "DocField",  | ||||
|   "fieldname": "packing_list",  | ||||
|   "fieldtype": "Section Break",  | ||||
|   "label": "Packing List",  | ||||
|   "print_hide": 1 | ||||
|   "print_hide": 1,  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "doctype": "DocField",  | ||||
| @ -976,7 +1055,8 @@ | ||||
|   "fieldtype": "Table",  | ||||
|   "label": "Packing Details",  | ||||
|   "options": "Delivery Note Packing Item",  | ||||
|   "print_hide": 1 | ||||
|   "print_hide": 1,  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "doctype": "DocField",  | ||||
| @ -984,7 +1064,8 @@ | ||||
|   "fieldtype": "Section Break",  | ||||
|   "label": "Sales Team",  | ||||
|   "oldfieldtype": "Section Break",  | ||||
|   "print_hide": 1 | ||||
|   "print_hide": 1,  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "doctype": "DocField",  | ||||
| @ -992,6 +1073,7 @@ | ||||
|   "fieldtype": "Column Break",  | ||||
|   "oldfieldtype": "Column Break",  | ||||
|   "print_hide": 1,  | ||||
|   "read_only": 0,  | ||||
|   "width": "50%" | ||||
|  },  | ||||
|  { | ||||
| @ -1003,7 +1085,8 @@ | ||||
|   "oldfieldname": "sales_partner",  | ||||
|   "oldfieldtype": "Link",  | ||||
|   "options": "Sales Partner",  | ||||
|   "print_hide": 1 | ||||
|   "print_hide": 1,  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "doctype": "DocField",  | ||||
| @ -1011,6 +1094,7 @@ | ||||
|   "fieldtype": "Column Break",  | ||||
|   "oldfieldtype": "Column Break",  | ||||
|   "print_hide": 1,  | ||||
|   "read_only": 0,  | ||||
|   "width": "50%" | ||||
|  },  | ||||
|  { | ||||
| @ -1020,7 +1104,8 @@ | ||||
|   "label": "Commission Rate (%)",  | ||||
|   "oldfieldname": "commission_rate",  | ||||
|   "oldfieldtype": "Currency",  | ||||
|   "print_hide": 1 | ||||
|   "print_hide": 1,  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "doctype": "DocField",  | ||||
| @ -1030,14 +1115,16 @@ | ||||
|   "oldfieldname": "total_commission",  | ||||
|   "oldfieldtype": "Currency",  | ||||
|   "options": "Company:company:default_currency",  | ||||
|   "print_hide": 1 | ||||
|   "print_hide": 1,  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "doctype": "DocField",  | ||||
|   "fieldname": "section_break2",  | ||||
|   "fieldtype": "Section Break",  | ||||
|   "options": "Simple",  | ||||
|   "print_hide": 1 | ||||
|   "print_hide": 1,  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "doctype": "DocField",  | ||||
| @ -1047,7 +1134,8 @@ | ||||
|   "oldfieldname": "sales_team",  | ||||
|   "oldfieldtype": "Table",  | ||||
|   "options": "Sales Team",  | ||||
|   "print_hide": 1 | ||||
|   "print_hide": 1,  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "depends_on": "eval:doc.docstatus<2",  | ||||
| @ -1055,13 +1143,15 @@ | ||||
|   "fieldname": "recurring_invoice",  | ||||
|   "fieldtype": "Section Break",  | ||||
|   "label": "Recurring Invoice",  | ||||
|   "print_hide": 1 | ||||
|   "print_hide": 1,  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "doctype": "DocField",  | ||||
|   "fieldname": "column_break11",  | ||||
|   "fieldtype": "Column Break",  | ||||
|   "print_hide": 1,  | ||||
|   "read_only": 0,  | ||||
|   "width": "50%" | ||||
|  },  | ||||
|  { | ||||
| @ -1073,7 +1163,8 @@ | ||||
|   "fieldtype": "Check",  | ||||
|   "label": "Convert into Recurring Invoice",  | ||||
|   "no_copy": 1,  | ||||
|   "print_hide": 1 | ||||
|   "print_hide": 1,  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "allow_on_submit": 1,  | ||||
| @ -1085,7 +1176,8 @@ | ||||
|   "label": "Recurring Type",  | ||||
|   "no_copy": 1,  | ||||
|   "options": "Monthly\nQuarterly\nHalf-yearly\nYearly",  | ||||
|   "print_hide": 1 | ||||
|   "print_hide": 1,  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "allow_on_submit": 1,  | ||||
| @ -1096,7 +1188,8 @@ | ||||
|   "fieldtype": "Int",  | ||||
|   "label": "Repeat on Day of Month",  | ||||
|   "no_copy": 1,  | ||||
|   "print_hide": 1 | ||||
|   "print_hide": 1,  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "allow_on_submit": 1,  | ||||
| @ -1107,7 +1200,8 @@ | ||||
|   "fieldtype": "Date",  | ||||
|   "label": "Invoice Period From Date",  | ||||
|   "no_copy": 1,  | ||||
|   "print_hide": 1 | ||||
|   "print_hide": 1,  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "allow_on_submit": 1,  | ||||
| @ -1118,7 +1212,8 @@ | ||||
|   "fieldtype": "Date",  | ||||
|   "label": "Invoice Period To Date",  | ||||
|   "no_copy": 1,  | ||||
|   "print_hide": 1 | ||||
|   "print_hide": 1,  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "doctype": "DocField",  | ||||
| @ -1126,6 +1221,7 @@ | ||||
|   "fieldtype": "Column Break",  | ||||
|   "no_copy": 0,  | ||||
|   "print_hide": 1,  | ||||
|   "read_only": 0,  | ||||
|   "width": "50%" | ||||
|  },  | ||||
|  { | ||||
| @ -1137,7 +1233,8 @@ | ||||
|   "fieldtype": "Small Text",  | ||||
|   "label": "Notification Email Address",  | ||||
|   "no_copy": 1,  | ||||
|   "print_hide": 1 | ||||
|   "print_hide": 1,  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "depends_on": "eval:doc.convert_into_recurring_invoice==1",  | ||||
| @ -1170,7 +1267,8 @@ | ||||
|   "fieldtype": "Date",  | ||||
|   "label": "End Date",  | ||||
|   "no_copy": 1,  | ||||
|   "print_hide": 1 | ||||
|   "print_hide": 1,  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "doctype": "DocField",  | ||||
| @ -1182,20 +1280,9 @@ | ||||
|   "oldfieldname": "against_income_account",  | ||||
|   "oldfieldtype": "Small Text",  | ||||
|   "print_hide": 1,  | ||||
|   "read_only": 0,  | ||||
|   "report_hide": 1 | ||||
|  },  | ||||
|  { | ||||
|   "amend": 0,  | ||||
|   "cancel": 0,  | ||||
|   "create": 0,  | ||||
|   "doctype": "DocPerm",  | ||||
|   "match": "",  | ||||
|   "permlevel": 1,  | ||||
|   "report": 0,  | ||||
|   "role": "Accounts Manager",  | ||||
|   "submit": 0,  | ||||
|   "write": 0 | ||||
|  },  | ||||
|  { | ||||
|   "amend": 1,  | ||||
|   "cancel": 1,  | ||||
| @ -1203,33 +1290,10 @@ | ||||
|   "doctype": "DocPerm",  | ||||
|   "permlevel": 0,  | ||||
|   "report": 1,  | ||||
|   "role": "Accounts Manager",  | ||||
|   "submit": 1,  | ||||
|   "write": 1 | ||||
|  },  | ||||
|  { | ||||
|   "amend": 1,  | ||||
|   "cancel": 0,  | ||||
|   "create": 1,  | ||||
|   "doctype": "DocPerm",  | ||||
|   "permlevel": 0,  | ||||
|   "report": 1,  | ||||
|   "role": "Accounts User",  | ||||
|   "submit": 1,  | ||||
|   "write": 1 | ||||
|  },  | ||||
|  { | ||||
|   "amend": 0,  | ||||
|   "cancel": 0,  | ||||
|   "create": 0,  | ||||
|   "doctype": "DocPerm",  | ||||
|   "match": "",  | ||||
|   "permlevel": 1,  | ||||
|   "report": 0,  | ||||
|   "role": "Accounts User",  | ||||
|   "submit": 0,  | ||||
|   "write": 0 | ||||
|  },  | ||||
|  { | ||||
|   "doctype": "DocPerm",  | ||||
|   "match": "customer",  | ||||
| @ -1237,9 +1301,4 @@ | ||||
|   "report": 1,  | ||||
|   "role": "Customer" | ||||
|  },  | ||||
|  { | ||||
|   "doctype": "DocPerm",  | ||||
|   "permlevel": 0,  | ||||
|   "role": "Retail User" | ||||
|  } | ||||
| ] | ||||
| @ -1,10 +1,10 @@ | ||||
| // render
 | ||||
| wn.listview_settings['Sales Invoice'] = { | ||||
| 	add_fields: ["`tabSales Invoice`.grand_total", "`tabSales Invoice`.outstanding_amount"], | ||||
| 	add_columns: [{"content":"outstanding_amount", width:"10%", type:"bar-graph", | ||||
| 	add_columns: [{"content":"paid_amount", width:"10%", type:"bar-graph", | ||||
| 		label: "Payment Received"}], | ||||
| 	prepare_data: function(data) { | ||||
| 		data.outstanding_amount = (flt(data.grand_total) -  | ||||
| 			flt(data.outstanding_amount)) / flt(data.grand_total) * 100; | ||||
| 		data.paid_amount =  flt(data.grand_total) ? (((flt(data.grand_total) -  | ||||
| 			flt(data.outstanding_amount)) / flt(data.grand_total)) * 100) : 0; | ||||
| 	} | ||||
| }; | ||||
|  | ||||
| @ -139,6 +139,11 @@ wn.module_page["Accounts"] = [ | ||||
| 				"page":"Financial Statements", | ||||
| 				"label": wn._("Financial Statements") | ||||
| 			}, | ||||
| 			{ | ||||
| 				"label":wn._("Accounts Receivable"), | ||||
| 				route: "query-report/Accounts Receivable", | ||||
| 				doctype: "Sales Invoice" | ||||
| 			}, | ||||
| 		] | ||||
| 	}, | ||||
| 	{ | ||||
|  | ||||
							
								
								
									
										0
									
								
								accounts/report/accounts_receivable/__init__.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								accounts/report/accounts_receivable/__init__.py
									
									
									
									
									
										Normal file
									
								
							
							
								
								
									
										42
									
								
								accounts/report/accounts_receivable/accounts_receivable.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										42
									
								
								accounts/report/accounts_receivable/accounts_receivable.js
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,42 @@ | ||||
| wn.query_reports["Accounts Receivable"] = { | ||||
| 	"filters": [ | ||||
| 		{ | ||||
| 			"fieldname":"company", | ||||
| 			"label": "Company", | ||||
| 			"fieldtype": "Link", | ||||
| 			"options": "Company", | ||||
| 			"default": sys_defaults.company | ||||
| 		}, | ||||
| 		{ | ||||
| 			"fieldname":"account", | ||||
| 			"label": "Account", | ||||
| 			"fieldtype": "Link", | ||||
| 			"options": "Account", | ||||
| 			"get_query": function() { | ||||
| 				var company = wn.query_report.filters_by_name.company.get_value(); | ||||
| 				return { | ||||
| 					"query": "accounts.utils.get_account_list",  | ||||
| 					"filters": { | ||||
| 						"is_pl_account": "No", | ||||
| 						"debit_or_credit": "Debit", | ||||
| 						"company": company, | ||||
| 						"master_type": "Customer" | ||||
| 					} | ||||
| 				} | ||||
| 			} | ||||
| 		}, | ||||
| 		{ | ||||
| 			"fieldname":"report_date", | ||||
| 			"label": "Date", | ||||
| 			"fieldtype": "Date", | ||||
| 			"default": get_today() | ||||
| 		}, | ||||
| 		{ | ||||
| 			"fieldname":"ageing_based_on", | ||||
| 			"label": "Ageing Based On", | ||||
| 			"fieldtype": "Select", | ||||
| 			"options": 'Posting Date' + NEWLINE + 'Due Date', | ||||
| 			"default": "Posting Date" | ||||
| 		} | ||||
| 	] | ||||
| } | ||||
							
								
								
									
										141
									
								
								accounts/report/accounts_receivable/accounts_receivable.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										141
									
								
								accounts/report/accounts_receivable/accounts_receivable.py
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,141 @@ | ||||
| from __future__ import unicode_literals | ||||
| import webnotes | ||||
| from webnotes.utils import getdate, nowdate, flt, cstr | ||||
| 
 | ||||
| def execute(filters=None): | ||||
| 	if not filters: filters = {} | ||||
| 	columns = get_columns() | ||||
| 	entries = get_gl_entries(filters) | ||||
| 	 | ||||
| 	entries_after_report_date = [[gle.voucher_type, gle.voucher_no]  | ||||
| 		for gle in get_gl_entries(filters, upto_report_date=False)] | ||||
| 	 | ||||
| 	account_territory_map = get_account_territory_map() | ||||
| 	si_due_date_map = get_si_due_date_map() | ||||
| 		 | ||||
| 	# Age of the invoice on this date | ||||
| 	age_on = getdate(filters.get("report_date")) > getdate(nowdate()) \ | ||||
| 		and nowdate() or filters.get("report_date") | ||||
| 
 | ||||
| 	data = [] | ||||
| 	total_invoiced_amount = total_payment = total_outstanding = 0 | ||||
| 	for gle in entries: | ||||
| 		if cstr(gle.against_voucher) == gle.voucher_no or not gle.against_voucher \ | ||||
| 				or [gle.against_voucher_type, gle.against_voucher] in entries_after_report_date: | ||||
| 			 | ||||
| 			due_date = (gle.voucher_type == "Sales Invoice") \ | ||||
| 				and si_due_date_map.get(gle.voucher_no) or "" | ||||
| 		 | ||||
| 			invoiced_amount = gle.debit > 0 and gle.debit or 0		 | ||||
| 			payment_amount = get_payment_amount(gle, filters.get("report_date") or nowdate(),  | ||||
| 				entries_after_report_date) | ||||
| 			outstanding_amount = invoiced_amount - payment_amount | ||||
| 		 | ||||
| 			if abs(flt(outstanding_amount)) > 0.01: | ||||
| 				row = [gle.posting_date, gle.account, gle.voucher_type, gle.voucher_no,  | ||||
| 					gle.remarks, due_date, account_territory_map.get(gle.account),  | ||||
| 					invoiced_amount, payment_amount, outstanding_amount] | ||||
| 				# Ageing | ||||
| 				if filters.get("ageing_based_on") == "Due Date": | ||||
| 					ageing_based_on_date = due_date | ||||
| 				else: | ||||
| 					ageing_based_on_date = gle.posting_date | ||||
| 				row += get_ageing_data(ageing_based_on_date, age_on, outstanding_amount) | ||||
| 				 | ||||
| 				# Add to total | ||||
| 				total_invoiced_amount += flt(invoiced_amount) | ||||
| 				total_payment += flt(payment_amount) | ||||
| 				total_outstanding += flt(outstanding_amount) | ||||
| 				 | ||||
| 				data.append(row) | ||||
| 	if data: | ||||
| 		data.append(["", "", "", "", "", "", "Total", total_invoiced_amount, total_payment,  | ||||
| 			total_outstanding, "", "", "", ""]) | ||||
| 				 | ||||
| 	return columns, data | ||||
| 	 | ||||
| def get_columns(): | ||||
| 	return [ | ||||
| 		"Posting Date:Date:80", "Account:Link/Account:150", "Voucher Type::110",  | ||||
| 		"Voucher No::120", "Remarks::150", "Due Date:Date:80", "Territory:Link/Territory:80",  | ||||
| 		"Invoiced Amount:Currency:100", "Payment Amount:Currency:100",  | ||||
| 		"Outstanding Amount:Currency:100", "Age:Int:50", "0-30:Currency:100",  | ||||
| 		"30-60:Currency:100", "60-90:Currency:100", "90-Above:Currency:100" | ||||
| 	] | ||||
| 	 | ||||
| def get_gl_entries(filters, upto_report_date=True): | ||||
| 	conditions, customer_accounts = get_conditions(filters, upto_report_date) | ||||
| 	return webnotes.conn.sql("""select * from `tabGL Entry`  | ||||
| 		where ifnull(is_cancelled, 'No') = 'No' %s order by posting_date, account""" %  | ||||
| 		(conditions) % (", ".join(['%s']*len(customer_accounts))),  | ||||
| 		tuple(customer_accounts), as_dict=1) | ||||
| 	 | ||||
| def get_conditions(filters, upto_report_date=True): | ||||
| 	conditions = "" | ||||
| 	if filters.get("company"): | ||||
| 		conditions += " and company='%s'" % filters["company"] | ||||
| 	 | ||||
| 	customer_accounts = [] | ||||
| 	if filters.get("account"): | ||||
| 		customer_accounts = [filters["account"]] | ||||
| 	elif filters.get("company"): | ||||
| 		customer_accounts = webnotes.conn.sql_list("""select name from `tabAccount`  | ||||
| 			where ifnull(master_type, '') = 'Customer' and docstatus < 2 %s""" %  | ||||
| 			conditions, filters) | ||||
| 	 | ||||
| 	if customer_accounts: | ||||
| 		conditions += " and account in (%s)" | ||||
| 		 | ||||
| 	if filters.get("report_date"): | ||||
| 		if upto_report_date: | ||||
| 			conditions += " and posting_date<='%s'" % filters["report_date"] | ||||
| 		else: | ||||
| 			conditions += " and posting_date>'%s'" % filters["report_date"] | ||||
| 		 | ||||
| 	return conditions, customer_accounts | ||||
| 	 | ||||
| def get_account_territory_map(): | ||||
| 	account_territory_map = {} | ||||
| 	for each in webnotes.conn.sql("""select t2.name, t1.territory from `tabCustomer` t1,  | ||||
| 			`tabAccount` t2 where t1.name = t2.master_name group by t2.name"""): | ||||
| 		account_territory_map[each[0]] = each[1] | ||||
| 		 | ||||
| 	return account_territory_map | ||||
| 	 | ||||
| def get_si_due_date_map(): | ||||
| 	""" get due_date from sales invoice """ | ||||
| 	si_due_date_map = {} | ||||
| 	for t in webnotes.conn.sql("""select name, due_date from `tabSales Invoice` group by name"""): | ||||
| 		si_due_date_map[t[0]] = t[1] | ||||
| 		 | ||||
| 	return si_due_date_map | ||||
| 
 | ||||
| def get_payment_amount(gle, report_date, entries_after_report_date): | ||||
| 	payment_amount = 0 | ||||
| 	if flt(gle.credit) > 0 and (not gle.against_voucher or  | ||||
| 		[gle.against_voucher_type, gle.against_voucher] in entries_after_report_date): | ||||
| 			payment_amount = gle.credit | ||||
| 	elif flt(gle.debit) > 0: | ||||
| 		payment_amount = webnotes.conn.sql(""" | ||||
| 			select sum(ifnull(credit, 0)) - sum(ifnull(debit, 0)) from `tabGL Entry`  | ||||
| 			where account = %s and posting_date <= %s and against_voucher_type = %s  | ||||
| 			and against_voucher = %s and name != %s and ifnull(is_cancelled, 'No') = 'No'""",  | ||||
| 			(gle.account, report_date, gle.voucher_type, gle.voucher_no, gle.name))[0][0] | ||||
| 	 | ||||
| 	return flt(payment_amount) | ||||
| 
 | ||||
| def get_ageing_data(ageing_based_on_date, age_on, outstanding_amount): | ||||
| 	val1 = val2 = val3 = val4 = diff = 0 | ||||
| 	diff = age_on and ageing_based_on_date \ | ||||
| 		and (getdate(age_on) - getdate(ageing_based_on_date)).days or 0 | ||||
| 
 | ||||
| 	if diff <= 30: | ||||
| 		val1 = outstanding_amount | ||||
| 	elif 30 < diff <= 60: | ||||
| 		val2 = outstanding_amount | ||||
| 	elif 60 < diff <= 90: | ||||
| 		val3 = outstanding_amount | ||||
| 	elif diff > 90: | ||||
| 		val4 = outstanding_amount | ||||
| 		 | ||||
| 	return [diff, val1, val2, val3, val4] | ||||
							
								
								
									
										21
									
								
								accounts/report/accounts_receivable/accounts_receivable.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								accounts/report/accounts_receivable/accounts_receivable.txt
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,21 @@ | ||||
| [ | ||||
|  { | ||||
|   "creation": "2013-04-16 11:31:13",  | ||||
|   "docstatus": 0,  | ||||
|   "modified": "2013-04-16 11:31:13",  | ||||
|   "modified_by": "Administrator",  | ||||
|   "owner": "Administrator" | ||||
|  },  | ||||
|  { | ||||
|   "doctype": "Report",  | ||||
|   "is_standard": "Yes",  | ||||
|   "name": "__common__",  | ||||
|   "ref_doctype": "Sales Invoice",  | ||||
|   "report_name": "Accounts Receivable",  | ||||
|   "report_type": "Script Report" | ||||
|  },  | ||||
|  { | ||||
|   "doctype": "Report",  | ||||
|   "name": "Accounts Receivable" | ||||
|  } | ||||
| ] | ||||
| @ -13,4 +13,4 @@ WHERE | ||||
| 	 AND `tabGL Entry`.`is_cancelled` = 'No' | ||||
| 	 AND `tabAccount`.`master_type` = 'Customer' | ||||
| 	 AND `tabAccount`.`name` = `tabGL Entry`.`account` | ||||
| ORDER BY `tabGL Entry`.`posting_date` | ||||
| ORDER BY `tabGL Entry`.`posting_date`, `tabGL Entry`.`account` | ||||
|  | ||||
| @ -16,7 +16,6 @@ | ||||
| 
 | ||||
| cur_frm.add_fetch('employee','employee_name','employee_name'); | ||||
| 
 | ||||
| 
 | ||||
| cur_frm.cscript.onload = function(doc, dt, dn) { | ||||
| 	if(!doc.posting_date)  | ||||
| 		set_multiple(dt,dn,{posting_date:get_today()}); | ||||
| @ -127,4 +126,8 @@ cur_frm.cscript.calculate_total_days = function(doc, dt, dn) { | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| cur_frm.fields_dict.employee.get_query = erpnext.utils.employee_query; | ||||
| cur_frm.fields_dict.employee.get_query = function() { | ||||
| 	return { | ||||
| 		query: "hr.doctype.leave_application.leave_application.query_for_permitted_employees" | ||||
| 	}; | ||||
| } | ||||
| @ -330,3 +330,20 @@ def add_holidays(events, start, end, employee, company): | ||||
| 				"title": _("Holiday") + ": " + cstr(holiday.description), | ||||
| 				"name": holiday.name | ||||
| 			}) | ||||
| 
 | ||||
| @webnotes.whitelist() | ||||
| def query_for_permitted_employees(doctype, txt, searchfield, start, page_len, filters): | ||||
| 	txt = "%" + cstr(txt) + "%" | ||||
| 	 | ||||
| 	return webnotes.conn.sql("""select name, employee_name from `tabEmployee` emp | ||||
| 		where status = 'Active' and docstatus < 2 and | ||||
| 		(`%s` like %s or employee_name like %s) and | ||||
| 		(exists(select ela.name from `tabEmployee Leave Approver` ela | ||||
| 				where ela.parent=emp.name and ela.leave_approver=%s) or  | ||||
| 			not exists(select ela.name from `tabEmployee Leave Approver` ela where ela.parent=emp.name) | ||||
| 			or user_id = %s) | ||||
| 		order by | ||||
| 		case when name like %s then 0 else 1 end, | ||||
| 		case when employee_name like %s then 0 else 1 end, | ||||
| 		name limit %s, %s""" % tuple([searchfield] + ["%s"]*8),  | ||||
| 		(txt, txt, webnotes.session.user, webnotes.session.user, txt, txt, start, page_len)) | ||||
|  | ||||
| @ -18,31 +18,25 @@ from __future__ import unicode_literals | ||||
| import webnotes | ||||
| 
 | ||||
| from webnotes.utils import cstr, flt | ||||
| from webnotes.model import db_exists | ||||
| from webnotes.model.doc import addchild, make_autoname | ||||
| from webnotes.model.bean import copy_doclist | ||||
| from webnotes import msgprint | ||||
| from webnotes import msgprint, _ | ||||
| 
 | ||||
| sql = webnotes.conn.sql | ||||
| 	 | ||||
| 
 | ||||
| 
 | ||||
| class DocType: | ||||
| 	#init function | ||||
| 	def __init__(self,doc,doclist=[]): | ||||
| 		self.doc = doc | ||||
| 		self.doclist = doclist | ||||
|   | ||||
| 	#autoname function | ||||
| 	#--------------------------------------------------------- | ||||
| 
 | ||||
| 	def autoname(self): | ||||
| 		self.doc.name = make_autoname(self.doc.employee + '/.SST' + '/.#####') | ||||
| 	 | ||||
| 	#get employee details | ||||
| 	#--------------------------------------------------------- | ||||
| 
 | ||||
| 	def get_employee_details(self): | ||||
| 		ret = {} | ||||
| 		det = sql("select employee_name, branch, designation, department, grade from `tabEmployee` where name = '%s'" %self.doc.employee) | ||||
| 		det = sql("""select employee_name, branch, designation, department, grade  | ||||
| 			from `tabEmployee` where name = %s""", self.doc.employee) | ||||
| 		if det: | ||||
| 			ret = { | ||||
| 				'employee_name': cstr(det[0][0]), | ||||
| @ -53,20 +47,16 @@ class DocType: | ||||
| 				'backup_employee': cstr(self.doc.employee) | ||||
| 			} | ||||
| 		return ret | ||||
| 		 | ||||
| 
 | ||||
| 	# Set Salary structure field values | ||||
| 	#--------------------------------------------------------- | ||||
| 	def get_ss_values(self,employee): | ||||
| 		basic_info = sql("select bank_name, bank_ac_no, esic_card_no, pf_number from `tabEmployee` where name ='%s'" % employee) | ||||
| 		basic_info = sql("""select bank_name, bank_ac_no, esic_card_no, pf_number  | ||||
| 			from `tabEmployee` where name =%s""", employee) | ||||
| 		ret = {'bank_name': basic_info and basic_info[0][0] or '', | ||||
| 			'bank_ac_no': basic_info and basic_info[0][1] or '', | ||||
| 			'esic_no': basic_info and basic_info[0][2] or '', | ||||
| 			'pf_no': basic_info and basic_info[0][3] or ''} | ||||
| 		return ret | ||||
| 	  | ||||
| 	# Make earning and deduction table		 | ||||
| 	#--------------------------------------------------------- | ||||
| 
 | ||||
| 	def make_table(self, doct_name, tab_fname, tab_name): | ||||
| 		list1 = sql("select name from `tab%s` where docstatus != 2" % doct_name) | ||||
| 		for li in list1: | ||||
| @ -77,37 +67,31 @@ class DocType: | ||||
| 			elif(tab_fname == 'deduction_details'): | ||||
| 				child.d_type = cstr(li[0]) | ||||
| 				child.d_modified_amt = 0 | ||||
| 		 | ||||
| 	# add earning & deduction types to table  | ||||
| 	#---------------------------------------------------------	  | ||||
| 			  | ||||
| 	def make_earn_ded_table(self):					  | ||||
| 		#Earning List | ||||
| 		self.make_table('Earning Type','earning_details','Salary Structure Earning') | ||||
| 		 | ||||
| 		#Deduction List | ||||
| 		self.make_table('Deduction Type','deduction_details',  | ||||
| 			'Salary Structure Deduction') | ||||
| 		 | ||||
| 		self.make_table('Deduction Type','deduction_details', 'Salary Structure Deduction') | ||||
| 
 | ||||
| 	# Check if another active ss exists | ||||
| 	#--------------------------------------------------------- | ||||
| 	def check_existing(self): | ||||
| 		ret = sql("select name from `tabSalary Structure` where is_active = 'Yes' and employee = '%s' and name!='%s'" %(self.doc.employee,self.doc.name)) | ||||
| 		ret = sql("""select name from `tabSalary Structure` where is_active = 'Yes'  | ||||
| 			and employee = %s and name!=%s""", (self.doc.employee,self.doc.name)) | ||||
| 		if ret and self.doc.is_active=='Yes': | ||||
| 			msgprint("Another Salary Structure '%s' is active for employee '%s'. Please make its status 'Inactive' to proceed."%(cstr(ret), self.doc.employee)) | ||||
| 			raise Exception | ||||
| 			msgprint(_("""Another Salary Structure '%s' is active for employee '%s'.  | ||||
| 				Please make its status 'Inactive' to proceed.""") %  | ||||
| 				(cstr(ret), self.doc.employee), raise_exception=1) | ||||
| 
 | ||||
| 	# Validate net pay | ||||
| 	#--------------------------------------------------------- | ||||
| 	def validate_net_pay(self): | ||||
| 	def validate_amount(self): | ||||
| 		if flt(self.doc.ctc) < 12*flt(self.doc.total_earning): | ||||
| 			msgprint(_("Annual Cost To Company can not be less than 12 months of Total Earning"),  | ||||
| 				raise_exception=1) | ||||
| 				 | ||||
| 		if flt(self.doc.net_pay) < 0: | ||||
| 			msgprint("Net pay can not be negative") | ||||
| 			raise Exception | ||||
| 		elif flt(self.doc.net_pay) > flt(self.doc.ctc): | ||||
| 			msgprint("Net pay can not be greater than CTC") | ||||
| 			raise Exception			 | ||||
| 			msgprint(_("Net pay can not be negative"), raise_exception=1) | ||||
| 		elif flt(self.doc.net_pay)*12 > flt(self.doc.ctc): | ||||
| 			msgprint(_("Net pay can not be greater than 1/12th of Annual Cost To Company"),  | ||||
| 				raise_exception=1) | ||||
| 		 | ||||
| 
 | ||||
| 	def validate(self):	  | ||||
| 		self.check_existing() | ||||
| 		self.validate_net_pay() | ||||
| 
 | ||||
| 		self.validate_amount() | ||||
| @ -1,8 +1,8 @@ | ||||
| [ | ||||
|  { | ||||
|   "creation": "2013-01-23 19:57:18",  | ||||
|   "creation": "2013-03-07 18:50:29",  | ||||
|   "docstatus": 0,  | ||||
|   "modified": "2013-01-29 17:35:34",  | ||||
|   "modified": "2013-04-22 14:09:04",  | ||||
|   "modified_by": "Administrator",  | ||||
|   "owner": "Administrator" | ||||
|  },  | ||||
| @ -41,6 +41,7 @@ | ||||
|   "doctype": "DocField",  | ||||
|   "fieldname": "column_break0",  | ||||
|   "fieldtype": "Column Break",  | ||||
|   "read_only": 0,  | ||||
|   "width": "50%" | ||||
|  },  | ||||
|  { | ||||
| @ -52,6 +53,7 @@ | ||||
|   "oldfieldname": "employee",  | ||||
|   "oldfieldtype": "Link",  | ||||
|   "options": "Employee",  | ||||
|   "read_only": 0,  | ||||
|   "reqd": 1 | ||||
|  },  | ||||
|  { | ||||
| @ -116,6 +118,7 @@ | ||||
|   "doctype": "DocField",  | ||||
|   "fieldname": "column_break1",  | ||||
|   "fieldtype": "Column Break",  | ||||
|   "read_only": 0,  | ||||
|   "width": "50%" | ||||
|  },  | ||||
|  { | ||||
| @ -129,6 +132,7 @@ | ||||
|   "oldfieldname": "is_active",  | ||||
|   "oldfieldtype": "Select",  | ||||
|   "options": "\nYes\nNo",  | ||||
|   "read_only": 0,  | ||||
|   "reqd": 1 | ||||
|  },  | ||||
|  { | ||||
| @ -139,6 +143,7 @@ | ||||
|   "label": "From Date",  | ||||
|   "oldfieldname": "from_date",  | ||||
|   "oldfieldtype": "Date",  | ||||
|   "read_only": 0,  | ||||
|   "reqd": 1 | ||||
|  },  | ||||
|  { | ||||
| @ -148,7 +153,8 @@ | ||||
|   "in_list_view": 1,  | ||||
|   "label": "To Date",  | ||||
|   "oldfieldname": "to_date",  | ||||
|   "oldfieldtype": "Date" | ||||
|   "oldfieldtype": "Date",  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "description": "Cost to Company",  | ||||
| @ -156,10 +162,11 @@ | ||||
|   "fieldname": "ctc",  | ||||
|   "fieldtype": "Currency",  | ||||
|   "in_filter": 1,  | ||||
|   "label": "CTC",  | ||||
|   "label": "Annual Cost To Company",  | ||||
|   "oldfieldname": "ctc",  | ||||
|   "oldfieldtype": "Currency",  | ||||
|   "options": "Company:company:default_currency",  | ||||
|   "read_only": 0,  | ||||
|   "reqd": 1 | ||||
|  },  | ||||
|  { | ||||
| @ -169,6 +176,7 @@ | ||||
|   "in_filter": 1,  | ||||
|   "label": "Company",  | ||||
|   "options": "link:Company",  | ||||
|   "read_only": 0,  | ||||
|   "reqd": 1 | ||||
|  },  | ||||
|  { | ||||
| @ -178,7 +186,8 @@ | ||||
|   "fieldtype": "Section Break",  | ||||
|   "label": "Earning & Deduction",  | ||||
|   "oldfieldname": "earning_deduction",  | ||||
|   "oldfieldtype": "Section Break" | ||||
|   "oldfieldtype": "Section Break",  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "doctype": "DocField",  | ||||
| @ -188,6 +197,7 @@ | ||||
|   "label": "Earning",  | ||||
|   "oldfieldname": "col_brk2",  | ||||
|   "oldfieldtype": "Column Break",  | ||||
|   "read_only": 0,  | ||||
|   "width": "50%" | ||||
|  },  | ||||
|  { | ||||
| @ -198,7 +208,8 @@ | ||||
|   "label": "Earning1",  | ||||
|   "oldfieldname": "earning_details",  | ||||
|   "oldfieldtype": "Table",  | ||||
|   "options": "Salary Structure Earning" | ||||
|   "options": "Salary Structure Earning",  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "doctype": "DocField",  | ||||
| @ -208,6 +219,7 @@ | ||||
|   "label": "Deduction",  | ||||
|   "oldfieldname": "col_brk3",  | ||||
|   "oldfieldtype": "Column Break",  | ||||
|   "read_only": 0,  | ||||
|   "width": "50%" | ||||
|  },  | ||||
|  { | ||||
| @ -218,18 +230,21 @@ | ||||
|   "label": "Deduction1",  | ||||
|   "oldfieldname": "deduction_details",  | ||||
|   "oldfieldtype": "Table",  | ||||
|   "options": "Salary Structure Deduction" | ||||
|   "options": "Salary Structure Deduction",  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "doctype": "DocField",  | ||||
|   "fieldname": "section_break0",  | ||||
|   "fieldtype": "Section Break",  | ||||
|   "options": "Simple" | ||||
|   "options": "Simple",  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "doctype": "DocField",  | ||||
|   "fieldname": "column_break2",  | ||||
|   "fieldtype": "Column Break",  | ||||
|   "read_only": 0,  | ||||
|   "width": "50%" | ||||
|  },  | ||||
|  { | ||||
| @ -256,6 +271,7 @@ | ||||
|   "doctype": "DocField",  | ||||
|   "fieldname": "column_break3",  | ||||
|   "fieldtype": "Column Break",  | ||||
|   "read_only": 0,  | ||||
|   "width": "50%" | ||||
|  },  | ||||
|  { | ||||
|  | ||||
| @ -11,4 +11,4 @@ def execute(): | ||||
| 	for acc in roots: | ||||
| 		webnotes.conn.sql("""update tabAccount set debit_or_credit = %(debit_or_credit)s,  | ||||
| 			is_pl_account = %(is_pl_account)s, company = %(company)s | ||||
| 			where lft > %(lft)s and rgt < %(rgt)s""", acc, debug=1) | ||||
| 			where lft > %(lft)s and rgt < %(rgt)s""", acc) | ||||
| @ -27,8 +27,8 @@ def take_backups_dropbox(): | ||||
| 		from setup.doctype.backup_manager.backup_dropbox import backup_to_dropbox | ||||
| 		backup_to_dropbox() | ||||
| 		send_email(True, "Dropbox") | ||||
| 	except Exception, e: | ||||
| 		send_email(False, "Dropbox", e) | ||||
| 	except Exception: | ||||
| 		send_email(False, "Dropbox", webnotes.getTraceback()) | ||||
| 
 | ||||
| #backup to gdrive  | ||||
| @webnotes.whitelist() | ||||
| @ -37,8 +37,8 @@ def take_backups_gdrive(): | ||||
| 		from setup.doctype.backup_manager.backup_googledrive import backup_to_gdrive | ||||
| 		backup_to_gdrive() | ||||
| 		send_email(True, "Google Drive") | ||||
| 	except Exception, e: | ||||
| 		send_email(False, "Google Drive", e) | ||||
| 	except Exception: | ||||
| 		send_email(False, "Google Drive", webnotes.getTraceback()) | ||||
| 
 | ||||
| def send_email(success, service_name, error_status=None): | ||||
| 	if success: | ||||
|  | ||||
| @ -1,8 +1,8 @@ | ||||
| [ | ||||
|  { | ||||
|   "creation": "2013-03-28 10:35:28",  | ||||
|   "creation": "2013-03-28 15:56:38",  | ||||
|   "docstatus": 0,  | ||||
|   "modified": "2013-03-20 15:10:12",  | ||||
|   "modified": "2013-04-23 11:39:22",  | ||||
|   "modified_by": "Administrator",  | ||||
|   "owner": "Administrator" | ||||
|  },  | ||||
| @ -34,6 +34,7 @@ | ||||
|   "parent": "Item",  | ||||
|   "parentfield": "permissions",  | ||||
|   "parenttype": "DocType",  | ||||
|   "permlevel": 0,  | ||||
|   "read": 1,  | ||||
|   "submit": 0 | ||||
|  },  | ||||
| @ -47,7 +48,8 @@ | ||||
|   "fieldtype": "Section Break",  | ||||
|   "label": "Item",  | ||||
|   "no_copy": 0,  | ||||
|   "oldfieldtype": "Section Break" | ||||
|   "oldfieldtype": "Section Break",  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "description": "Item will be saved by this name in the data base.",  | ||||
| @ -58,6 +60,7 @@ | ||||
|   "label": "Item Code",  | ||||
|   "oldfieldname": "item_code",  | ||||
|   "oldfieldtype": "Data",  | ||||
|   "read_only": 0,  | ||||
|   "reqd": 1,  | ||||
|   "search_index": 0 | ||||
|  },  | ||||
| @ -70,6 +73,7 @@ | ||||
|   "label": "Item Name",  | ||||
|   "oldfieldname": "item_name",  | ||||
|   "oldfieldtype": "Data",  | ||||
|   "read_only": 0,  | ||||
|   "reqd": 1,  | ||||
|   "search_index": 1 | ||||
|  },  | ||||
| @ -83,6 +87,7 @@ | ||||
|   "oldfieldname": "item_group",  | ||||
|   "oldfieldtype": "Link",  | ||||
|   "options": "Item Group",  | ||||
|   "read_only": 0,  | ||||
|   "reqd": 1 | ||||
|  },  | ||||
|  { | ||||
| @ -94,7 +99,8 @@ | ||||
|   "oldfieldname": "stock_uom",  | ||||
|   "oldfieldtype": "Link",  | ||||
|   "options": "UOM",  | ||||
|   "reqd": 0 | ||||
|   "read_only": 0,  | ||||
|   "reqd": 1 | ||||
|  },  | ||||
|  { | ||||
|   "doctype": "DocField",  | ||||
| @ -106,25 +112,29 @@ | ||||
|   "oldfieldtype": "Link",  | ||||
|   "options": "Brand",  | ||||
|   "print_hide": 1,  | ||||
|   "read_only": 0,  | ||||
|   "reqd": 0 | ||||
|  },  | ||||
|  { | ||||
|   "doctype": "DocField",  | ||||
|   "fieldname": "barcode",  | ||||
|   "fieldtype": "Data",  | ||||
|   "label": "Barcode" | ||||
|   "label": "Barcode",  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "doctype": "DocField",  | ||||
|   "fieldname": "column_break0",  | ||||
|   "fieldtype": "Column Break" | ||||
|   "fieldtype": "Column Break",  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "doctype": "DocField",  | ||||
|   "fieldname": "image",  | ||||
|   "fieldtype": "Select",  | ||||
|   "label": "Image",  | ||||
|   "options": "attach_files:" | ||||
|   "options": "attach_files:",  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "doctype": "DocField",  | ||||
| @ -132,7 +142,8 @@ | ||||
|   "fieldtype": "Image",  | ||||
|   "in_list_view": 1,  | ||||
|   "label": "Image View",  | ||||
|   "options": "image" | ||||
|   "options": "image",  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "doctype": "DocField",  | ||||
| @ -143,6 +154,7 @@ | ||||
|   "label": "Description",  | ||||
|   "oldfieldname": "description",  | ||||
|   "oldfieldtype": "Text",  | ||||
|   "read_only": 0,  | ||||
|   "reqd": 1,  | ||||
|   "search_index": 0 | ||||
|  },  | ||||
| @ -150,21 +162,24 @@ | ||||
|   "doctype": "DocField",  | ||||
|   "fieldname": "description_html",  | ||||
|   "fieldtype": "Small Text",  | ||||
|   "label": "Description HTML" | ||||
|   "label": "Description HTML",  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "description": "Generates HTML to include selected image in the description",  | ||||
|   "doctype": "DocField",  | ||||
|   "fieldname": "add_image",  | ||||
|   "fieldtype": "Button",  | ||||
|   "label": "Generate Description HTML" | ||||
|   "label": "Generate Description HTML",  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "doctype": "DocField",  | ||||
|   "fieldname": "inventory",  | ||||
|   "fieldtype": "Section Break",  | ||||
|   "label": "Inventory",  | ||||
|   "oldfieldtype": "Section Break" | ||||
|   "oldfieldtype": "Section Break",  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "default": "Yes",  | ||||
| @ -176,6 +191,7 @@ | ||||
|   "oldfieldname": "is_stock_item",  | ||||
|   "oldfieldtype": "Select",  | ||||
|   "options": "\nYes\nNo",  | ||||
|   "read_only": 0,  | ||||
|   "reqd": 1 | ||||
|  },  | ||||
|  { | ||||
| @ -187,7 +203,8 @@ | ||||
|   "label": "Default Reserved Warehouse",  | ||||
|   "oldfieldname": "default_warehouse",  | ||||
|   "oldfieldtype": "Link",  | ||||
|   "options": "Warehouse" | ||||
|   "options": "Warehouse",  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "depends_on": "eval:doc.is_stock_item==\"Yes\"",  | ||||
| @ -197,7 +214,8 @@ | ||||
|   "fieldtype": "Float",  | ||||
|   "label": "Allowance Percent",  | ||||
|   "oldfieldname": "tolerance",  | ||||
|   "oldfieldtype": "Currency" | ||||
|   "oldfieldtype": "Currency",  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "depends_on": "eval:doc.is_stock_item==\"Yes\"",  | ||||
| @ -205,7 +223,8 @@ | ||||
|   "fieldname": "valuation_method",  | ||||
|   "fieldtype": "Select",  | ||||
|   "label": "Valuation Method",  | ||||
|   "options": "\nFIFO\nMoving Average" | ||||
|   "options": "\nFIFO\nMoving Average",  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "default": "0.00",  | ||||
| @ -217,7 +236,8 @@ | ||||
|   "hidden": 0,  | ||||
|   "label": "Minimum Order Qty",  | ||||
|   "oldfieldname": "min_order_qty",  | ||||
|   "oldfieldtype": "Currency" | ||||
|   "oldfieldtype": "Currency",  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "depends_on": "eval:doc.is_stock_item==\"Yes\"",  | ||||
| @ -225,6 +245,7 @@ | ||||
|   "fieldname": "column_break1",  | ||||
|   "fieldtype": "Column Break",  | ||||
|   "oldfieldtype": "Column Break",  | ||||
|   "read_only": 0,  | ||||
|   "width": "50%" | ||||
|  },  | ||||
|  { | ||||
| @ -238,6 +259,7 @@ | ||||
|   "oldfieldname": "is_asset_item",  | ||||
|   "oldfieldtype": "Select",  | ||||
|   "options": "\nYes\nNo",  | ||||
|   "read_only": 0,  | ||||
|   "reqd": 1 | ||||
|  },  | ||||
|  { | ||||
| @ -250,6 +272,7 @@ | ||||
|   "oldfieldname": "has_batch_no",  | ||||
|   "oldfieldtype": "Select",  | ||||
|   "options": "\nYes\nNo",  | ||||
|   "read_only": 0,  | ||||
|   "reqd": 1 | ||||
|  },  | ||||
|  { | ||||
| @ -264,6 +287,7 @@ | ||||
|   "oldfieldname": "has_serial_no",  | ||||
|   "oldfieldtype": "Select",  | ||||
|   "options": "\nYes\nNo",  | ||||
|   "read_only": 0,  | ||||
|   "reqd": 1 | ||||
|  },  | ||||
|  { | ||||
| @ -273,7 +297,8 @@ | ||||
|   "fieldtype": "Data",  | ||||
|   "label": "Warranty Period (in days)",  | ||||
|   "oldfieldname": "warranty_period",  | ||||
|   "oldfieldtype": "Data" | ||||
|   "oldfieldtype": "Data",  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "depends_on": "eval:doc.is_stock_item==\"Yes\"",  | ||||
| @ -282,7 +307,8 @@ | ||||
|   "fieldtype": "Date",  | ||||
|   "label": "End of Life",  | ||||
|   "oldfieldname": "end_of_life",  | ||||
|   "oldfieldtype": "Date" | ||||
|   "oldfieldtype": "Date",  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "depends_on": "eval:doc.is_stock_item==\"Yes\"",  | ||||
| @ -290,7 +316,8 @@ | ||||
|   "doctype": "DocField",  | ||||
|   "fieldname": "net_weight",  | ||||
|   "fieldtype": "Float",  | ||||
|   "label": "Net Weight" | ||||
|   "label": "Net Weight",  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "depends_on": "eval:doc.is_stock_item==\"Yes\"",  | ||||
| @ -298,14 +325,16 @@ | ||||
|   "fieldname": "weight_uom",  | ||||
|   "fieldtype": "Link",  | ||||
|   "label": "Weight UOM",  | ||||
|   "options": "UOM" | ||||
|   "options": "UOM",  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "description": "Auto-raise Material Request if quantity goes below re-order level in a warehouse",  | ||||
|   "doctype": "DocField",  | ||||
|   "fieldname": "reorder_section",  | ||||
|   "fieldtype": "Section Break",  | ||||
|   "label": "Re-order" | ||||
|   "label": "Re-order",  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "depends_on": "eval:doc.is_stock_item==\"Yes\"",  | ||||
| @ -314,19 +343,22 @@ | ||||
|   "fieldtype": "Float",  | ||||
|   "label": "Re-Order Level",  | ||||
|   "oldfieldname": "re_order_level",  | ||||
|   "oldfieldtype": "Currency" | ||||
|   "oldfieldtype": "Currency",  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "depends_on": "eval:doc.is_stock_item==\"Yes\"",  | ||||
|   "doctype": "DocField",  | ||||
|   "fieldname": "re_order_qty",  | ||||
|   "fieldtype": "Float",  | ||||
|   "label": "Re-Order Qty" | ||||
|   "label": "Re-Order Qty",  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "doctype": "DocField",  | ||||
|   "fieldname": "column_break_31",  | ||||
|   "fieldtype": "Column Break" | ||||
|   "fieldtype": "Column Break",  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "depends_on": "eval:doc.is_stock_item==\"Yes\"",  | ||||
| @ -334,27 +366,31 @@ | ||||
|   "doctype": "DocField",  | ||||
|   "fieldname": "email_notify",  | ||||
|   "fieldtype": "Check",  | ||||
|   "label": "Notify by Email on Re-order" | ||||
|   "label": "Notify by Email on Re-order",  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "doctype": "DocField",  | ||||
|   "fieldname": "section_break_31",  | ||||
|   "fieldtype": "Section Break",  | ||||
|   "options": "Simple" | ||||
|   "options": "Simple",  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "doctype": "DocField",  | ||||
|   "fieldname": "item_reorder",  | ||||
|   "fieldtype": "Table",  | ||||
|   "label": "Warehouse-wise Item Reorder",  | ||||
|   "options": "Item Reorder" | ||||
|   "options": "Item Reorder",  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "doctype": "DocField",  | ||||
|   "fieldname": "purchase_details",  | ||||
|   "fieldtype": "Section Break",  | ||||
|   "label": "Purchase Details",  | ||||
|   "oldfieldtype": "Section Break" | ||||
|   "oldfieldtype": "Section Break",  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "default": "Yes",  | ||||
| @ -366,6 +402,7 @@ | ||||
|   "oldfieldname": "is_purchase_item",  | ||||
|   "oldfieldtype": "Select",  | ||||
|   "options": "\nYes\nNo",  | ||||
|   "read_only": 0,  | ||||
|   "reqd": 1 | ||||
|  },  | ||||
|  { | ||||
| @ -377,7 +414,8 @@ | ||||
|   "label": "Lead Time Days",  | ||||
|   "no_copy": 1,  | ||||
|   "oldfieldname": "lead_time_days",  | ||||
|   "oldfieldtype": "Int" | ||||
|   "oldfieldtype": "Int",  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "depends_on": "eval:doc.is_purchase_item==\"Yes\"",  | ||||
| @ -388,7 +426,8 @@ | ||||
|   "label": "Default Expense Account",  | ||||
|   "oldfieldname": "purchase_account",  | ||||
|   "oldfieldtype": "Link",  | ||||
|   "options": "Account" | ||||
|   "options": "Account",  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "depends_on": "eval:doc.is_purchase_item==\"Yes\"",  | ||||
| @ -399,7 +438,8 @@ | ||||
|   "label": "Default Cost Center",  | ||||
|   "oldfieldname": "cost_center",  | ||||
|   "oldfieldtype": "Link",  | ||||
|   "options": "Cost Center" | ||||
|   "options": "Cost Center",  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "depends_on": "eval:doc.is_purchase_item==\"Yes\"",  | ||||
| @ -419,7 +459,8 @@ | ||||
|   "fieldtype": "Float",  | ||||
|   "label": "Standard Rate",  | ||||
|   "oldfieldname": "standard_rate",  | ||||
|   "oldfieldtype": "Currency" | ||||
|   "oldfieldtype": "Currency",  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "depends_on": "eval:doc.is_purchase_item==\"Yes\"",  | ||||
| @ -427,6 +468,7 @@ | ||||
|   "fieldname": "column_break2",  | ||||
|   "fieldtype": "Column Break",  | ||||
|   "oldfieldtype": "Column Break",  | ||||
|   "read_only": 0,  | ||||
|   "width": "50%" | ||||
|  },  | ||||
|  { | ||||
| @ -438,21 +480,24 @@ | ||||
|   "no_copy": 1,  | ||||
|   "oldfieldname": "uom_conversion_details",  | ||||
|   "oldfieldtype": "Table",  | ||||
|   "options": "UOM Conversion Detail" | ||||
|   "options": "UOM Conversion Detail",  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "depends_on": "eval:doc.is_purchase_item==\"Yes\"",  | ||||
|   "doctype": "DocField",  | ||||
|   "fieldname": "manufacturer",  | ||||
|   "fieldtype": "Data",  | ||||
|   "label": "Manufacturer" | ||||
|   "label": "Manufacturer",  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "depends_on": "eval:doc.is_purchase_item==\"Yes\"",  | ||||
|   "doctype": "DocField",  | ||||
|   "fieldname": "manufacturer_part_no",  | ||||
|   "fieldtype": "Data",  | ||||
|   "label": "Manufacturer Part Number" | ||||
|   "label": "Manufacturer Part Number",  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "depends_on": "eval:doc.is_purchase_item==\"Yes\"",  | ||||
| @ -460,14 +505,16 @@ | ||||
|   "fieldname": "item_supplier_details",  | ||||
|   "fieldtype": "Table",  | ||||
|   "label": "Item Supplier Details",  | ||||
|   "options": "Item Supplier" | ||||
|   "options": "Item Supplier",  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "doctype": "DocField",  | ||||
|   "fieldname": "sales_details",  | ||||
|   "fieldtype": "Section Break",  | ||||
|   "label": "Sales Details",  | ||||
|   "oldfieldtype": "Section Break" | ||||
|   "oldfieldtype": "Section Break",  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "default": "Yes",  | ||||
| @ -480,6 +527,7 @@ | ||||
|   "oldfieldname": "is_sales_item",  | ||||
|   "oldfieldtype": "Select",  | ||||
|   "options": "\nYes\nNo",  | ||||
|   "read_only": 0,  | ||||
|   "reqd": 1 | ||||
|  },  | ||||
|  { | ||||
| @ -494,6 +542,7 @@ | ||||
|   "oldfieldname": "is_service_item",  | ||||
|   "oldfieldtype": "Select",  | ||||
|   "options": "\nYes\nNo",  | ||||
|   "read_only": 0,  | ||||
|   "reqd": 1 | ||||
|  },  | ||||
|  { | ||||
| @ -507,6 +556,7 @@ | ||||
|   "oldfieldname": "is_sample_item",  | ||||
|   "oldfieldtype": "Select",  | ||||
|   "options": "\nYes\nNo",  | ||||
|   "read_only": 0,  | ||||
|   "reqd": 1 | ||||
|  },  | ||||
|  { | ||||
| @ -516,7 +566,8 @@ | ||||
|   "fieldtype": "Float",  | ||||
|   "label": "Max Discount (%)",  | ||||
|   "oldfieldname": "max_discount",  | ||||
|   "oldfieldtype": "Currency" | ||||
|   "oldfieldtype": "Currency",  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "depends_on": "eval:doc.is_sales_item==\"Yes\"",  | ||||
| @ -524,7 +575,8 @@ | ||||
|   "fieldname": "default_income_account",  | ||||
|   "fieldtype": "Link",  | ||||
|   "label": "Default Income Account",  | ||||
|   "options": "Account" | ||||
|   "options": "Account",  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "depends_on": "eval:doc.is_sales_item==\"Yes\"",  | ||||
| @ -532,7 +584,8 @@ | ||||
|   "fieldname": "default_sales_cost_center",  | ||||
|   "fieldtype": "Link",  | ||||
|   "label": "Cost Center",  | ||||
|   "options": "Cost Center" | ||||
|   "options": "Cost Center",  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "depends_on": "eval:doc.is_sales_item==\"Yes\"",  | ||||
| @ -542,7 +595,8 @@ | ||||
|   "hidden": 1,  | ||||
|   "label": "Sales Rate",  | ||||
|   "oldfieldname": "sales_rate",  | ||||
|   "oldfieldtype": "Currency" | ||||
|   "oldfieldtype": "Currency",  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "depends_on": "eval:doc.is_sales_item==\"Yes\"",  | ||||
| @ -550,6 +604,7 @@ | ||||
|   "fieldname": "column_break3",  | ||||
|   "fieldtype": "Column Break",  | ||||
|   "oldfieldtype": "Column Break",  | ||||
|   "read_only": 0,  | ||||
|   "width": "50%" | ||||
|  },  | ||||
|  { | ||||
| @ -559,14 +614,16 @@ | ||||
|   "fieldname": "item_customer_details",  | ||||
|   "fieldtype": "Table",  | ||||
|   "label": "Customer Codes",  | ||||
|   "options": "Item Customer Detail" | ||||
|   "options": "Item Customer Detail",  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "doctype": "DocField",  | ||||
|   "fieldname": "item_tax_section_break",  | ||||
|   "fieldtype": "Section Break",  | ||||
|   "label": "Item Tax",  | ||||
|   "oldfieldtype": "Section Break" | ||||
|   "oldfieldtype": "Section Break",  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "doctype": "DocField",  | ||||
| @ -575,13 +632,15 @@ | ||||
|   "label": "Item Tax1",  | ||||
|   "oldfieldname": "item_tax",  | ||||
|   "oldfieldtype": "Table",  | ||||
|   "options": "Item Tax" | ||||
|   "options": "Item Tax",  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "doctype": "DocField",  | ||||
|   "fieldname": "price_list_section",  | ||||
|   "fieldtype": "Section Break",  | ||||
|   "label": "Price Lists and Rates" | ||||
|   "label": "Price Lists and Rates",  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "description": "Create a price list from Price List master and enter standard ref rates against each of them. On selection of a price list in Quotation, Sales Order or Delivery Note, corresponding ref rate will be fetched for this item.",  | ||||
| @ -591,14 +650,16 @@ | ||||
|   "label": "Item Prices",  | ||||
|   "oldfieldname": "ref_rate_details",  | ||||
|   "oldfieldtype": "Table",  | ||||
|   "options": "Item Price" | ||||
|   "options": "Item Price",  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "doctype": "DocField",  | ||||
|   "fieldname": "inspection_criteria",  | ||||
|   "fieldtype": "Section Break",  | ||||
|   "label": "Inspection Criteria",  | ||||
|   "oldfieldtype": "Section Break" | ||||
|   "oldfieldtype": "Section Break",  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "default": "No",  | ||||
| @ -610,6 +671,7 @@ | ||||
|   "oldfieldname": "inspection_required",  | ||||
|   "oldfieldtype": "Select",  | ||||
|   "options": "\nYes\nNo",  | ||||
|   "read_only": 0,  | ||||
|   "reqd": 1 | ||||
|  },  | ||||
|  { | ||||
| @ -621,14 +683,16 @@ | ||||
|   "label": "Item Quality Inspection Parameter",  | ||||
|   "oldfieldname": "item_specification_details",  | ||||
|   "oldfieldtype": "Table",  | ||||
|   "options": "Item Quality Inspection Parameter" | ||||
|   "options": "Item Quality Inspection Parameter",  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "doctype": "DocField",  | ||||
|   "fieldname": "manufacturing",  | ||||
|   "fieldtype": "Section Break",  | ||||
|   "label": "Manufacturing",  | ||||
|   "oldfieldtype": "Section Break" | ||||
|   "oldfieldtype": "Section Break",  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "default": "No",  | ||||
| @ -640,6 +704,7 @@ | ||||
|   "oldfieldname": "is_manufactured_item",  | ||||
|   "oldfieldtype": "Select",  | ||||
|   "options": "\nYes\nNo",  | ||||
|   "read_only": 0,  | ||||
|   "reqd": 1 | ||||
|  },  | ||||
|  { | ||||
| @ -665,6 +730,7 @@ | ||||
|   "oldfieldname": "is_pro_applicable",  | ||||
|   "oldfieldtype": "Select",  | ||||
|   "options": "\nYes\nNo",  | ||||
|   "read_only": 0,  | ||||
|   "reqd": 1 | ||||
|  },  | ||||
|  { | ||||
| @ -677,6 +743,7 @@ | ||||
|   "oldfieldname": "is_sub_contracted_item",  | ||||
|   "oldfieldtype": "Select",  | ||||
|   "options": "\nYes\nNo",  | ||||
|   "read_only": 0,  | ||||
|   "reqd": 1 | ||||
|  },  | ||||
|  { | ||||
| @ -687,19 +754,22 @@ | ||||
|   "in_filter": 1,  | ||||
|   "label": "Customer Code",  | ||||
|   "no_copy": 1,  | ||||
|   "print_hide": 1 | ||||
|   "print_hide": 1,  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "doctype": "DocField",  | ||||
|   "fieldname": "website_section",  | ||||
|   "fieldtype": "Section Break",  | ||||
|   "label": "Website" | ||||
|   "label": "Website",  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "doctype": "DocField",  | ||||
|   "fieldname": "show_in_website",  | ||||
|   "fieldtype": "Check",  | ||||
|   "label": "Show in Website" | ||||
|   "label": "Show in Website",  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "depends_on": "show_in_website",  | ||||
| @ -717,6 +787,7 @@ | ||||
|   "fieldname": "weightage",  | ||||
|   "fieldtype": "Int",  | ||||
|   "label": "Weightage",  | ||||
|   "read_only": 0,  | ||||
|   "search_index": 1 | ||||
|  },  | ||||
|  { | ||||
| @ -726,7 +797,8 @@ | ||||
|   "fieldname": "slideshow",  | ||||
|   "fieldtype": "Link",  | ||||
|   "label": "Slideshow",  | ||||
|   "options": "Website Slideshow" | ||||
|   "options": "Website Slideshow",  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "depends_on": "show_in_website",  | ||||
| @ -735,12 +807,14 @@ | ||||
|   "fieldname": "website_image",  | ||||
|   "fieldtype": "Select",  | ||||
|   "label": "Image",  | ||||
|   "options": "attach_files:" | ||||
|   "options": "attach_files:",  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "doctype": "DocField",  | ||||
|   "fieldname": "cb72",  | ||||
|   "fieldtype": "Column Break" | ||||
|   "fieldtype": "Column Break",  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "depends_on": "show_in_website",  | ||||
| @ -749,7 +823,8 @@ | ||||
|   "fieldname": "website_price_list",  | ||||
|   "fieldtype": "Link",  | ||||
|   "label": "Website Price List",  | ||||
|   "options": "Price List" | ||||
|   "options": "Price List",  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "depends_on": "show_in_website",  | ||||
| @ -758,7 +833,8 @@ | ||||
|   "fieldname": "website_warehouse",  | ||||
|   "fieldtype": "Link",  | ||||
|   "label": "Website Warehouse",  | ||||
|   "options": "Warehouse" | ||||
|   "options": "Warehouse",  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "depends_on": "show_in_website",  | ||||
| @ -767,19 +843,22 @@ | ||||
|   "fieldname": "website_item_groups",  | ||||
|   "fieldtype": "Table",  | ||||
|   "label": "Website Item Groups",  | ||||
|   "options": "Website Item Group" | ||||
|   "options": "Website Item Group",  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "depends_on": "show_in_website",  | ||||
|   "doctype": "DocField",  | ||||
|   "fieldname": "sb72",  | ||||
|   "fieldtype": "Section Break" | ||||
|   "fieldtype": "Section Break",  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "doctype": "DocField",  | ||||
|   "fieldname": "copy_from_item_group",  | ||||
|   "fieldtype": "Button",  | ||||
|   "label": "Copy From Item Group" | ||||
|   "label": "Copy From Item Group",  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "depends_on": "show_in_website",  | ||||
| @ -787,57 +866,21 @@ | ||||
|   "fieldname": "item_website_specifications",  | ||||
|   "fieldtype": "Table",  | ||||
|   "label": "Item Website Specifications",  | ||||
|   "options": "Item Website Specification" | ||||
|   "options": "Item Website Specification",  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "depends_on": "show_in_website",  | ||||
|   "doctype": "DocField",  | ||||
|   "fieldname": "web_long_description",  | ||||
|   "fieldtype": "Text Editor",  | ||||
|   "label": "Website Description" | ||||
|  },  | ||||
|  { | ||||
|   "cancel": 0,  | ||||
|   "create": 0,  | ||||
|   "doctype": "DocPerm",  | ||||
|   "permlevel": 1,  | ||||
|   "report": 0,  | ||||
|   "role": "Material Manager",  | ||||
|   "write": 0 | ||||
|  },  | ||||
|  { | ||||
|   "cancel": 0,  | ||||
|   "create": 0,  | ||||
|   "doctype": "DocPerm",  | ||||
|   "permlevel": 0,  | ||||
|   "report": 1,  | ||||
|   "role": "Material Manager",  | ||||
|   "write": 0 | ||||
|  },  | ||||
|  { | ||||
|   "cancel": 0,  | ||||
|   "create": 0,  | ||||
|   "doctype": "DocPerm",  | ||||
|   "permlevel": 1,  | ||||
|   "report": 0,  | ||||
|   "role": "Material User",  | ||||
|   "write": 0 | ||||
|  },  | ||||
|  { | ||||
|   "cancel": 0,  | ||||
|   "create": 0,  | ||||
|   "doctype": "DocPerm",  | ||||
|   "permlevel": 0,  | ||||
|   "report": 1,  | ||||
|   "role": "Material User",  | ||||
|   "write": 0 | ||||
|   "label": "Website Description",  | ||||
|   "read_only": 0 | ||||
|  },  | ||||
|  { | ||||
|   "cancel": 1,  | ||||
|   "create": 1,  | ||||
|   "doctype": "DocPerm",  | ||||
|   "permlevel": 0,  | ||||
|   "report": 1,  | ||||
|   "role": "Material Master Manager",  | ||||
|   "write": 1 | ||||
|  },  | ||||
| @ -845,27 +888,14 @@ | ||||
|   "cancel": 0,  | ||||
|   "create": 0,  | ||||
|   "doctype": "DocPerm",  | ||||
|   "permlevel": 1,  | ||||
|   "report": 0,  | ||||
|   "role": "Material Master Manager",  | ||||
|   "role": "Material Manager",  | ||||
|   "write": 0 | ||||
|  },  | ||||
|  { | ||||
|   "cancel": 1,  | ||||
|   "create": 1,  | ||||
|   "doctype": "DocPerm",  | ||||
|   "permlevel": 0,  | ||||
|   "report": 1,  | ||||
|   "role": "System Manager",  | ||||
|   "write": 1 | ||||
|  },  | ||||
|  { | ||||
|   "cancel": 0,  | ||||
|   "create": 0,  | ||||
|   "doctype": "DocPerm",  | ||||
|   "permlevel": 1,  | ||||
|   "report": 0,  | ||||
|   "role": "System Manager",  | ||||
|   "role": "Material User",  | ||||
|   "write": 0 | ||||
|  } | ||||
| ] | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user