Hi guys,
Can anyone bring me some help with this issue when i’m trying to create a new quotation:
Traceback (innermost last):
File "/home/frappe/frappe-bench/apps/frappe/frappe/desk/form/save.py", line 18, in savedocs
doc.save()
File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 237, in save
self.insert()
File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 194, in insert
self.run_before_save_methods()
File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 627, in run_before_save_methods
self.run_method("validate")
File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 588, in run_method
return Document.hook(fn)(self, *args, **kwargs)
File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 752, in composer
return composed(self, method, *args, **kwargs)
File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 735, in runner
add_to_return_value(self, fn(self, *args, **kwargs))
File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 582, in
fn = lambda self, *args, **kwargs: getattr(self, method)(*args, **kwargs)
File "/home/frappe/frappe-bench/apps/erpnext/erpnext/selling/doctype/quotation/quotation.py", line 17, in validate
super(Quotation, self).validate()
File "/home/frappe/frappe-bench/apps/erpnext/erpnext/controllers/selling_controller.py", line 31, in validate
super(SellingController, self).validate()
File "/home/frappe/frappe-bench/apps/erpnext/erpnext/controllers/accounts_controller.py", line 31, in validate
self.set_missing_values(for_validate=True)
File "/home/frappe/frappe-bench/apps/erpnext/erpnext/controllers/selling_controller.py", line 40, in set_missing_values
self.set_price_list_and_item_details()
File "/home/frappe/frappe-bench/apps/erpnext/erpnext/controllers/selling_controller.py", line 61, in set_price_list_and_item_details
self.set_missing_item_details()
File "/home/frappe/frappe-bench/apps/erpnext/erpnext/controllers/accounts_controller.py", line 155, in set_missing_item_details
ret = get_item_details(args)
File "/home/frappe/frappe-bench/apps/erpnext/erpnext/stock/get_item_details.py", line 41, in get_item_details
out = get_basic_details(args, item)
File "/home/frappe/frappe-bench/apps/erpnext/erpnext/stock/get_item_details.py", line 167, in get_basic_details
"cost_center": get_default_cost_center(args, item),
File "/home/frappe/frappe-bench/apps/erpnext/erpnext/stock/get_item_details.py", line 213, in get_default_cost_center
return (frappe.db.get_value("Project", args.get("project"), "cost_center")
File "/home/frappe/frappe-bench/apps/frappe/frappe/database.py", line 398, in get_value
ret = self.get_values(doctype, filters, fieldname, ignore, as_dict, debug, cache=cache)
File "/home/frappe/frappe-bench/apps/frappe/frappe/database.py", line 439, in get_values
out = self._get_values_from_table(fields, filters, doctype, as_dict, debug, order_by, update)
File "/home/frappe/frappe-bench/apps/frappe/frappe/database.py", line 546, in _get_values_from_table
conditions, values = self.build_conditions(filters)
File "/home/frappe/frappe-bench/apps/frappe/frappe/database.py", line 363, in build_conditions
for f in filters:
TypeError: 'int' object is not iterable
Traceback (innermost last):
File "/home/frappe/frappe-bench/apps/frappe/frappe/app.py", line 57, in application
response = frappe.handler.handle()
File "/home/frappe/frappe-bench/apps/frappe/frappe/handler.py", line 19, in handle
execute_cmd(cmd)
File "/home/frappe/frappe-bench/apps/frappe/frappe/handler.py", line 36, in execute_cmd
ret = frappe.call(method, **frappe.form_dict)
File "/home/frappe/frappe-bench/apps/frappe/frappe/__init__.py", line 854, in call
return fn(*args, **newargs)
File "/home/frappe/frappe-bench/apps/frappe/frappe/desk/form/save.py", line 18, in savedocs
doc.save()
File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 237, in save
self.insert()
File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 194, in insert
self.run_before_save_methods()
File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 627, in run_before_save_methods
self.run_method("validate")
File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 588, in run_method
return Document.hook(fn)(self, *args, **kwargs)
File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 752, in composer
return composed(self, method, *args, **kwargs)
File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 735, in runner
add_to_return_value(self, fn(self, *args, **kwargs))
File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 582, in
fn = lambda self, *args, **kwargs: getattr(self, method)(*args, **kwargs)
File "/home/frappe/frappe-bench/apps/erpnext/erpnext/selling/doctype/quotation/quotation.py", line 17, in validate
super(Quotation, self).validate()
File "/home/frappe/frappe-bench/apps/erpnext/erpnext/controllers/selling_controller.py", line 31, in validate
super(SellingController, self).validate()
File "/home/frappe/frappe-bench/apps/erpnext/erpnext/controllers/accounts_controller.py", line 31, in validate
self.set_missing_values(for_validate=True)
File "/home/frappe/frappe-bench/apps/erpnext/erpnext/controllers/selling_controller.py", line 40, in set_missing_values
self.set_price_list_and_item_details()
File "/home/frappe/frappe-bench/apps/erpnext/erpnext/controllers/selling_controller.py", line 61, in set_price_list_and_item_details
self.set_missing_item_details()
File "/home/frappe/frappe-bench/apps/erpnext/erpnext/controllers/accounts_controller.py", line 155, in set_missing_item_details
ret = get_item_details(args)
File "/home/frappe/frappe-bench/apps/erpnext/erpnext/stock/get_item_details.py", line 41, in get_item_details
out = get_basic_details(args, item)
File "/home/frappe/frappe-bench/apps/erpnext/erpnext/stock/get_item_details.py", line 167, in get_basic_details
"cost_center": get_default_cost_center(args, item),
File "/home/frappe/frappe-bench/apps/erpnext/erpnext/stock/get_item_details.py", line 213, in get_default_cost_center
return (frappe.db.get_value("Project", args.get("project"), "cost_center")
File "/home/frappe/frappe-bench/apps/frappe/frappe/database.py", line 398, in get_value
ret = self.get_values(doctype, filters, fieldname, ignore, as_dict, debug, cache=cache)
File "/home/frappe/frappe-bench/apps/frappe/frappe/database.py", line 439, in get_values
out = self._get_values_from_table(fields, filters, doctype, as_dict, debug, order_by, update)
File "/home/frappe/frappe-bench/apps/frappe/frappe/database.py", line 546, in _get_values_from_table
conditions, values = self.build_conditions(filters)
File "/home/frappe/frappe-bench/apps/frappe/frappe/database.py", line 363, in build_conditions
for f in filters:
TypeError: 'int' object is not iterable