Hi everyone,
We upgraded our system from version 9 to version 12, All is fine, but in version 9 for quotation doctype there is a script that is working fine there, But its not working in version12 quotation .Please help.Please find below script.
frappe.ui.form.on(“Quotation”, “new_item_code”, function(frm, cdt, cdn) {
frappe.call({
method: "frappe.client.get_list",
args: {
doctype: "Item",
filters: {
"item_group": frm.doc.item_group,
"is_sales_item": 1
},
fields: ["item_code", "item_name", "description", "stock_uom"]
},
callback: function(r) {
var items = [];
frm.clear_table("items");
for (var i = 0; i < r.message.length; i++) {
var d = frm.add_child("items");
for (var key in r.message[i]) {
if (r.message[i].hasOwnProperty(key)) {
frappe.model.set_value(d.doctype, d.name, key, r.message[i][key]);
}
}
if (!d.qty) d.qty = 1;
}
frm.refresh_field("items");
}
})
})
frappe.ui.form.on(“Quotation”, “item_group”, function(frm, cdt, cdn) {
frappe.call({
method: "frappe.client.get_list",
args: {
doctype: "Item",
filters: {
"item_group": frm.doc.item_group1,
"is_sales_item": 1
},
fields: ["item_code", "item_name", "description", "stock_uom"]
},
callback: function(r) {
var items = [];
for (var i = 0; i < r.message.length; i++) {
var d = frm.add_child("items");
for (var key in r.message[i]) {
if (r.message[i].hasOwnProperty(key)) {
frappe.model.set_value(d.doctype, d.name, key, r.message[i][key]);
}
}
if (!d.qty) d.qty = 1;
}
}
})
})
cur_frm.add_fetch(‘item_code’,‘part_no’,‘part_no’)
frappe.ui.form.on(“Quotation”,“customer”, function(frm, cdt, cdn) {
frappe.call({
method: "frappe.client.get_list",
args: {
doctype: "Customer Item",
filters:{
"customer_name" : frm.doc.customer
},
//fields: ["equipment", "serial_no", "manf_year", "pressure"]
},
callback: function(r) {
var items = [];
frm.clear_table("customer_item");
for(var i=0; i< r.message.length; i++) {
var d = frm.add_child("customer_item");
for (var key in r.message[i]) {
if (r.message[i].hasOwnProperty(key)) {
frappe.model.set_value(d.doctype, d.name, key, r.message[i][key]);
}
}
if(!d.qty) d.qty = 1;
}
frm.refresh_field("customer_item");
}
})
})
frappe.ui.form.on(“Quotation”, “item_group”, function(frm, cdt, cdn) {
frappe.call({
method: "frappe.client.get_list",
args: {
doctype: "Product Bundle",
filters: {
"parent_item": frm.doc.parent_item,
"is_sales_item": 1
},
fields: ["item_code", "item_name", "description", "stock_uom"]
},
callback: function(r) {
var items = [];
for (var i = 0; i < r.message.length; i++) {
var d = frm.add_child("items");
for (var key in r.message[i]) {
if (r.message[i].hasOwnProperty(key)) {
frappe.model.set_value(d.doctype, d.name, key, r.message[i][key]);
}
}
if (!d.qty) d.qty = 1;
}
}
})
})
frappe.ui.form.on(“Customer Item”, “get_items”, function(frm, cdt, cdn) {
var m = locals[cdt][cdn]
frappe.call({
method: "frappe.client.get_list",
args:{
doctype: "Product Bundle Item",
fields: ["item_code", "qty","description","service_type","parent","uom","rate"],
filters:[
["parent","=", m.equipment]
],
},
callback: function(r) {
console.log(r)
for (var i = 0; i < r.message.length; i++) {
var d = frm.add_child("items");
console.log(frm.doc.items)
for (var key in r.message[i]) {
frappe.model.set_value(d.doctype, d.name, "item_name", r.message[i]["item_code"]);
frappe.model.set_value(d.doctype, d.name, "product_bundle", r.message[i]["parent"]);
if (r.message[i].hasOwnProperty(key)) {
frappe.model.set_value(d.doctype, d.name, key, r.message[i][key]);
}
}
}
}
})
})
frappe.ui.form.on(“Quotation”, “customer”, function(frm, cdt, cdn) {
frappe.call({
method: "frappe.client.get_list",
async:false,
args:{
doctype: "Customer Item",
fields: ["equipment", "serial_no","pressure","ref_code","manf_year"],
filters:[
["parent","=", frm.doc.customer]
],
},
callback: function(r) {
frm.doc.customer_items = []
for (var i = 0; i < r.message.length; i++) {
var d = frm.add_child("customer_items");
for (var key in r.message[i]) {
if (r.message[i].hasOwnProperty(key)) {
frappe.model.set_value(d.doctype, d.name, key, r.message[i][key]);
}
}
frappe.call({
method: "frappe.client.get_list",
async:false,
args:{
doctype: "Product Bundle Item",
fields: ["item_code", "qty","description","service_type","parent","uom","rate"],
filters:[
["parent","=", r.message[i].equipment]
],
},
callback: function(r) {
console.log(r)
frm.doc.items = []
for (var i = 0; i < r.message.length; i++) {
var d = frm.add_child("items");
for (var key in r.message[i]) {
frappe.form.link_formatters['Item'] = function(value, doc) {
return value +':'+ doc.description;
}
frappe.model.set_value(d.doctype, d.name, "item_name", r.message[i]["item_code"]);
frappe.model.set_value(d.doctype, d.name, "product_bundle", r.message[i]["parent"]);
if (r.message[i].hasOwnProperty(key)) {
frappe.model.set_value(d.doctype, d.name, key, r.message[i][key]);
}
}
frappe.call({
method: "frappe.client.get_list",
async:false,
args:{
doctype: "Item Price",
fields: ["price_list_rate"],
filters:[
["price_list","=", "Standard Selling"],["item_code","=", r.message[i]["item_code"]]
],
},
callback: function(r) {
frappe.model.set_value(d.doctype, d.name, "rate", r.message[0].price_list_rate);
}
})
}
}
})
}
}
})
})
cur_frm.add_fetch(‘item_code’,‘part_no’,‘part_no’)
Thnxx.