fix: barcode field on line item not working (#40381)

This commit is contained in:
rohitwaghchaure
2024-03-12 12:27:21 +05:30
committed by GitHub
parent b9a8dd468b
commit 0da19a40a7
3 changed files with 33 additions and 0 deletions

View File

@@ -11,6 +11,18 @@ erpnext.stock.StockController = class StockController extends frappe.ui.form.Con
} }
} }
barcode(doc, cdt, cdn) {
let row = locals[cdt][cdn];
if (row.barcode) {
erpnext.stock.utils.set_item_details_using_barcode(this.frm, row, (r) => {
frappe.model.set_value(cdt, cdn, {
"item_code": r.message.item_code,
"qty": 1,
});
});
}
}
setup_warehouse_query() { setup_warehouse_query() {
var me = this; var me = this;
erpnext.queries.setup_queries(this.frm, "Warehouse", function() { erpnext.queries.setup_queries(this.frm, "Warehouse", function() {

View File

@@ -411,6 +411,19 @@ erpnext.TransactionController = class TransactionController extends erpnext.taxe
barcode_scanner.process_scan(); barcode_scanner.process_scan();
} }
barcode(doc, cdt, cdn) {
let row = locals[cdt][cdn];
if (row.barcode) {
erpnext.stock.utils.set_item_details_using_barcode(this.frm, row, (r) => {
debugger
frappe.model.set_value(cdt, cdn, {
"item_code": r.message.item_code,
"qty": 1,
});
});
}
}
validate_has_items () { validate_has_items () {
let table = this.frm.doc.items; let table = this.frm.doc.items;
this.frm.has_items = (table && table.length this.frm.has_items = (table && table.length

View File

@@ -2,6 +2,7 @@
// License: GNU General Public License v3. See license.txt // License: GNU General Public License v3. See license.txt
frappe.provide("erpnext"); frappe.provide("erpnext");
frappe.provide("erpnext.utils"); frappe.provide("erpnext.utils");
frappe.provide("erpnext.stock.utils");
$.extend(erpnext, { $.extend(erpnext, {
get_currency: function (company) { get_currency: function (company) {
@@ -1201,3 +1202,10 @@ function attach_selector_button(inner_text, append_loction, context, grid_row) {
context.show_serial_batch_selector(grid_row.frm, grid_row.doc, "", "", true); context.show_serial_batch_selector(grid_row.frm, grid_row.doc, "", "", true);
}); });
} }
$.extend(erpnext.stock.utils, {
set_item_details_using_barcode(frm, child_row, callback) {
const barcode_scanner = new erpnext.utils.BarcodeScanner({ frm: frm });
barcode_scanner.scan_api_call(child_row.barcode, callback);
},
});