validations before routing to invoice
This commit is contained in:
parent
ed80cf1f2e
commit
0bd987ab03
@ -92,12 +92,56 @@ erpnext.accounts.PurchaseInvoice = erpnext.buying.BuyingController.extend({
|
|||||||
})
|
})
|
||||||
}, __("Get items from"));
|
}, __("Get items from"));
|
||||||
}
|
}
|
||||||
|
|
||||||
this.frm.toggle_reqd("supplier_warehouse", this.frm.doc.is_subcontracted==="Yes");
|
this.frm.toggle_reqd("supplier_warehouse", this.frm.doc.is_subcontracted==="Yes");
|
||||||
|
|
||||||
|
var me = this;
|
||||||
|
if (doc.docstatus == 1 && !doc.inter_company_invoice_reference) {
|
||||||
|
frappe.model.with_doc("Supplier", me.frm.doc.supplier, function() {
|
||||||
|
var supplier = frappe.model.get_doc("Supplier", me.frm.doc.supplier);
|
||||||
|
var internal = supplier.is_internal_supplier;
|
||||||
|
if (internal == 1) {
|
||||||
|
me.frm.add_custom_button("Inter Company Invoice", function() {
|
||||||
|
me.validate_inter_company_invoice(me.frm);
|
||||||
|
}, __("Make"));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
supplier: function() {
|
supplier: function() {
|
||||||
var me = this;
|
var me = this;
|
||||||
|
let internal;
|
||||||
|
frappe.db.get_value('Supplier', {name: this.frm.doc.supplier}, 'is_internal_supplier', (r) => {
|
||||||
|
if (r) {
|
||||||
|
internal = r.is_internal_supplier;
|
||||||
|
}
|
||||||
|
if (internal == 1) {
|
||||||
|
frappe.call({
|
||||||
|
method:"erpnext.accounts.doctype.sales_invoice.sales_invoice.get_allowed_companies",
|
||||||
|
args: {supplier: this.frm.doc.supplier},
|
||||||
|
callback: function(r){
|
||||||
|
if (r.message){
|
||||||
|
if (me.frm.doc.company) {
|
||||||
|
me.frm.set_value("company", r.message[0]);
|
||||||
|
}
|
||||||
|
me.frm.set_query('company', function() {
|
||||||
|
return {
|
||||||
|
"filters": {"name": ["in", r.message]}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
me.frm.set_query('company', function(){
|
||||||
|
return {
|
||||||
|
"filters": {"name": ["like", "%" + "" + "%"]}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
if(this.frm.updating_party_details)
|
if(this.frm.updating_party_details)
|
||||||
return;
|
return;
|
||||||
erpnext.utils.get_party_details(this.frm, "erpnext.accounts.party.get_party_details",
|
erpnext.utils.get_party_details(this.frm, "erpnext.accounts.party.get_party_details",
|
||||||
@ -132,6 +176,25 @@ erpnext.accounts.PurchaseInvoice = erpnext.buying.BuyingController.extend({
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
validate_inter_company_invoice: function(frm) {
|
||||||
|
var me = this;
|
||||||
|
frappe.call({
|
||||||
|
method: "erpnext.accounts.doctype.sales_invoice.sales_invoice.validate_inter_company_invoice",
|
||||||
|
args: {"doc": frm.doc},
|
||||||
|
callback: function(r) {
|
||||||
|
if (r && r.message) {
|
||||||
|
me.make_inter_company_invoice(frm);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
make_inter_company_invoice: function(frm) {
|
||||||
|
frappe.model.open_mapped_doc({
|
||||||
|
method: "erpnext.accounts.doctype.purchase_invoice.purchase_invoice.make_inter_company_sales_invoice",
|
||||||
|
frm: frm
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
is_paid: function() {
|
is_paid: function() {
|
||||||
hide_fields(this.frm.doc);
|
hide_fields(this.frm.doc);
|
||||||
|
Loading…
Reference in New Issue
Block a user