Skip to content

Commit 33377ad

Browse files
committed
fix: reportbuilder errorediting childtable fields
1 parent 01f0c76 commit 33377ad

1 file changed

Lines changed: 4 additions & 3 deletions

File tree

frappe/public/js/frappe/views/reports/report_view.js

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -509,15 +509,16 @@ frappe.views.ReportView = class ReportView extends frappe.views.ListView {
509509
control.set_value(value);
510510
return this.set_control_value(doctype, docname, fieldname, value)
511511
.then((updated_doc) => {
512-
const _data = this.data.find(d => d.name === updated_doc.name);
512+
const _data = this.data.filter(b => b.name === updated_doc.name)
513+
.find(a => (doctype != updated_doc.doctype && a[doctype + ":name"] == docname) || doctype == updated_doc.doctype);
514+
513515
for (let field in _data) {
514516
if (field.includes(':')) {
515517
// child table field
516518
const [cdt, _field] = field.split(':');
517519
const cdt_row = Object.keys(updated_doc)
518520
.filter(key => Array.isArray(updated_doc[key]) && updated_doc[key][0].doctype === cdt)
519-
.map(key => updated_doc[key])
520-
.map(a => a[0])
521+
.map(key => updated_doc[key])[0]
521522
.filter(cdoc => cdoc.name === _data[cdt + ':name'])[0];
522523
if (cdt_row) {
523524
_data[field] = cdt_row[_field];

0 commit comments

Comments
 (0)