Skip to content

Commit 49fd8ee

Browse files
feat: sales ordfer showing qnty in items
1 parent 44aa724 commit 49fd8ee

File tree

2 files changed

+54
-0
lines changed

2 files changed

+54
-0
lines changed

d2h/fixtures/custom_field.json

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1000,5 +1000,17 @@
10001000
"default": 0,
10011001
"hidden": 1,
10021002
"non_negative": 0
1003+
},
1004+
{
1005+
"doctype": "Custom Field",
1006+
"dt": "Sales Order Item",
1007+
"module": "D2H",
1008+
"name": "balance_quantity",
1009+
"fieldname": "balance_quantity",
1010+
"fieldtype": "Data",
1011+
"label": "Balance Quantity",
1012+
"default": "Unknown",
1013+
"in_list_view": 1,
1014+
"read_only": 1
10031015
}
10041016
]

d2h/public/js/sales_order.js

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,15 @@ frappe.ui.form.on("Sales Order", {
101101
$(`[data-label='Status%20%3E%20Hold'].menu-item-label`).parent().hide();
102102
}, 200);
103103
},
104+
set_warehouse: function (frm) {
105+
if (frm.doc.set_warehouse) {
106+
if (frm.doc.items.length > 0) {
107+
frm.doc.items.map((item) => {
108+
update_warehouse_balance(frm, item);
109+
});
110+
}
111+
}
112+
},
104113
});
105114

106115
function show_confirm_dialog(frm) {
@@ -161,3 +170,36 @@ function show_approve_delivery_confirm_dialog(frm, data) {
161170
}
162171
);
163172
}
173+
174+
frappe.ui.form.on("Sales Order Item", {
175+
item_code: function (frm, cdt, cdn) {
176+
let row = locals[cdt][cdn];
177+
if (frm.doc.set_warehouse) {
178+
if (row.item_code) {
179+
update_warehouse_balance(frm, row);
180+
}
181+
}
182+
},
183+
});
184+
185+
function update_warehouse_balance(frm, row) {
186+
frappe.call({
187+
method: "erpnext.stock.dashboard.item_dashboard.get_data",
188+
args: {
189+
item_code: row.item_code,
190+
start: 0,
191+
},
192+
callback: function (r) {
193+
if (r.message && r.message.length > 0) {
194+
r.message.map((item) => {
195+
if (item.warehouse == frm.doc.set_warehouse) {
196+
row.balance_quantity = item.actual_qty;
197+
} else {
198+
row.balance_quantity = "Unknown";
199+
}
200+
});
201+
}
202+
frm.refresh_field("items");
203+
},
204+
});
205+
}

0 commit comments

Comments
 (0)