fix: Required Changes to Support e-Waybill Generation for Material Transfer Return (#43061)

This commit is contained in:
Ninad Parikh
2024-10-22 19:28:02 +05:30
committed by GitHub
parent f8f7335412
commit 004c4e21d4
3 changed files with 23 additions and 13 deletions

View File

@@ -1235,6 +1235,17 @@ def add_items_in_ste(ste_doc, row, qty, rm_details, rm_detail_field="sco_rm_deta
def make_return_stock_entry_for_subcontract( def make_return_stock_entry_for_subcontract(
available_materials, order_doc, rm_details, order_doctype="Subcontracting Order" available_materials, order_doc, rm_details, order_doctype="Subcontracting Order"
): ):
def post_process(source_doc, target_doc):
target_doc.purpose = "Material Transfer"
if source_doc.doctype == "Purchase Order":
target_doc.purchase_order = source_doc.name
else:
target_doc.subcontracting_order = source_doc.name
target_doc.company = source_doc.company
target_doc.is_return = 1
ste_doc = get_mapped_doc( ste_doc = get_mapped_doc(
order_doctype, order_doctype,
order_doc.name, order_doc.name,
@@ -1245,18 +1256,13 @@ def make_return_stock_entry_for_subcontract(
}, },
}, },
ignore_child_tables=True, ignore_child_tables=True,
postprocess=post_process,
) )
ste_doc.purpose = "Material Transfer"
if order_doctype == "Purchase Order": if order_doctype == "Purchase Order":
ste_doc.purchase_order = order_doc.name
rm_detail_field = "po_detail" rm_detail_field = "po_detail"
else: else:
ste_doc.subcontracting_order = order_doc.name
rm_detail_field = "sco_rm_detail" rm_detail_field = "sco_rm_detail"
ste_doc.company = order_doc.company
ste_doc.is_return = 1
for _key, value in available_materials.items(): for _key, value in available_materials.items():
if not value.qty: if not value.qty:

View File

@@ -1298,7 +1298,7 @@ erpnext.stock.StockEntry = class StockEntry extends erpnext.stock.StockControlle
this.frm.cscript.toggle_enable_bom(); this.frm.cscript.toggle_enable_bom();
if (doc.purpose == "Send to Subcontractor") { if (erpnext.stock.is_subcontracting_or_return_transfer(doc)) {
doc.customer = doc.customer =
doc.customer_name = doc.customer_name =
doc.customer_address = doc.customer_address =
@@ -1364,6 +1364,10 @@ erpnext.stock.select_batch_and_serial_no = (frm, item) => {
}); });
}; };
erpnext.stock.is_subcontracting_or_return_transfer = (doc) => {
return doc.purpose == "Send to Subcontractor" || (doc.purpose == "Material Transfer" && doc.is_return);
};
function attach_bom_items(bom_no) { function attach_bom_items(bom_no) {
if (!bom_no) { if (!bom_no) {
return; return;

View File

@@ -154,14 +154,14 @@
"search_index": 1 "search_index": 1
}, },
{ {
"depends_on": "eval:doc.purpose==\"Send to Subcontractor\"", "depends_on": "eval: erpnext.stock.is_subcontracting_or_return_transfer(doc)",
"fieldname": "purchase_order", "fieldname": "purchase_order",
"fieldtype": "Link", "fieldtype": "Link",
"label": "Purchase Order", "label": "Purchase Order",
"options": "Purchase Order" "options": "Purchase Order"
}, },
{ {
"depends_on": "eval:doc.purpose==\"Send to Subcontractor\"", "depends_on": "eval: erpnext.stock.is_subcontracting_or_return_transfer(doc)",
"fieldname": "subcontracting_order", "fieldname": "subcontracting_order",
"fieldtype": "Link", "fieldtype": "Link",
"label": "Subcontracting Order", "label": "Subcontracting Order",
@@ -427,13 +427,13 @@
}, },
{ {
"collapsible": 1, "collapsible": 1,
"depends_on": "eval:doc.purpose === \"Send to Subcontractor\"", "depends_on": "eval: erpnext.stock.is_subcontracting_or_return_transfer(doc)",
"fieldname": "contact_section", "fieldname": "contact_section",
"fieldtype": "Section Break", "fieldtype": "Section Break",
"label": "Supplier Details" "label": "Supplier Details"
}, },
{ {
"depends_on": "eval:doc.purpose === \"Send to Subcontractor\"", "depends_on": "eval: erpnext.stock.is_subcontracting_or_return_transfer(doc)",
"fieldname": "supplier", "fieldname": "supplier",
"fieldtype": "Link", "fieldtype": "Link",
"label": "Supplier", "label": "Supplier",
@@ -445,7 +445,7 @@
}, },
{ {
"bold": 1, "bold": 1,
"depends_on": "eval:doc.purpose === \"Send to Subcontractor\"", "depends_on": "eval: erpnext.stock.is_subcontracting_or_return_transfer(doc)",
"fieldname": "supplier_name", "fieldname": "supplier_name",
"fieldtype": "Data", "fieldtype": "Data",
"label": "Supplier Name", "label": "Supplier Name",
@@ -455,7 +455,7 @@
"read_only": 1 "read_only": 1
}, },
{ {
"depends_on": "eval:doc.purpose === \"Send to Subcontractor\"", "depends_on": "eval: erpnext.stock.is_subcontracting_or_return_transfer(doc)",
"fieldname": "supplier_address", "fieldname": "supplier_address",
"fieldtype": "Link", "fieldtype": "Link",
"label": "Supplier Address", "label": "Supplier Address",