fix: Fetch valuation rate
(cherry picked from commit df71907be453a481a43d2c62a5c076602ab8af07)
This commit is contained in:
parent
bd80e04aa7
commit
3d6ed4ebde
@ -68,6 +68,23 @@ frappe.ui.form.on('Asset Repair', {
|
|||||||
});
|
});
|
||||||
|
|
||||||
frappe.ui.form.on('Asset Repair Consumed Item', {
|
frappe.ui.form.on('Asset Repair Consumed Item', {
|
||||||
|
item_code: function(frm, cdt, cdn) {
|
||||||
|
var row = locals[cdt][cdn];
|
||||||
|
|
||||||
|
frappe.call ({
|
||||||
|
method: "erpnext.assets.doctype.asset_repair.asset_repair.get_valuation_rate",
|
||||||
|
args: {
|
||||||
|
"item_code": row.item_code,
|
||||||
|
"warehouse": frm.doc.warehouse
|
||||||
|
},
|
||||||
|
callback: function(r) {
|
||||||
|
if(r.message) {
|
||||||
|
frappe.model.set_value(cdt, cdn, 'valuation_rate', r.message[0]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
consumed_quantity: function(frm, cdt, cdn) {
|
consumed_quantity: function(frm, cdt, cdn) {
|
||||||
var row = locals[cdt][cdn];
|
var row = locals[cdt][cdn];
|
||||||
frappe.model.set_value(cdt, cdn, 'total_value', row.consumed_quantity * row.valuation_rate);
|
frappe.model.set_value(cdt, cdn, 'total_value', row.consumed_quantity * row.valuation_rate);
|
||||||
|
|||||||
@ -256,3 +256,36 @@ class AssetRepair(AccountsController):
|
|||||||
def get_downtime(failure_date, completion_date):
|
def get_downtime(failure_date, completion_date):
|
||||||
downtime = time_diff_in_hours(completion_date, failure_date)
|
downtime = time_diff_in_hours(completion_date, failure_date)
|
||||||
return round(downtime, 2)
|
return round(downtime, 2)
|
||||||
|
|
||||||
|
@frappe.whitelist()
|
||||||
|
def get_valuation_rate(item_code, warehouse):
|
||||||
|
last_valuation_rate = frappe.get_all(
|
||||||
|
"Stock Ledger Entry",
|
||||||
|
filters = {
|
||||||
|
"item_code": item_code,
|
||||||
|
"warehouse": warehouse,
|
||||||
|
"valuation_rate": [">=", 0],
|
||||||
|
"docstatus": ["<", 2]
|
||||||
|
},
|
||||||
|
pluck = "valuation_rate",
|
||||||
|
order_by = "posting_date desc, posting_time desc, name desc"
|
||||||
|
)
|
||||||
|
|
||||||
|
if last_valuation_rate:
|
||||||
|
return last_valuation_rate
|
||||||
|
else:
|
||||||
|
valuation_rate = frappe.db.get_value("Item", item_code, "valuation_rate")
|
||||||
|
|
||||||
|
if not valuation_rate:
|
||||||
|
# try Item Standard rate
|
||||||
|
valuation_rate = frappe.db.get_value("Item", item_code, "standard_rate")
|
||||||
|
|
||||||
|
if not valuation_rate:
|
||||||
|
# try in price list
|
||||||
|
valuation_rate = frappe.db.get_value(
|
||||||
|
"Item Price",
|
||||||
|
dict(item_code=item_code, buying=1),
|
||||||
|
"price_list_rate"
|
||||||
|
)
|
||||||
|
|
||||||
|
return valuation_rate
|
||||||
|
|||||||
@ -13,7 +13,6 @@
|
|||||||
],
|
],
|
||||||
"fields": [
|
"fields": [
|
||||||
{
|
{
|
||||||
"fetch_from": "item.valuation_rate",
|
|
||||||
"fieldname": "valuation_rate",
|
"fieldname": "valuation_rate",
|
||||||
"fieldtype": "Currency",
|
"fieldtype": "Currency",
|
||||||
"in_list_view": 1,
|
"in_list_view": 1,
|
||||||
@ -49,7 +48,7 @@
|
|||||||
"index_web_pages_for_search": 1,
|
"index_web_pages_for_search": 1,
|
||||||
"istable": 1,
|
"istable": 1,
|
||||||
"links": [],
|
"links": [],
|
||||||
"modified": "2021-11-11 18:23:00.492483",
|
"modified": "2022-02-08 17:37:20.028290",
|
||||||
"modified_by": "Administrator",
|
"modified_by": "Administrator",
|
||||||
"module": "Assets",
|
"module": "Assets",
|
||||||
"name": "Asset Repair Consumed Item",
|
"name": "Asset Repair Consumed Item",
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user