mirror of
https://github.com/frappe/erpnext.git
synced 2026-03-20 10:45:29 +00:00
feat(Sales Invoice): add items row via "Fetch Timesheet" (#46071)
(cherry picked from commit 94547188bf)
Co-authored-by: Raffael Meyer <14891507+barredterra@users.noreply.github.com>
This commit is contained in:
@@ -922,9 +922,25 @@ frappe.ui.form.on("Sales Invoice", {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const timesheets = await frm.events.get_timesheet_data(frm, kwargs);
|
const timesheets = await frm.events.get_timesheet_data(frm, kwargs);
|
||||||
|
|
||||||
|
if (kwargs.item_code) {
|
||||||
|
frm.events.add_timesheet_item(frm, kwargs.item_code, timesheets);
|
||||||
|
}
|
||||||
|
|
||||||
return frm.events.set_timesheet_data(frm, timesheets);
|
return frm.events.set_timesheet_data(frm, timesheets);
|
||||||
},
|
},
|
||||||
|
|
||||||
|
add_timesheet_item: function (frm, item_code, timesheets) {
|
||||||
|
const row = frm.add_child("items");
|
||||||
|
frappe.model.set_value(row.doctype, row.name, "item_code", item_code);
|
||||||
|
frappe.model.set_value(
|
||||||
|
row.doctype,
|
||||||
|
row.name,
|
||||||
|
"qty",
|
||||||
|
timesheets.reduce((a, b) => a + (b["billing_hours"] || 0.0), 0.0)
|
||||||
|
);
|
||||||
|
},
|
||||||
|
|
||||||
async get_timesheet_data(frm, kwargs) {
|
async get_timesheet_data(frm, kwargs) {
|
||||||
return frappe
|
return frappe
|
||||||
.call({
|
.call({
|
||||||
@@ -1022,6 +1038,22 @@ frappe.ui.form.on("Sales Invoice", {
|
|||||||
fieldtype: "Date",
|
fieldtype: "Date",
|
||||||
reqd: 1,
|
reqd: 1,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
label: __("Item Code"),
|
||||||
|
fieldname: "item_code",
|
||||||
|
fieldtype: "Link",
|
||||||
|
options: "Item",
|
||||||
|
get_query: () => {
|
||||||
|
return {
|
||||||
|
query: "erpnext.controllers.queries.item_query",
|
||||||
|
filters: {
|
||||||
|
is_sales_item: 1,
|
||||||
|
customer: frm.doc.customer,
|
||||||
|
has_variants: 0,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
},
|
||||||
|
},
|
||||||
{
|
{
|
||||||
fieldtype: "Column Break",
|
fieldtype: "Column Break",
|
||||||
fieldname: "col_break_1",
|
fieldname: "col_break_1",
|
||||||
@@ -1046,6 +1078,7 @@ frappe.ui.form.on("Sales Invoice", {
|
|||||||
from_time: data.from_time,
|
from_time: data.from_time,
|
||||||
to_time: data.to_time,
|
to_time: data.to_time,
|
||||||
project: data.project,
|
project: data.project,
|
||||||
|
item_code: data.item_code,
|
||||||
});
|
});
|
||||||
d.hide();
|
d.hide();
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user