Delivery Note changes 1.Net Wt, Gross Wt at packing slip level

This commit is contained in:
Brahma K
2011-08-22 12:23:53 +05:30
parent 06c4de8ae6
commit 28a7b2800f
9 changed files with 489 additions and 273 deletions

View File

@@ -1,17 +1,17 @@
cur_frm.cscript.refresh = function(doc) {
// make sensitive fields(has_serial_no, is_stock_item, valuation_method)
// read only if any stock ledger entry exists
if ((!doc.__islocal) && (doc.is_stock_item == 'Yes')) {
var callback = function(r, rt) {
if (r.message == 'exists') permlevel = 1;
else permlevel = 0;
set_field_permlevel('has_serial_no', permlevel);
set_field_permlevel('is_stock_item', permlevel);
set_field_permlevel('valuation_method', permlevel);
}
$c_obj(make_doclist(doc.doctype, doc.name),'check_if_sle_exists','',callback);
$c_obj(make_doclist(doc.doctype, doc.name),'check_if_sle_exists','',callback);
}
}
@@ -24,25 +24,25 @@ cur_frm.fields_dict['default_bom'].get_query = function(doc) {
// Expense Account
// ---------------------------------
cur_frm.fields_dict['purchase_account'].get_query = function(doc){
cur_frm.fields_dict['purchase_account'].get_query = function(doc){
return 'SELECT DISTINCT `tabAccount`.`name` FROM `tabAccount` WHERE `tabAccount`.`debit_or_credit`="Debit" AND `tabAccount`.`group_or_ledger`="Ledger" AND `tabAccount`.`docstatus`!=2 AND `tabAccount`.`is_pl_account` = "Yes" AND `tabAccount`.%(key)s LIKE "%s" ORDER BY `tabAccount`.`name` LIMIT 50'
}
// Income Account
// Income Account
// --------------------------------
cur_frm.fields_dict['default_income_account'].get_query = function(doc) {
return 'SELECT DISTINCT `tabAccount`.`name` FROM `tabAccount` WHERE `tabAccount`.`debit_or_credit`="Credit" AND `tabAccount`.`group_or_ledger`="Ledger" AND `tabAccount`.`is_pl_account` = "Yes" AND `tabAccount`.`docstatus`!=2 AND `tabAccount`.`account_type` ="Income Account" AND `tabAccount`.%(key)s LIKE "%s" ORDER BY `tabAccount`.`name` LIMIT 50'
}
// Purchase Cost Center
// Purchase Cost Center
// -----------------------------
cur_frm.fields_dict['cost_center'].get_query = function(doc) {
return 'SELECT `tabCost Center`.`name` FROM `tabCost Center` WHERE `tabCost Center`.%(key)s LIKE "%s" AND `tabCost Center`.`group_or_ledger` = "Ledger" AND `tabCost Center`.`docstatus`!= 2 ORDER BY `tabCost Center`.`name` ASC LIMIT 50'
}
// Sales Cost Center
// Sales Cost Center
// -----------------------------
cur_frm.fields_dict['default_sales_cost_center'].get_query = function(doc) {
return 'SELECT `tabCost Center`.`name` FROM `tabCost Center` WHERE `tabCost Center`.%(key)s LIKE "%s" AND `tabCost Center`.`group_or_ledger` = "Ledger" AND `tabCost Center`.`docstatus`!= 2 ORDER BY `tabCost Center`.`name` ASC LIMIT 50'
@@ -66,7 +66,7 @@ cur_frm.fields_dict['item_group'].get_query = function(doc,cdt,cdn) {
cur_frm.cscript.IGHelp = function(doc,dt,dn){
var call_back = function(){
var sb_obj = new SalesBrowser();
var sb_obj = new SalesBrowser();
sb_obj.set_val('Item Group');
}
@@ -79,21 +79,34 @@ cur_frm.cscript.IGHelp = function(doc,dt,dn){
// in the "alternate_description" field
cur_frm.cscript['Add Image'] = function(doc, dt, dn) {
if(!doc.file_list) {
msgprint('Please attach a file first!');
msgprint('Please attach a file first!');
}
var f = doc.file_list.split('\n')[0];
var fname = f.split(',')[0];
var fid = f.split(',')[1];
if(!in_list(['jpg','jpeg','gif','png'], fname.split('.')[1].toLowerCase())) {
msgprint('File must be of extension jpg, jpeg, gif or png'); return;
}
doc.description_html = repl('<table style="width: 100%; table-layout: fixed;">'+
'<tr><td style="width:110px"><img src="%(imgurl)s" width="100px"></td>'+
'<td>%(desc)s</td></tr>'+
'</table>', {imgurl: wn.urllib.get_file_url(fid), desc:doc.description});
refresh_field('description_html');
}
//===================== Quotation to validation - either customer or lead mandatory ====================
cur_frm.cscript.weight_to_validate = function(doc,cdt,cdn){
if((doc.nett_weight || doc.gross_weight) && !doc.weight_uom)
{
alert('Weight is mentioned,\nPlease mention "Weight UOM" too');
validated=0;
}
}
//===================validation function =================================
cur_frm.cscript.validate = function(doc,cdt,cdn){
cur_frm.cscript.weight_to_validate(doc,cdt,cdn);
}

View File

@@ -13,7 +13,7 @@ sql = webnotes.conn.sql
get_value = webnotes.conn.get_value
in_transaction = webnotes.conn.in_transaction
convert_to_lists = webnotes.conn.convert_to_lists
# -----------------------------------------------------------------------------------------
@@ -21,7 +21,7 @@ class DocType:
def __init__(self, doc, doclist=[]):
self.doc = doc
self.doclist = doclist
def get_tax_rate(self, tax_type):
rate = sql("select tax_rate from tabAccount where name = %s", tax_type)
ret = {
@@ -39,14 +39,14 @@ class DocType:
if not self.doc.stock_uom:
msgprint("Please enter Stock UOM first.")
raise Exception
if cstr(d.uom) in check_list:
msgprint("UOM %s has been entered more than once in Conversion Factor Details." % cstr(d.uom))
raise Exception
if not cstr(d.uom) in check_list:
check_list.append(cstr(d.uom))
if cstr(d.uom) == cstr(self.doc.stock_uom):
if flt(d.conversion_factor) != 1:
msgprint("Conversion Fator of UOM : %s should be equal to 1. As UOM : %s is Stock UOM of Item: %s." % ( cstr(d.uom), cstr(d.uom), cstr(self.doc.name)))
@@ -56,14 +56,14 @@ class DocType:
elif cstr(d.uom) != cstr(self.doc.stock_uom) and flt(d.conversion_factor) == 1:
msgprint("Conversion Factor of UOM : %s should not be equal to 1. As UOM : %s is not Stock UOM of Item: %s." % ( cstr(d.uom), cstr(d.uom), cstr(self.doc.name)))
raise Exception
if not cstr(self.doc.stock_uom) in check_list :
child = addchild( self.doc, 'uom_conversion_details', 'UOM Conversion Detail', 1, self.doclist)
child.uom = self.doc.stock_uom
child.conversion_factor = 1
child.save()
# Check whether Ref Rate is not entered twice for same Price List and Currency
def check_ref_rate_detail(self):
check_list=[]
@@ -73,7 +73,13 @@ class DocType:
raise Exception
else:
check_list.append([cstr(d.price_list_name),cstr(d.ref_currency)])
# Append all the customer codes and insert into "customer_code" field of item table
def fill_customer_code(self):
cust_code=[]
for d in getlist(self.doclist,'item_customer_details'):
cust_code.append(d.ref_code)
self.doc.customer_code=','.join(cust_code)
# Check whether Tax Rate is not entered twice for same Tax Type
def check_item_tax(self):
@@ -89,7 +95,7 @@ class DocType:
msgprint("Rate is entered twice for Tax : '%s'." % (d.tax_type))
raise Exception
else:
check_list.append(d.tax_type)
check_list.append(d.tax_type)
def check_for_active_boms(self, check):
if check in ['Is Active', 'Is Purchase Item']:
@@ -102,7 +108,7 @@ class DocType:
if bom and bom[0][0]:
msgprint("%s should be 'Yes'. As Item %s is present in one or many Active BOMs." % (cstr(check), cstr(self.doc.name)))
raise Exception
def validate(self):
fl = {'is_manufactured_item' :'Is Manufactured Item',
'is_sub_contracted_item':'Is Sub Contracted Item',
@@ -112,18 +118,19 @@ class DocType:
if cstr(self.doc.fields[d]) != 'Yes':
self.check_for_active_boms(check = fl[d])
self.check_ref_rate_detail()
self.fill_customer_code()
self.check_item_tax()
if not self.doc.min_order_qty:
self.doc.min_order_qty = 0
self.check_non_asset_warehouse()
if self.doc.is_pro_applicable == 'Yes' and self.doc.is_manufactured_item != 'Yes':
msgprint("If making Production Order is allowed then, it should also allow to make Bill of Materials. Refer Manufacturing section.")
raise Exception
if self.doc.is_pro_applicable == 'Yes' and self.doc.is_stock_item == 'No':
msgprint("As Production Order can be made for this Item, then Is Stock Item Should be 'Yes' as we maintain it's stock. Refer Manufacturing and Inventory section.", raise_exception=1)
if self.doc.is_stock_item == "Yes" and not self.doc.default_warehouse:
msgprint("As we maintain stock of this item, its better to maintain default warehouse. To add default warehouse please go to 'Inventory' section. It will be fetched automatically while making Sales Order, Delivery Note, etc.. ", 1)
@@ -146,7 +153,7 @@ class DocType:
if flt(total_qty) < flt(self.doc.minimum_inventory_level):
msgprint("Your minimum inventory level is reached")
send_to = []
send = sql("select t1.email from `tabProfile` t1,`tabUserRole` t2 where t2.role IN ('Material Master Manager','Purchase Manager') and t2.parent = t1.name")
send = sql("select t1.email from `tabProfile` t1,`tabUserRole` t2 where t2.role IN ('Material Master Manager','Purchase Manager') and t2.parent = t1.name")
for d in send:
send_to.append(d[0])
msg = '''
@@ -167,10 +174,10 @@ Total Available Qty: %s
ret = {
'file_group' : file and file[0]['file_group'] or '',
'description' : file and file[0]['description'] or ''
}
return str(ret)
def check_if_sle_exists(self):
"""
checks if any stock ledger entry exists for this item
@@ -178,7 +185,7 @@ Total Available Qty: %s
sle = sql("select name from `tabStock Ledger Entry` where item_code = %s and ifnull(is_cancelled, 'No') = 'No'", self.doc.name)
return sle and 'exists' or 'not exists'
def on_rename(self,newdn,olddn):
sql("update tabItem set item_code = %s where name = %s", (newdn, olddn))
sql("update tabItem set item_code = %s where name = %s", (newdn, olddn))

View File

@@ -5,14 +5,14 @@
{
'creation': '2010-08-08 17:09:05',
'docstatus': 0,
'modified': '2011-05-30 15:22:32',
'modified': '2011-08-18 13:03:31',
'modified_by': 'Administrator',
'owner': 'Administrator'
},
# These values are common for all DocType
{
'_last_update': '1309508838',
'_last_update': '1313651083',
'allow_attach': 1,
'allow_trash': 1,
'autoname': 'field:item_code',
@@ -22,13 +22,13 @@
'max_attachments': 1,
'module': 'Stock',
'name': '__common__',
'search_fields': 'item_name,description,item_group',
'search_fields': 'item_name,description,item_group,customer_code',
'section_style': 'Tray',
'server_code_error': ' ',
'show_in_menu': 0,
'subject': '%(item_name)s',
'tag_fields': 'item_group',
'version': 153
'version': 161
},
# These values are common for all DocField
@@ -42,14 +42,12 @@
# These values are common for all DocPerm
{
'amend': 0,
'doctype': 'DocPerm',
'name': '__common__',
'parent': 'Item',
'parentfield': 'permissions',
'parenttype': 'DocType',
'read': 1,
'submit': 0
'read': 1
},
# DocType, Item
@@ -60,44 +58,53 @@
# DocPerm
{
'cancel': 0,
'create': 0,
'doctype': 'DocPerm',
'permlevel': 0,
'role': 'Material User',
'write': 0
},
# DocPerm
{
'amend': 0,
'cancel': 0,
'create': 0,
'doctype': 'DocPerm',
'idx': 1,
'permlevel': 1,
'role': 'Material Manager',
'submit': 0,
'write': 0
},
# DocPerm
{
'amend': 0,
'cancel': 0,
'create': 0,
'doctype': 'DocPerm',
'idx': 2,
'permlevel': 0,
'role': 'Material Manager',
'submit': 0,
'write': 0
},
# DocPerm
{
'amend': 0,
'cancel': 0,
'create': 0,
'doctype': 'DocPerm',
'idx': 3,
'permlevel': 1,
'role': 'Material User',
'submit': 0,
'write': 0
},
# DocPerm
{
'amend': 0,
'cancel': 0,
'create': 0,
'doctype': 'DocPerm',
'idx': 4,
'permlevel': 0,
'role': 'Material User',
'submit': 0,
'write': 0
},
@@ -114,7 +121,6 @@
# DocPerm
{
'cancel': 0,
'create': 0,
'doctype': 'DocPerm',
'idx': 6,
@@ -136,13 +142,10 @@
# DocPerm
{
'cancel': 0,
'create': 0,
'doctype': 'DocPerm',
'idx': 8,
'permlevel': 1,
'role': 'System Manager',
'write': 0
'role': 'System Manager'
},
# DocField
@@ -197,7 +200,7 @@
'oldfieldtype': 'Data',
'permlevel': 0,
'reqd': 1,
'search_index': 0
'search_index': 1
},
# DocField
@@ -241,8 +244,7 @@
'options': 'Brand',
'permlevel': 0,
'print_hide': 1,
'reqd': 0,
'search_index': 0
'reqd': 0
},
# DocField
@@ -285,7 +287,7 @@
'description': 'Generates HTML to include image (1st attachment) in the description',
'doctype': 'DocField',
'fieldtype': 'Button',
'idx': 12,
'idx': 11,
'label': 'Add Image',
'permlevel': 0
},
@@ -294,7 +296,7 @@
{
'doctype': 'DocField',
'fieldtype': 'Section Break',
'idx': 13,
'idx': 12,
'label': 'Inventory',
'oldfieldtype': 'Section Break',
'permlevel': 0
@@ -307,14 +309,13 @@
'doctype': 'DocField',
'fieldname': 'stock_uom',
'fieldtype': 'Link',
'idx': 14,
'idx': 13,
'label': 'Default UoM',
'oldfieldname': 'stock_uom',
'oldfieldtype': 'Link',
'options': 'UOM',
'permlevel': 0,
'reqd': 1,
'search_index': 0
'reqd': 1
},
# DocField
@@ -325,7 +326,7 @@
'doctype': 'DocField',
'fieldname': 'is_stock_item',
'fieldtype': 'Select',
'idx': 15,
'idx': 14,
'label': 'Is Stock Item',
'oldfieldname': 'is_stock_item',
'oldfieldtype': 'Select',
@@ -339,7 +340,7 @@
'doctype': 'DocField',
'fieldname': 'valuation_method',
'fieldtype': 'Select',
'idx': 16,
'idx': 15,
'label': 'Valuation Method',
'oldfieldname': 'valuation_method',
'oldfieldtype': 'Select',
@@ -352,13 +353,12 @@
'doctype': 'DocField',
'fieldname': 'default_warehouse',
'fieldtype': 'Link',
'idx': 17,
'idx': 16,
'label': 'Default Warehouse',
'oldfieldname': 'default_warehouse',
'oldfieldtype': 'Link',
'options': 'Warehouse',
'permlevel': 0,
'search_index': 0
'permlevel': 0
},
# DocField
@@ -368,7 +368,7 @@
'doctype': 'DocField',
'fieldname': 'tolerance',
'fieldtype': 'Currency',
'idx': 18,
'idx': 17,
'label': 'Allowance Percent',
'oldfieldname': 'tolerance',
'oldfieldtype': 'Currency',
@@ -380,7 +380,7 @@
'doctype': 'DocField',
'fieldname': 're_order_level',
'fieldtype': 'Currency',
'idx': 19,
'idx': 18,
'label': 'Re-Order Level',
'oldfieldname': 're_order_level',
'oldfieldtype': 'Currency',
@@ -395,7 +395,7 @@
'doctype': 'DocField',
'fieldname': 'minimum_inventory_level',
'fieldtype': 'Currency',
'idx': 20,
'idx': 19,
'label': 'Minimum Inventory Level',
'oldfieldname': 'minimum_inventory_level',
'oldfieldtype': 'Currency',
@@ -412,7 +412,7 @@
'fieldname': 'min_order_qty',
'fieldtype': 'Currency',
'hidden': 0,
'idx': 21,
'idx': 20,
'label': 'Minimum Order Qty',
'oldfieldname': 'min_order_qty',
'oldfieldtype': 'Currency',
@@ -423,7 +423,7 @@
{
'doctype': 'DocField',
'fieldtype': 'Column Break',
'idx': 22,
'idx': 21,
'oldfieldtype': 'Column Break',
'permlevel': 0,
'width': '50%'
@@ -437,7 +437,7 @@
'doctype': 'DocField',
'fieldname': 'is_asset_item',
'fieldtype': 'Select',
'idx': 23,
'idx': 22,
'label': 'Is Asset Item',
'oldfieldname': 'is_asset_item',
'oldfieldtype': 'Select',
@@ -453,7 +453,7 @@
'doctype': 'DocField',
'fieldname': 'has_batch_no',
'fieldtype': 'Select',
'idx': 24,
'idx': 23,
'label': 'Has Batch No',
'oldfieldname': 'has_batch_no',
'oldfieldtype': 'Select',
@@ -470,7 +470,8 @@
'doctype': 'DocField',
'fieldname': 'has_serial_no',
'fieldtype': 'Select',
'idx': 25,
'idx': 24,
'in_filter': 1,
'label': 'Has Serial No',
'oldfieldname': 'has_serial_no',
'oldfieldtype': 'Select',
@@ -484,7 +485,7 @@
'doctype': 'DocField',
'fieldname': 'warranty_period',
'fieldtype': 'Data',
'idx': 26,
'idx': 25,
'label': 'Warranty Period (in days)',
'oldfieldname': 'warranty_period',
'oldfieldtype': 'Data',
@@ -496,19 +497,50 @@
'doctype': 'DocField',
'fieldname': 'end_of_life',
'fieldtype': 'Date',
'idx': 27,
'idx': 26,
'label': 'End of Life',
'oldfieldname': 'end_of_life',
'oldfieldtype': 'Date',
'permlevel': 0
},
# DocField
{
'doctype': 'DocField',
'fieldname': 'nett_weight',
'fieldtype': 'Float',
'idx': 27,
'label': 'Nett Weight',
'permlevel': 0
},
# DocField
{
'doctype': 'DocField',
'fieldname': 'gross_weight',
'fieldtype': 'Float',
'idx': 28,
'label': 'Gross Weight',
'permlevel': 0
},
# DocField
{
'doctype': 'DocField',
'fieldname': 'weight_uom',
'fieldtype': 'Link',
'idx': 29,
'label': 'Weight UOM',
'options': 'UOM',
'permlevel': 0
},
# DocField
{
'colour': 'White:FFF',
'doctype': 'DocField',
'fieldtype': 'Section Break',
'idx': 28,
'idx': 30,
'label': 'Purchase Details',
'oldfieldtype': 'Section Break',
'permlevel': 0
@@ -522,7 +554,7 @@
'doctype': 'DocField',
'fieldname': 'is_purchase_item',
'fieldtype': 'Select',
'idx': 29,
'idx': 31,
'label': 'Is Purchase Item',
'oldfieldname': 'is_purchase_item',
'oldfieldtype': 'Select',
@@ -538,7 +570,7 @@
'doctype': 'DocField',
'fieldname': 'lead_time_days',
'fieldtype': 'Int',
'idx': 30,
'idx': 32,
'label': 'Lead Time Days',
'no_copy': 1,
'oldfieldname': 'lead_time_days',
@@ -553,13 +585,12 @@
'doctype': 'DocField',
'fieldname': 'purchase_account',
'fieldtype': 'Link',
'idx': 31,
'idx': 33,
'label': 'Default Expense Account',
'oldfieldname': 'purchase_account',
'oldfieldtype': 'Link',
'options': 'Account',
'permlevel': 0,
'search_index': 0,
'trigger': 'Client'
},
@@ -570,13 +601,12 @@
'doctype': 'DocField',
'fieldname': 'cost_center',
'fieldtype': 'Link',
'idx': 32,
'idx': 34,
'label': 'Default Cost Center',
'oldfieldname': 'cost_center',
'oldfieldtype': 'Link',
'options': 'Cost Center',
'permlevel': 0,
'search_index': 0
'permlevel': 0
},
# DocField
@@ -586,7 +616,7 @@
'doctype': 'DocField',
'fieldname': 'buying_cost',
'fieldtype': 'Currency',
'idx': 33,
'idx': 35,
'label': 'Buying Cost',
'no_copy': 1,
'oldfieldname': 'buying_cost',
@@ -600,7 +630,7 @@
'doctype': 'DocField',
'fieldname': 'last_purchase_rate',
'fieldtype': 'Currency',
'idx': 34,
'idx': 36,
'label': 'Last Purchase Rate',
'no_copy': 1,
'oldfieldname': 'last_purchase_rate',
@@ -613,7 +643,7 @@
'doctype': 'DocField',
'fieldname': 'standard_rate',
'fieldtype': 'Currency',
'idx': 35,
'idx': 37,
'label': 'Standard Rate',
'oldfieldname': 'standard_rate',
'oldfieldtype': 'Currency',
@@ -624,7 +654,7 @@
{
'doctype': 'DocField',
'fieldtype': 'Column Break',
'idx': 36,
'idx': 38,
'oldfieldtype': 'Column Break',
'permlevel': 0,
'width': '50%'
@@ -635,7 +665,7 @@
'doctype': 'DocField',
'fieldname': 'uom_conversion_details',
'fieldtype': 'Table',
'idx': 37,
'idx': 39,
'label': 'UOM Conversion Details',
'oldfieldname': 'uom_conversion_details',
'oldfieldtype': 'Table',
@@ -647,7 +677,7 @@
{
'doctype': 'DocField',
'fieldtype': 'Section Break',
'idx': 38,
'idx': 40,
'label': 'Sales Details',
'oldfieldtype': 'Section Break',
'permlevel': 0
@@ -661,7 +691,8 @@
'doctype': 'DocField',
'fieldname': 'is_sales_item',
'fieldtype': 'Select',
'idx': 39,
'idx': 41,
'in_filter': 1,
'label': 'Is Sales Item',
'oldfieldname': 'is_sales_item',
'oldfieldtype': 'Select',
@@ -678,7 +709,8 @@
'doctype': 'DocField',
'fieldname': 'is_service_item',
'fieldtype': 'Select',
'idx': 40,
'idx': 42,
'in_filter': 1,
'label': 'Is Service Item',
'oldfieldname': 'is_service_item',
'oldfieldtype': 'Select',
@@ -695,7 +727,7 @@
'doctype': 'DocField',
'fieldname': 'is_sample_item',
'fieldtype': 'Select',
'idx': 41,
'idx': 43,
'label': 'Allow Samples',
'oldfieldname': 'is_sample_item',
'oldfieldtype': 'Select',
@@ -709,7 +741,7 @@
'doctype': 'DocField',
'fieldname': 'max_discount',
'fieldtype': 'Currency',
'idx': 42,
'idx': 44,
'label': 'Max Discount (%)',
'oldfieldname': 'max_discount',
'oldfieldtype': 'Currency',
@@ -721,11 +753,10 @@
'doctype': 'DocField',
'fieldname': 'default_income_account',
'fieldtype': 'Link',
'idx': 43,
'idx': 45,
'label': 'Default Income Account',
'options': 'Account',
'permlevel': 0,
'search_index': 0
'permlevel': 0
},
# DocField
@@ -733,11 +764,10 @@
'doctype': 'DocField',
'fieldname': 'default_sales_cost_center',
'fieldtype': 'Link',
'idx': 44,
'idx': 46,
'label': 'Cost Center',
'options': 'Cost Center',
'permlevel': 0,
'search_index': 0
'permlevel': 0
},
# DocField
@@ -746,7 +776,7 @@
'fieldname': 'sales_rate',
'fieldtype': 'Currency',
'hidden': 1,
'idx': 45,
'idx': 47,
'label': 'Sales Rate',
'oldfieldname': 'sales_rate',
'oldfieldtype': 'Currency',
@@ -757,7 +787,7 @@
{
'doctype': 'DocField',
'fieldtype': 'Column Break',
'idx': 46,
'idx': 48,
'oldfieldtype': 'Column Break',
'permlevel': 0,
'width': '50%'
@@ -770,7 +800,7 @@
'doctype': 'DocField',
'fieldname': 'ref_rate_details',
'fieldtype': 'Table',
'idx': 47,
'idx': 49,
'label': 'Ref Rate Details',
'oldfieldname': 'ref_rate_details',
'oldfieldtype': 'Table',
@@ -778,11 +808,23 @@
'permlevel': 0
},
# DocField
{
'description': 'For the convenience of customers, these codes can be used in print formats like Invoices and Delivery Notes',
'doctype': 'DocField',
'fieldname': 'item_customer_details',
'fieldtype': 'Table',
'idx': 50,
'label': 'Customer Codes',
'options': 'Item Customer Detail',
'permlevel': 0
},
# DocField
{
'doctype': 'DocField',
'fieldtype': 'Section Break',
'idx': 48,
'idx': 51,
'label': 'Item Tax',
'oldfieldtype': 'Section Break',
'permlevel': 0
@@ -793,7 +835,7 @@
'doctype': 'DocField',
'fieldname': 'item_tax',
'fieldtype': 'Table',
'idx': 49,
'idx': 52,
'label': 'Item Tax1',
'oldfieldname': 'item_tax',
'oldfieldtype': 'Table',
@@ -805,7 +847,7 @@
{
'doctype': 'DocField',
'fieldtype': 'Section Break',
'idx': 50,
'idx': 53,
'label': 'Inspection Criteria',
'oldfieldtype': 'Section Break',
'permlevel': 0
@@ -817,7 +859,7 @@
'doctype': 'DocField',
'fieldname': 'inspection_required',
'fieldtype': 'Select',
'idx': 51,
'idx': 54,
'label': 'Inspection Required',
'no_copy': 0,
'oldfieldname': 'inspection_required',
@@ -832,7 +874,7 @@
'doctype': 'DocField',
'fieldname': 'item_specification_details',
'fieldtype': 'Table',
'idx': 52,
'idx': 55,
'label': 'Item Specification Detail',
'oldfieldname': 'item_specification_details',
'oldfieldtype': 'Table',
@@ -844,7 +886,7 @@
{
'doctype': 'DocField',
'fieldtype': 'Section Break',
'idx': 53,
'idx': 56,
'label': 'Manufacturing',
'oldfieldtype': 'Section Break',
'permlevel': 0
@@ -858,7 +900,7 @@
'doctype': 'DocField',
'fieldname': 'is_manufactured_item',
'fieldtype': 'Select',
'idx': 54,
'idx': 57,
'label': 'Allow Bill of Materials',
'oldfieldname': 'is_manufactured_item',
'oldfieldtype': 'Select',
@@ -873,14 +915,13 @@
'doctype': 'DocField',
'fieldname': 'default_bom',
'fieldtype': 'Link',
'idx': 55,
'idx': 58,
'label': 'Default BOM',
'no_copy': 1,
'oldfieldname': 'default_bom',
'oldfieldtype': 'Link',
'options': 'Bill Of Materials',
'permlevel': 1,
'search_index': 0
'permlevel': 1
},
# DocField
@@ -891,7 +932,7 @@
'doctype': 'DocField',
'fieldname': 'is_pro_applicable',
'fieldtype': 'Select',
'idx': 56,
'idx': 59,
'label': 'Allow Production Order',
'oldfieldname': 'is_pro_applicable',
'oldfieldtype': 'Select',
@@ -908,7 +949,7 @@
'doctype': 'DocField',
'fieldname': 'is_sub_contracted_item',
'fieldtype': 'Select',
'idx': 57,
'idx': 60,
'label': 'Is Sub Contracted Item',
'oldfieldname': 'is_sub_contracted_item',
'oldfieldtype': 'Select',
@@ -923,9 +964,23 @@
'fieldname': 'file_list',
'fieldtype': 'Text',
'hidden': 1,
'idx': 59,
'idx': 61,
'label': 'File List',
'permlevel': 0,
'print_hide': 1
},
# DocField
{
'doctype': 'DocField',
'fieldname': 'customer_code',
'fieldtype': 'Data',
'hidden': 1,
'idx': 62,
'in_filter': 1,
'label': 'Customer Code',
'no_copy': 1,
'permlevel': 0,
'print_hide': 1
}
]