[Enhance] Deferred Expense (#15437)

* added section for deferred expense in item master

* added default expense account field in Company master

* added deferred expense section in purchase invoice item

* validation and getter code added

* scheduler event to book expense every month

* codacy, import fix and other minor fixes

* rectify debit credit logic for expense

* commonify js code for deferred expense and revenue

* remove deferred calculation and validation

* common file to calculate deferred revenue and expense

* codacy fixes

* expense account root_type - Asset, specific method naming
This commit is contained in:
Zarrar
2018-09-21 15:45:40 +05:30
committed by Nabin Hait
parent 4ae3fb7a87
commit e83ff38c10
11 changed files with 692 additions and 191 deletions

View File

@@ -796,6 +796,38 @@ erpnext.TransactionController = erpnext.taxes_and_totals.extend({
this.apply_pricing_rule(frappe.get_doc(cdt, cdn), true);
},
service_stop_date: function(frm, cdt, cdn) {
var child = locals[cdt][cdn];
if(child.service_stop_date) {
let start_date = Date.parse(child.service_start_date);
let end_date = Date.parse(child.service_end_date);
let stop_date = Date.parse(child.service_stop_date);
if(stop_date < start_date) {
frappe.model.set_value(cdt, cdn, "service_stop_date", "");
frappe.throw(__("Service Stop Date cannot be before Service Start Date"));
} else if (stop_date > end_date) {
frappe.model.set_value(cdt, cdn, "service_stop_date", "");
frappe.throw(__("Service Stop Date cannot be after Service End Date"));
}
}
},
service_start_date: function(frm, cdt, cdn) {
var child = locals[cdt][cdn];
if(child.service_start_date) {
frappe.call({
"method": "erpnext.stock.get_item_details.calculate_service_end_date",
args: {"args": child},
callback: function(r) {
frappe.model.set_value(cdt, cdn, "service_end_date", r.message.service_end_date);
}
})
}
},
calculate_net_weight: function(){
/* Calculate Total Net Weight then further applied shipping rule to calculate shipping charges.*/
var me = this;