Skip to content

Scrap Item attribute change for v16 #341

@robproject

Description

@robproject

In ERPNext v16, Stock Entry Detail and Subcontracting Receipt Item have the is_scrap_item property changed to the contents of a field called type, with the old field renamed to is_legacy_scrap_item.

App Versions

{
	"frappe": "16.11.0",
	"erpnext": "16.14.0",
	"div_frappe_base": "0.0.1",
	"hrms": "16.0.0-dev",
	"procurement": "0.0.1",
	"div_ems": "0.0.1",
	"frappe_devutils": "0.0.1",
	"beam": "15.10.0",
	"div_manufacturing": "0.0.1"
}

Route

Form/Stock Entry/MAT-STE-2026-00008

Traceback

Traceback (most recent call last):
  File "apps/frappe/frappe/app.py", line 121, in application
    response = frappe.api.handle(request)
  File "apps/frappe/frappe/api/__init__.py", line 63, in handle
    data = endpoint(**arguments)
  File "apps/frappe/frappe/api/v1.py", line 40, in handle_rpc_call
    return frappe.handler.handle()
           ~~~~~~~~~~~~~~~~~~~~~^^
  File "apps/frappe/frappe/handler.py", line 53, in handle
    data = execute_cmd(cmd)
  File "apps/frappe/frappe/handler.py", line 86, in execute_cmd
    return frappe.call(method, **frappe.form_dict)
           ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "apps/frappe/frappe/__init__.py", line 1129, in call
    return fn(*args, **newargs)
  File "apps/frappe/frappe/utils/typing_validations.py", line 36, in wrapper
    return func(*args, **kwargs)
  File "apps/frappe/frappe/desk/form/save.py", line 41, in savedocs
    doc.submit()
    ~~~~~~~~~~^^
  File "apps/frappe/frappe/utils/typing_validations.py", line 36, in wrapper
    return func(*args, **kwargs)
  File "apps/frappe/frappe/model/document.py", line 1270, in submit
    return self._submit()
           ~~~~~~~~~~~~^^
  File "apps/frappe/frappe/model/document.py", line 1251, in _submit
    return self.save()
           ~~~~~~~~~^^
  File "apps/frappe/frappe/model/document.py", line 518, in save
    return self._save(*args, **kwargs)
           ~~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "apps/frappe/frappe/model/document.py", line 554, in _save
    self.run_before_save_methods()
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "apps/frappe/frappe/model/document.py", line 1336, in run_before_save_methods
    self.run_method("before_submit")
    ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "apps/frappe/frappe/model/document.py", line 1181, in run_method
    out = Document.hook(fn)(self, *args, **kwargs)
  File "apps/frappe/frappe/model/document.py", line 1578, in composer
    return composed(self, method, *args, **kwargs)
  File "apps/frappe/frappe/model/document.py", line 1560, in runner
    add_to_return_value(self, f(self, method, *args, **kwargs))
                              ~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "apps/frappe/frappe/utils/typing_validations.py", line 36, in wrapper
    return func(*args, **kwargs)
  File "apps/beam/beam/beam/handling_unit.py", line 65, in generate_handling_units
    if doc.doctype == "Stock Entry" and doc.purpose == "Manufacture" and row.is_scrap_item:
                                                                         ^^^^^^^^^^^^^^^^^
AttributeError: 'StockEntryDetail' object has no attribute 'is_scrap_item'

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions