fix: preserve original operation idx in manually created Job Cards

The Create Job Card dialog on Work Order lists only pending operations,
so the row idx sent to make_job_card is the dialog's position, not the
Work Order Operation idx. create_job_card stamped that dialog idx into
operation_row_id, and get_required_items then matched raw materials of
whichever operation held that idx originally.

Resolve idx server-side from the Work Order Operation row that
get_operation_details already looks up by name.

Fixes https://github.com/frappe/erpnext/issues/57985
This commit is contained in:
Mihir Kandoi
2026-08-11 14:05:21 +05:30
parent e4f9c664a8
commit cb7201cc18

View File

@@ -312,6 +312,7 @@ def get_operation_details(name, work_order, parent_bom):
for row in work_order.operations:
if row.name == name:
return {
"idx": row.idx,
"workstation": row.workstation,
"workstation_type": row.workstation_type,
"source_warehouse": row.source_warehouse,