Information about bug
I installed erpnext v16.25.0 in Docker. Creating a multi-specification item on the item page works normally, but when creating multiple multi-specification items, an error occurs. Can someone tell me how to solve this problem? Additionally, I suggest adding a multi-select button when selecting attributes for creating multi-specification items.
There is a record in the RQ background job as follows,
Job name: erpnext.controllers.item_variant.create_multiple_variants
Arguments:
{
“event”: null,
“is_async”: true,
“job_name”: “erpnext.controllers.item_variant.create_multiple_variants”,
“kwargs”: {
“args”: “{”\u5927\u5c0f":[“41”,“42”,“43”,“44”,“45”],“\u989c\u8272”:[“BLK”,“COF”]}",
“item”: “101001”,
“use_template_image”: false
},
“method”: “erpnext.controllers.item_variant.create_multiple_variants”,
“site”: “erp.pa13.net”,
“user”: “Administrator”
}
Job status: Failed
Exception:
Traceback (most recent call last):
File “/home/frappe/frappe-bench/env/lib/python3.14/site-packages/rq/worker.py”, line 1439, in perform_job
return_value = job.perform()
File “/home/frappe/frappe-bench/env/lib/python3.14/site-packages/rq/job.py”, line 1318, in perform
self._result = self._execute()
~~~~~~~~~~~~~^^
File “/home/frappe/frappe-bench/env/lib/python3.14/site-packages/rq/job.py”, line 1376, in _execute
result = self.func(*self.args, **self.kwargs)
File “/home/frappe/frappe-bench/apps/frappe/frappe/utils/background_jobs.py”, line 273, in execute_job
retval = method(**kwargs)
File “/home/frappe/frappe-bench/apps/erpnext/erpnext/controllers/item_variant.py”, line 320, in create_multiple_variants
variant.save()
~~~~~~~~~~~~^^
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 537, in save
return self._save(*args, **kwargs)
~~~~~~~~~~^^^^^^^^^^^^^^^^^
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 559, in save
return self.insert()
~~~~~~~~~~~^^
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 461, in insert
self.set_new_name(set_name=set_name, set_child_names=set_child_names)
~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 726, in set_new_name
set_new_name(self)
~~~~~~~~~~~~^^^^^^
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/naming.py”, line 192, in set_new_name
set_name_from_naming_options(autoname, doc)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/naming.py”, line 224, in set_name_from_naming_options
frappe.throw((“{0} is required”).format(doc.meta.get_label(fieldname)))
~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/home/frappe/frappe-bench/apps/frappe/frappe/utils/messages.py”, line 159, in throw
msgprint(
~~~~~~~~^
msg,
^^^^
…<7 lines>…
allow_dangerous_html=allow_dangerous_html,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File “/home/frappe/frappe-bench/apps/frappe/frappe/utils/messages.py”, line 118, in msgprint
_raise_exception()
~~~~~~~~~~~~~~~~^^
File “/home/frappe/frappe-bench/apps/frappe/frappe/utils/messages.py”, line 59, in _raise_exception
raise exc
frappe.exceptions.ValidationError: Item Code is required
Version
frappe: 16.24.3
erpnext: 16.25.0