Create Work Order Using custom Script Under Quality Inspection

I’m trying to create a work order using a client-side script after saving the quality inspection.

frappe.ui.form.on(‘Quality Inspection’, {
after_save(frm) {
if (frm.doc.inspection_type === “Incoming” && frm.doc.status === “Accepted”) {
console.log(frm.doc);
frappe.call({
method: ‘erpnext.manufacturing.doctype.work_order.work_order.make_work_order’,
args: {
bom_no: “BOM-HP VICTUS NEW-001”,
item: “HP VICTUS NEW”,
qty: 1,
//project: “PROJ-0001”,
variant_items: [
{
variant_item_code: “HP VICTUS NEW”,
qty: 1,
source_warehouse: “All Warehouses - CCD”

                        }
                    ]
                },
            callback: function(r) {
                console.log(r);
                if (r.message) {
                    let work_order = r.message;
                    
                    // Save the work order
                    frappe.call({
                        method: 'frappe.client.save',
                        args: {
                            doc: work_order
                        },
                        callback: function(save_response) {
                            if (!save_response.exc) {
                                frappe.msgprint(__('Work Order {0} created and saved', [work_order.name]));
                            }
                        }
                    });
                }
            }
        });
    }
}

});

It is giving me an error of target_warehouse not found even after defining it. Attached screenshot for reference;

Where did you define target warehouse? I can only see source warehouse in your script.
Also server script might be easier and better for your use case.

It is not mentioned in this code, but I tried with target warehouse as well which fg_warehouse inside work order.

Issue resolved after removing the mandatory tag from the work order “Targeted Warehouse” field inside the connection.

updated script using client side:
frappe.ui.form.on(‘Quality Inspection’, {
after_save(frm) {
if (frm.doc.inspection_type === “Incoming” && frm.doc.status === “Accepted”) {
console.log(frm.doc);
frappe.call({
method: ‘erpnext.manufacturing.doctype.work_order.work_order.make_work_order’,
args: {
//fg_warehouse: “WH3”,
//wip_warehouse: “WH3”,
bom_no: “BOM-HP VICTUS NEW-001”,
item: “HP VICTUS NEW”,
qty: 1,

                    //project: "PROJ-0001",
                    variant_items: [
                        {
                            variant_item_code: "HP VICTUS NEW",
                            qty: 1,
                            source_warehouse: "All Warehouses - CCD",
                            
                            
                        }
                    ]
                    
                    
                },
            callback: function(r) {
                console.log(r);
                if (r.message) {
                    let work_order = r.message;
                    
                    // Save the work order
                    frappe.call({
                        method: 'frappe.client.save',
                        args: {
                            doc: work_order
                        },
                        callback: function(save_response) {
                            if (!save_response.exc) {
                                frappe.msgprint(__('Work Order {0} created and saved', [work_order.name]));
                            }
                        }
                    });
                }
            }
        });
    }
}

});