fix: batch selection issue (#41692)

This commit is contained in:
rohitwaghchaure
2024-05-30 18:06:29 +05:30
committed by GitHub
parent be9f960705
commit 968120d0eb
4 changed files with 24 additions and 1 deletions

View File

@@ -427,6 +427,7 @@ def get_batches_from_stock_ledger_entries(searchfields, txt, filters, start=0, p
& (stock_ledger_entry.batch_no.isnotnull())
)
.groupby(stock_ledger_entry.batch_no, stock_ledger_entry.warehouse)
.having(Sum(stock_ledger_entry.actual_qty) > 0)
.offset(start)
.limit(page_len)
)
@@ -477,6 +478,7 @@ def get_batches_from_serial_and_batch_bundle(searchfields, txt, filters, start=0
& (stock_ledger_entry.serial_and_batch_bundle.isnotnull())
)
.groupby(bundle.batch_no, bundle.warehouse)
.having(Sum(bundle.qty) > 0)
.offset(start)
.limit(page_len)
)

View File

@@ -2308,6 +2308,9 @@ erpnext.TransactionController = class TransactionController extends erpnext.taxe
if (doc.is_return) {
filters["is_return"] = 1;
if (["Sales Invoice", "Delivery Note"].includes(doc.doctype)) {
filters["is_inward"] = 1;
}
}
if (item.warehouse) filters["warehouse"] = item.warehouse;

View File

@@ -111,7 +111,9 @@ frappe.ui.form.on("Stock Entry", {
// or a pre-existing batch
if (frm.doc.purpose != "Material Receipt") {
filters["warehouse"] = item.s_warehouse || item.t_warehouse;
} else {
}
if (!item.s_warehouse && item.t_warehouse) {
filters["is_inward"] = 1;
}

View File

@@ -14,6 +14,22 @@ frappe.ui.form.on("Stock Settings", {
frm.set_query("default_warehouse", filters);
frm.set_query("sample_retention_warehouse", filters);
},
use_serial_batch_fields(frm) {
if (frm.doc.use_serial_batch_fields && !frm.doc.disable_serial_no_and_batch_selector) {
frm.set_value("disable_serial_no_and_batch_selector", 1);
}
},
disable_serial_no_and_batch_selector(frm) {
if (!frm.doc.disable_serial_no_and_batch_selector && frm.doc.use_serial_batch_fields) {
frm.set_value("disable_serial_no_and_batch_selector", 1);
frappe.msgprint(
__("Serial No and Batch Selector cannot be use when Use Serial / Batch Fields is enabled.")
);
}
},
allow_negative_stock: function (frm) {
if (!frm.doc.allow_negative_stock) {
return;