Merge branch 'master' into staging-fixes
This commit is contained in:
commit
f3cfad7595
@ -5,7 +5,7 @@ import frappe
|
|||||||
from erpnext.hooks import regional_overrides
|
from erpnext.hooks import regional_overrides
|
||||||
from frappe.utils import getdate
|
from frappe.utils import getdate
|
||||||
|
|
||||||
__version__ = '10.1.80'
|
__version__ = '10.1.81'
|
||||||
|
|
||||||
def get_default_company(user=None):
|
def get_default_company(user=None):
|
||||||
'''Get default company for user'''
|
'''Get default company for user'''
|
||||||
|
@ -205,6 +205,13 @@ erpnext.accounts.JournalEntry = frappe.ui.form.Controller.extend({
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// payroll entry
|
||||||
|
if(jvd.reference_type==="Payroll Entry") {
|
||||||
|
return {
|
||||||
|
query: "erpnext.hr.doctype.payroll_entry.payroll_entry.get_payroll_entries_for_jv",
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
var out = {
|
var out = {
|
||||||
filters: [
|
filters: [
|
||||||
[jvd.reference_type, "docstatus", "=", 1]
|
[jvd.reference_type, "docstatus", "=", 1]
|
||||||
@ -227,10 +234,18 @@ erpnext.accounts.JournalEntry = frappe.ui.form.Controller.extend({
|
|||||||
|
|
||||||
out.filters.push([jvd.reference_type, "per_billed", "<", 100]);
|
out.filters.push([jvd.reference_type, "per_billed", "<", 100]);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(jvd.party_type && jvd.party) {
|
if(jvd.party_type && jvd.party) {
|
||||||
out.filters.push([jvd.reference_type,
|
var party_field = "";
|
||||||
(jvd.reference_type.indexOf("Sales")===0 ? "customer" : "supplier"), "=", jvd.party]);
|
if(jvd.reference_type.indexOf("Sales")===0) {
|
||||||
|
var party_field = "customer";
|
||||||
|
} else if (jvd.reference_type.indexOf("Purchase")===0) {
|
||||||
|
var party_field = "supplier";
|
||||||
|
}
|
||||||
|
|
||||||
|
if (party_field) {
|
||||||
|
out.filters.push([jvd.reference_type, party_field, "=", jvd.party]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return out;
|
return out;
|
||||||
|
@ -69,6 +69,17 @@ class TestAsset(unittest.TestCase):
|
|||||||
self.assertFalse(frappe.db.get_value("GL Entry",
|
self.assertFalse(frappe.db.get_value("GL Entry",
|
||||||
{"voucher_type": "Purchase Invoice", "voucher_no": pi.name}))
|
{"voucher_type": "Purchase Invoice", "voucher_no": pi.name}))
|
||||||
|
|
||||||
|
def test_is_fixed_asset_set(self):
|
||||||
|
doc = frappe.new_doc('Purchase Invoice')
|
||||||
|
doc.supplier = '_Test Supplier'
|
||||||
|
doc.append('items', {
|
||||||
|
'item_code': 'Macbook Pro',
|
||||||
|
'qty': 1
|
||||||
|
})
|
||||||
|
|
||||||
|
doc.set_missing_values()
|
||||||
|
self.assertEquals(doc.items[0].is_fixed_asset, 1)
|
||||||
|
|
||||||
|
|
||||||
def test_schedule_for_straight_line_method(self):
|
def test_schedule_for_straight_line_method(self):
|
||||||
pr = make_purchase_receipt(item_code="Macbook Pro",
|
pr = make_purchase_receipt(item_code="Macbook Pro",
|
||||||
|
@ -13,15 +13,23 @@ frappe.ui.form.on("Supplier Scorecard", {
|
|||||||
},
|
},
|
||||||
onload: function(frm) {
|
onload: function(frm) {
|
||||||
if (frm.doc.__unsaved == 1) {
|
if (frm.doc.__unsaved == 1) {
|
||||||
loadAllCriteria(frm);
|
|
||||||
loadAllStandings(frm);
|
loadAllStandings(frm);
|
||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
refresh: function(frm) {
|
load_criteria: function(frm) {
|
||||||
if (frm.dashboard.hasOwnProperty('heatmap')) {
|
frappe.call({
|
||||||
frm.dashboard.heatmap.setLegend([0,20,40,60,80,101],["#991600","#169900"]);
|
method: "erpnext.buying.doctype.supplier_scorecard_criteria.supplier_scorecard_criteria.get_criteria_list",
|
||||||
}
|
callback: function(r) {
|
||||||
|
frm.set_value('criteria', []);
|
||||||
|
for (var i = 0; i < r.message.length; i++)
|
||||||
|
{
|
||||||
|
var row = frm.add_child("criteria");
|
||||||
|
row.criteria_name = r.message[i].name;
|
||||||
|
frm.script_manager.trigger("criteria_name", row.doctype, row.name);
|
||||||
|
}
|
||||||
|
refresh_field("criteria");
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
@ -29,8 +37,8 @@ frappe.ui.form.on("Supplier Scorecard", {
|
|||||||
frappe.ui.form.on("Supplier Scorecard Scoring Standing", {
|
frappe.ui.form.on("Supplier Scorecard Scoring Standing", {
|
||||||
|
|
||||||
standing_name: function(frm, cdt, cdn) {
|
standing_name: function(frm, cdt, cdn) {
|
||||||
if (frm.doc.standing_name != undefined) {
|
var d = frappe.get_doc(cdt, cdn);
|
||||||
var d = frappe.get_doc(cdt, cdn);
|
if (d.standing_name) {
|
||||||
return frm.call({
|
return frm.call({
|
||||||
method: "erpnext.buying.doctype.supplier_scorecard_standing.supplier_scorecard_standing.get_scoring_standing",
|
method: "erpnext.buying.doctype.supplier_scorecard_standing.supplier_scorecard_standing.get_scoring_standing",
|
||||||
child: d,
|
child: d,
|
||||||
@ -42,86 +50,29 @@ frappe.ui.form.on("Supplier Scorecard Scoring Standing", {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
frappe.ui.form.on("Supplier Scorecard Scoring Variable", {
|
|
||||||
|
|
||||||
variable_label: function(frm, cdt, cdn) {
|
|
||||||
if (frm.doc.variable_label != undefined) {
|
|
||||||
var d = frappe.get_doc(cdt, cdn);
|
|
||||||
return frm.call({
|
|
||||||
method: "erpnext.buying.doctype.supplier_scorecard_variable.supplier_scorecard_variable.get_scoring_variable",
|
|
||||||
child: d,
|
|
||||||
args: {
|
|
||||||
variable_label: d.variable_label
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
frappe.ui.form.on("Supplier Scorecard Scoring Criteria", {
|
frappe.ui.form.on("Supplier Scorecard Scoring Criteria", {
|
||||||
|
|
||||||
criteria_name: function(frm, cdt, cdn) {
|
criteria_name: function(frm, cdt, cdn) {
|
||||||
if (frm.doc.criteria_name != undefined) {
|
var d = frappe.get_doc(cdt, cdn);
|
||||||
var d = frappe.get_doc(cdt, cdn);
|
if (d.criteria_name) {
|
||||||
frm.call({
|
return frm.call({
|
||||||
method: "erpnext.buying.doctype.supplier_scorecard_criteria.supplier_scorecard_criteria.get_variables",
|
method: "frappe.client.get",
|
||||||
args: {
|
args: {
|
||||||
criteria_name: d.criteria_name
|
fieldname: "weight",
|
||||||
|
doctype: "Supplier Scorecard Criteria",
|
||||||
|
filters: {name: d.criteria_name}
|
||||||
},
|
},
|
||||||
callback: function(r) {
|
callback: function(r) {
|
||||||
for (var i = 0; i < r.message.length; i++)
|
if(r.message){
|
||||||
{
|
d.weight = r.message.weight;
|
||||||
var exists = false;
|
frm.refresh_field('criteria', 'weight');
|
||||||
for (var j = 0; j < frm.doc.variables.length; j++)
|
|
||||||
{
|
|
||||||
if(!frm.doc.variables[j].hasOwnProperty("variable_label")) {
|
|
||||||
frm.get_field("variables").grid.grid_rows[j].remove();
|
|
||||||
}
|
|
||||||
else if(frm.doc.variables[j].variable_label === r.message[i]) {
|
|
||||||
exists = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (!exists){
|
|
||||||
var new_row = frm.add_child("variables");
|
|
||||||
new_row.variable_label = r.message[i];
|
|
||||||
frm.script_manager.trigger("variable_label", new_row.doctype, new_row.name);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
refresh_field("variables");
|
|
||||||
}
|
|
||||||
});
|
|
||||||
return frm.call({
|
|
||||||
method: "erpnext.buying.doctype.supplier_scorecard_criteria.supplier_scorecard_criteria.get_scoring_criteria",
|
|
||||||
child: d,
|
|
||||||
args: {
|
|
||||||
criteria_name: d.criteria_name
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
var loadAllCriteria = function(frm) {
|
|
||||||
frappe.call({
|
|
||||||
method: "erpnext.buying.doctype.supplier_scorecard_criteria.supplier_scorecard_criteria.get_criteria_list",
|
|
||||||
callback: function(r) {
|
|
||||||
for (var j = 0; j < frm.doc.criteria.length; j++)
|
|
||||||
{
|
|
||||||
if(!frm.doc.criteria[j].hasOwnProperty("criteria_name")) {
|
|
||||||
frm.get_field("criteria").grid.grid_rows[j].remove();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
for (var i = 0; i < r.message.length; i++)
|
|
||||||
{
|
|
||||||
var new_row = frm.add_child("criteria");
|
|
||||||
new_row.criteria_name = r.message[i].name;
|
|
||||||
frm.script_manager.trigger("criteria_name", new_row.doctype, new_row.name);
|
|
||||||
}
|
|
||||||
refresh_field("criteria");
|
|
||||||
}
|
|
||||||
});
|
|
||||||
};
|
|
||||||
var loadAllStandings = function(frm) {
|
var loadAllStandings = function(frm) {
|
||||||
frappe.call({
|
frappe.call({
|
||||||
method: "erpnext.buying.doctype.supplier_scorecard_standing.supplier_scorecard_standing.get_standings_list",
|
method: "erpnext.buying.doctype.supplier_scorecard_standing.supplier_scorecard_standing.get_standings_list",
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -54,6 +54,7 @@ class SupplierScorecard(Document):
|
|||||||
`tabSupplier Scorecard Period` scp
|
`tabSupplier Scorecard Period` scp
|
||||||
WHERE
|
WHERE
|
||||||
scp.scorecard = %(sc)s
|
scp.scorecard = %(sc)s
|
||||||
|
AND scp.docstatus = 1
|
||||||
ORDER BY
|
ORDER BY
|
||||||
scp.end_date DESC""",
|
scp.end_date DESC""",
|
||||||
{"sc": self.name}, as_dict=1)
|
{"sc": self.name}, as_dict=1)
|
||||||
@ -110,7 +111,8 @@ def get_timeline_data(doctype, name):
|
|||||||
FROM
|
FROM
|
||||||
`tabSupplier Scorecard Period` sc
|
`tabSupplier Scorecard Period` sc
|
||||||
WHERE
|
WHERE
|
||||||
sc.scorecard = %(scs)s""",
|
sc.scorecard = %(scs)s
|
||||||
|
AND sc.docstatus = 1""",
|
||||||
{"scs": scs.name}, as_dict=1)
|
{"scs": scs.name}, as_dict=1)
|
||||||
|
|
||||||
for sc in scorecards:
|
for sc in scorecards:
|
||||||
@ -162,6 +164,7 @@ def make_all_scorecards(docname):
|
|||||||
`tabSupplier Scorecard Period` scp
|
`tabSupplier Scorecard Period` scp
|
||||||
WHERE
|
WHERE
|
||||||
scp.scorecard = %(sc)s
|
scp.scorecard = %(sc)s
|
||||||
|
AND scp.docstatus = 1
|
||||||
AND (
|
AND (
|
||||||
(scp.start_date > %(end_date)s
|
(scp.start_date > %(end_date)s
|
||||||
AND scp.end_date < %(start_date)s)
|
AND scp.end_date < %(start_date)s)
|
||||||
@ -170,12 +173,12 @@ def make_all_scorecards(docname):
|
|||||||
AND scp.end_date > %(start_date)s))
|
AND scp.end_date > %(start_date)s))
|
||||||
ORDER BY
|
ORDER BY
|
||||||
scp.end_date DESC""",
|
scp.end_date DESC""",
|
||||||
{"sc": docname, "start_date": start_date, "end_date": end_date, "supplier": supplier}, as_dict=1)
|
{"sc": docname, "start_date": start_date, "end_date": end_date}, as_dict=1)
|
||||||
if len(scorecards) == 0:
|
if len(scorecards) == 0:
|
||||||
period_card = make_supplier_scorecard(docname, None)
|
period_card = make_supplier_scorecard(docname, None)
|
||||||
period_card.start_date = start_date
|
period_card.start_date = start_date
|
||||||
period_card.end_date = end_date
|
period_card.end_date = end_date
|
||||||
period_card.save()
|
period_card.submit()
|
||||||
scp_count = scp_count + 1
|
scp_count = scp_count + 1
|
||||||
if start_date < first_start_date:
|
if start_date < first_start_date:
|
||||||
first_start_date = start_date
|
first_start_date = start_date
|
||||||
|
@ -21,12 +21,6 @@ class TestSupplierScorecard(unittest.TestCase):
|
|||||||
d.weight = 0
|
d.weight = 0
|
||||||
self.assertRaises(frappe.ValidationError,my_doc.insert)
|
self.assertRaises(frappe.ValidationError,my_doc.insert)
|
||||||
|
|
||||||
def test_missing_variable(self):
|
|
||||||
delete_test_scorecards()
|
|
||||||
my_doc = make_supplier_scorecard()
|
|
||||||
del my_doc.variables
|
|
||||||
self.assertRaises(frappe.ValidationError,my_doc.insert)
|
|
||||||
|
|
||||||
def make_supplier_scorecard():
|
def make_supplier_scorecard():
|
||||||
my_doc = frappe.get_doc(valid_scorecard[0])
|
my_doc = frappe.get_doc(valid_scorecard[0])
|
||||||
|
|
||||||
@ -118,56 +112,6 @@ valid_scorecard = [
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"prevent_pos":0,
|
"prevent_pos":0,
|
||||||
"variables": [
|
|
||||||
{
|
|
||||||
"param_name":"cost_of_on_time_shipments",
|
|
||||||
"doctype":"Supplier Scorecard Scoring Variable",
|
|
||||||
"parenttype":"Supplier Scorecard",
|
|
||||||
"variable_label":"Cost of On Time Shipments",
|
|
||||||
"path":"get_cost_of_on_time_shipments",
|
|
||||||
"parentfield":"variables"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"param_name":"tot_cost_shipments",
|
|
||||||
"doctype":"Supplier Scorecard Scoring Variable",
|
|
||||||
"parenttype":"Supplier Scorecard",
|
|
||||||
"variable_label":"Total Cost of Shipments",
|
|
||||||
"path":"get_total_cost_of_shipments",
|
|
||||||
"parentfield":"variables"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"param_name":"tot_days_late",
|
|
||||||
"doctype":"Supplier Scorecard Scoring Variable",
|
|
||||||
"parenttype":"Supplier Scorecard",
|
|
||||||
"variable_label":"Total Days Late",
|
|
||||||
"path":"get_total_days_late",
|
|
||||||
"parentfield":"variables"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"param_name":"total_working_days",
|
|
||||||
"doctype":"Supplier Scorecard Scoring Variable",
|
|
||||||
"parenttype":"Supplier Scorecard",
|
|
||||||
"variable_label":"Total Working Days",
|
|
||||||
"path":"get_total_workdays",
|
|
||||||
"parentfield":"variables"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"param_name":"on_time_shipment_num",
|
|
||||||
"doctype":"Supplier Scorecard Scoring Variable",
|
|
||||||
"parenttype":"Supplier Scorecard",
|
|
||||||
"variable_label":"# of On Time Shipments",
|
|
||||||
"path":"get_on_time_shipments",
|
|
||||||
"parentfield":"variables"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"param_name":"total_shipments",
|
|
||||||
"doctype":"Supplier Scorecard Scoring Variable",
|
|
||||||
"parenttype":"Supplier Scorecard",
|
|
||||||
"variable_label":"Total Shipments",
|
|
||||||
"path":"get_total_shipments",
|
|
||||||
"parentfield":"variables"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"period":"Per Month",
|
"period":"Per Month",
|
||||||
"doctype":"Supplier Scorecard",
|
"doctype":"Supplier Scorecard",
|
||||||
"warn_pos":0,
|
"warn_pos":0,
|
||||||
@ -177,14 +121,12 @@ valid_scorecard = [
|
|||||||
{
|
{
|
||||||
"weight":100.0,
|
"weight":100.0,
|
||||||
"doctype":"Supplier Scorecard Scoring Criteria",
|
"doctype":"Supplier Scorecard Scoring Criteria",
|
||||||
"formula":"(({cost_of_on_time_shipments} / {tot_cost_shipments}) if {tot_cost_shipments} > 0 else 1 )* 100 ",
|
"criteria_name":"Delivery"
|
||||||
"criteria_name":"Delivery",
|
|
||||||
"max_score":100.0,
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"supplier":"_Test Supplier",
|
"supplier":"_Test Supplier",
|
||||||
"name":"_Test Supplier",
|
"name":"_Test Supplier",
|
||||||
"weighting_function":"{total_score} * max( 0, min ( 1 , (12 - {period_number}) / 12) )",
|
"weighting_function":"{total_score} * max( 0, min ( 1 , (12 - {period_number}) / 12) )"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
"allow_import": 0,
|
"allow_import": 0,
|
||||||
"allow_rename": 0,
|
"allow_rename": 0,
|
||||||
"autoname": "field:criteria_name",
|
"autoname": "field:criteria_name",
|
||||||
"beta": 1,
|
"beta": 0,
|
||||||
"creation": "2017-05-29 01:32:43.064891",
|
"creation": "2017-05-29 01:32:43.064891",
|
||||||
"custom": 0,
|
"custom": 0,
|
||||||
"docstatus": 0,
|
"docstatus": 0,
|
||||||
@ -43,36 +43,6 @@
|
|||||||
"set_only_once": 0,
|
"set_only_once": 0,
|
||||||
"unique": 1
|
"unique": 1
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"allow_bulk_edit": 0,
|
|
||||||
"allow_on_submit": 0,
|
|
||||||
"bold": 0,
|
|
||||||
"collapsible": 0,
|
|
||||||
"columns": 0,
|
|
||||||
"fieldname": "weight",
|
|
||||||
"fieldtype": "Percent",
|
|
||||||
"hidden": 0,
|
|
||||||
"ignore_user_permissions": 0,
|
|
||||||
"ignore_xss_filter": 0,
|
|
||||||
"in_filter": 0,
|
|
||||||
"in_global_search": 0,
|
|
||||||
"in_list_view": 1,
|
|
||||||
"in_standard_filter": 0,
|
|
||||||
"label": "Criteria Weight",
|
|
||||||
"length": 0,
|
|
||||||
"no_copy": 0,
|
|
||||||
"permlevel": 0,
|
|
||||||
"precision": "",
|
|
||||||
"print_hide": 0,
|
|
||||||
"print_hide_if_no_value": 0,
|
|
||||||
"read_only": 0,
|
|
||||||
"remember_last_selected_value": 0,
|
|
||||||
"report_hide": 0,
|
|
||||||
"reqd": 1,
|
|
||||||
"search_index": 0,
|
|
||||||
"set_only_once": 0,
|
|
||||||
"unique": 0
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"allow_bulk_edit": 0,
|
"allow_bulk_edit": 0,
|
||||||
"allow_on_submit": 0,
|
"allow_on_submit": 0,
|
||||||
@ -87,7 +57,7 @@
|
|||||||
"ignore_xss_filter": 0,
|
"ignore_xss_filter": 0,
|
||||||
"in_filter": 0,
|
"in_filter": 0,
|
||||||
"in_global_search": 0,
|
"in_global_search": 0,
|
||||||
"in_list_view": 0,
|
"in_list_view": 1,
|
||||||
"in_standard_filter": 0,
|
"in_standard_filter": 0,
|
||||||
"label": "Max Score",
|
"label": "Max Score",
|
||||||
"length": 0,
|
"length": 0,
|
||||||
@ -114,10 +84,10 @@
|
|||||||
"fieldtype": "Small Text",
|
"fieldtype": "Small Text",
|
||||||
"hidden": 0,
|
"hidden": 0,
|
||||||
"ignore_user_permissions": 0,
|
"ignore_user_permissions": 0,
|
||||||
"ignore_xss_filter": 0,
|
"ignore_xss_filter": 1,
|
||||||
"in_filter": 0,
|
"in_filter": 0,
|
||||||
"in_global_search": 0,
|
"in_global_search": 0,
|
||||||
"in_list_view": 0,
|
"in_list_view": 1,
|
||||||
"in_standard_filter": 0,
|
"in_standard_filter": 0,
|
||||||
"label": "Criteria Formula",
|
"label": "Criteria Formula",
|
||||||
"length": 0,
|
"length": 0,
|
||||||
@ -133,6 +103,36 @@
|
|||||||
"search_index": 0,
|
"search_index": 0,
|
||||||
"set_only_once": 0,
|
"set_only_once": 0,
|
||||||
"unique": 0
|
"unique": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"allow_bulk_edit": 0,
|
||||||
|
"allow_on_submit": 0,
|
||||||
|
"bold": 0,
|
||||||
|
"collapsible": 0,
|
||||||
|
"columns": 0,
|
||||||
|
"fieldname": "weight",
|
||||||
|
"fieldtype": "Percent",
|
||||||
|
"hidden": 0,
|
||||||
|
"ignore_user_permissions": 0,
|
||||||
|
"ignore_xss_filter": 0,
|
||||||
|
"in_filter": 0,
|
||||||
|
"in_global_search": 0,
|
||||||
|
"in_list_view": 0,
|
||||||
|
"in_standard_filter": 0,
|
||||||
|
"label": "Criteria Weight",
|
||||||
|
"length": 0,
|
||||||
|
"no_copy": 0,
|
||||||
|
"permlevel": 0,
|
||||||
|
"precision": "",
|
||||||
|
"print_hide": 0,
|
||||||
|
"print_hide_if_no_value": 0,
|
||||||
|
"read_only": 0,
|
||||||
|
"remember_last_selected_value": 0,
|
||||||
|
"report_hide": 0,
|
||||||
|
"reqd": 0,
|
||||||
|
"search_index": 0,
|
||||||
|
"set_only_once": 0,
|
||||||
|
"unique": 0
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"has_web_view": 0,
|
"has_web_view": 0,
|
||||||
@ -145,7 +145,7 @@
|
|||||||
"issingle": 0,
|
"issingle": 0,
|
||||||
"istable": 0,
|
"istable": 0,
|
||||||
"max_attachments": 0,
|
"max_attachments": 0,
|
||||||
"modified": "2017-07-17 10:30:47.458285",
|
"modified": "2019-01-22 10:47:00.000822",
|
||||||
"modified_by": "Administrator",
|
"modified_by": "Administrator",
|
||||||
"module": "Buying",
|
"module": "Buying",
|
||||||
"name": "Supplier Scorecard Criteria",
|
"name": "Supplier Scorecard Criteria",
|
||||||
|
@ -30,21 +30,11 @@ class SupplierScorecardCriteria(Document):
|
|||||||
for dummy2 in range(0, len(match.groups())):
|
for dummy2 in range(0, len(match.groups())):
|
||||||
test_formula = test_formula.replace('{' + match.group(1) + '}', "0")
|
test_formula = test_formula.replace('{' + match.group(1) + '}', "0")
|
||||||
|
|
||||||
test_formula = test_formula.replace('<','<').replace('>','>')
|
|
||||||
try:
|
try:
|
||||||
frappe.safe_eval(test_formula, None, {'max':max, 'min': min})
|
frappe.safe_eval(test_formula, None, {'max':max, 'min': min})
|
||||||
except Exception:
|
except Exception:
|
||||||
frappe.throw(_("Error evaluating the criteria formula"))
|
frappe.throw(_("Error evaluating the criteria formula"))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@frappe.whitelist()
|
|
||||||
def get_scoring_criteria(criteria_name):
|
|
||||||
criteria = frappe.get_doc("Supplier Scorecard Criteria", criteria_name)
|
|
||||||
|
|
||||||
return criteria
|
|
||||||
|
|
||||||
|
|
||||||
@frappe.whitelist()
|
@frappe.whitelist()
|
||||||
def get_criteria_list():
|
def get_criteria_list():
|
||||||
criteria = frappe.db.sql("""
|
criteria = frappe.db.sql("""
|
||||||
@ -56,7 +46,6 @@ def get_criteria_list():
|
|||||||
|
|
||||||
return criteria
|
return criteria
|
||||||
|
|
||||||
@frappe.whitelist()
|
|
||||||
def get_variables(criteria_name):
|
def get_variables(criteria_name):
|
||||||
criteria = frappe.get_doc("Supplier Scorecard Criteria", criteria_name)
|
criteria = frappe.get_doc("Supplier Scorecard Criteria", criteria_name)
|
||||||
return _get_variables(criteria)
|
return _get_variables(criteria)
|
||||||
@ -69,21 +58,16 @@ def _get_variables(criteria):
|
|||||||
for dummy1, match in enumerate(mylist):
|
for dummy1, match in enumerate(mylist):
|
||||||
for dummy2 in range(0, len(match.groups())):
|
for dummy2 in range(0, len(match.groups())):
|
||||||
try:
|
try:
|
||||||
#var = frappe.get_doc("Supplier Scorecard Variable", {'param_name' : d})
|
|
||||||
var = frappe.db.sql("""
|
var = frappe.db.sql("""
|
||||||
SELECT
|
SELECT
|
||||||
scv.name
|
scv.variable_label, scv.description, scv.param_name, scv.path
|
||||||
FROM
|
FROM
|
||||||
`tabSupplier Scorecard Variable` scv
|
`tabSupplier Scorecard Variable` scv
|
||||||
WHERE
|
WHERE
|
||||||
param_name=%(param)s""",
|
param_name=%(param)s""",
|
||||||
{'param':match.group(1)},)[0][0]
|
{'param':match.group(1)}, as_dict=1)[0]
|
||||||
my_variables.append(var)
|
my_variables.append(var)
|
||||||
except Exception:
|
except Exception:
|
||||||
# Ignore the ones where the variable can't be found
|
|
||||||
frappe.throw(_('Unable to find variable: ') + str(match.group(1)), InvalidFormulaVariable)
|
frappe.throw(_('Unable to find variable: ') + str(match.group(1)), InvalidFormulaVariable)
|
||||||
#pass
|
|
||||||
|
|
||||||
|
|
||||||
#frappe.msgprint(str(my_variables))
|
|
||||||
return my_variables
|
return my_variables
|
||||||
|
@ -6,9 +6,11 @@
|
|||||||
|
|
||||||
frappe.ui.form.on("Supplier Scorecard Period", {
|
frappe.ui.form.on("Supplier Scorecard Period", {
|
||||||
onload: function(frm) {
|
onload: function(frm) {
|
||||||
frm.get_field("variables").grid.toggle_display("value", true);
|
let criteria_grid = frm.get_field("criteria").grid;
|
||||||
frm.get_field("criteria").grid.toggle_display("score", true);
|
criteria_grid.toggle_enable("criteria_name", false);
|
||||||
|
criteria_grid.toggle_enable("weight", false);
|
||||||
|
criteria_grid.toggle_display("max_score", true);
|
||||||
|
criteria_grid.toggle_display("formula", true);
|
||||||
|
criteria_grid.toggle_display("score", true);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -1,420 +1,450 @@
|
|||||||
{
|
{
|
||||||
"allow_copy": 0,
|
"allow_copy": 0,
|
||||||
"allow_guest_to_view": 0,
|
"allow_guest_to_view": 0,
|
||||||
"allow_import": 0,
|
"allow_import": 0,
|
||||||
"allow_rename": 0,
|
"allow_rename": 0,
|
||||||
"autoname": "naming_series:",
|
"autoname": "naming_series:",
|
||||||
"beta": 1,
|
"beta": 0,
|
||||||
"creation": "2017-05-30 00:38:18.773013",
|
"creation": "2017-05-30 00:38:18.773013",
|
||||||
"custom": 0,
|
"custom": 0,
|
||||||
"docstatus": 0,
|
"docstatus": 0,
|
||||||
"doctype": "DocType",
|
"doctype": "DocType",
|
||||||
"document_type": "",
|
"document_type": "",
|
||||||
"editable_grid": 1,
|
"editable_grid": 1,
|
||||||
"engine": "InnoDB",
|
"engine": "InnoDB",
|
||||||
"fields": [
|
"fields": [
|
||||||
{
|
{
|
||||||
"allow_bulk_edit": 0,
|
"allow_bulk_edit": 0,
|
||||||
"allow_in_quick_entry": 0,
|
"allow_in_quick_entry": 0,
|
||||||
"allow_on_submit": 0,
|
"allow_on_submit": 0,
|
||||||
"bold": 0,
|
"bold": 0,
|
||||||
"collapsible": 0,
|
"collapsible": 0,
|
||||||
"columns": 0,
|
"columns": 0,
|
||||||
"fieldname": "supplier",
|
"fieldname": "supplier",
|
||||||
"fieldtype": "Link",
|
"fieldtype": "Link",
|
||||||
"hidden": 0,
|
"hidden": 0,
|
||||||
"ignore_user_permissions": 0,
|
"ignore_user_permissions": 0,
|
||||||
"ignore_xss_filter": 0,
|
"ignore_xss_filter": 0,
|
||||||
"in_filter": 0,
|
"in_filter": 0,
|
||||||
"in_global_search": 0,
|
"in_global_search": 0,
|
||||||
"in_list_view": 1,
|
"in_list_view": 1,
|
||||||
"in_standard_filter": 0,
|
"in_standard_filter": 0,
|
||||||
"label": "Supplier",
|
"label": "Supplier",
|
||||||
"length": 0,
|
"length": 0,
|
||||||
"no_copy": 0,
|
"no_copy": 0,
|
||||||
"options": "Supplier",
|
"options": "Supplier",
|
||||||
"permlevel": 0,
|
"permlevel": 0,
|
||||||
"precision": "",
|
"precision": "",
|
||||||
"print_hide": 0,
|
"print_hide": 0,
|
||||||
"print_hide_if_no_value": 0,
|
"print_hide_if_no_value": 0,
|
||||||
"read_only": 0,
|
"read_only": 0,
|
||||||
"remember_last_selected_value": 0,
|
"remember_last_selected_value": 0,
|
||||||
"report_hide": 0,
|
"report_hide": 0,
|
||||||
"reqd": 1,
|
"reqd": 1,
|
||||||
"search_index": 0,
|
"search_index": 0,
|
||||||
"set_only_once": 0,
|
"set_only_once": 0,
|
||||||
"translatable": 0,
|
"translatable": 0,
|
||||||
"unique": 0
|
"unique": 0
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"allow_bulk_edit": 0,
|
"allow_bulk_edit": 0,
|
||||||
"allow_in_quick_entry": 0,
|
"allow_in_quick_entry": 0,
|
||||||
"allow_on_submit": 0,
|
"allow_on_submit": 0,
|
||||||
"bold": 0,
|
"bold": 0,
|
||||||
"collapsible": 0,
|
"collapsible": 0,
|
||||||
"columns": 0,
|
"columns": 0,
|
||||||
"default": "",
|
"default": "",
|
||||||
"fieldname": "naming_series",
|
"fieldname": "naming_series",
|
||||||
"fieldtype": "Select",
|
"fieldtype": "Select",
|
||||||
"hidden": 0,
|
"hidden": 0,
|
||||||
"ignore_user_permissions": 0,
|
"ignore_user_permissions": 0,
|
||||||
"ignore_xss_filter": 0,
|
"ignore_xss_filter": 0,
|
||||||
"in_filter": 0,
|
"in_filter": 0,
|
||||||
"in_global_search": 0,
|
"in_global_search": 0,
|
||||||
"in_list_view": 0,
|
"in_list_view": 0,
|
||||||
"in_standard_filter": 0,
|
"in_standard_filter": 0,
|
||||||
"label": "Naming Series",
|
"label": "Naming Series",
|
||||||
"length": 0,
|
"length": 0,
|
||||||
"no_copy": 0,
|
"no_copy": 0,
|
||||||
"options": "PU-SSP-.YYYY.-",
|
"options": "PU-SSP-.YYYY.-",
|
||||||
"permlevel": 0,
|
"permlevel": 0,
|
||||||
"precision": "",
|
"precision": "",
|
||||||
"print_hide": 0,
|
"print_hide": 0,
|
||||||
"print_hide_if_no_value": 0,
|
"print_hide_if_no_value": 0,
|
||||||
"read_only": 0,
|
"read_only": 0,
|
||||||
"remember_last_selected_value": 0,
|
"remember_last_selected_value": 0,
|
||||||
"report_hide": 0,
|
"report_hide": 0,
|
||||||
"reqd": 1,
|
"reqd": 1,
|
||||||
"search_index": 0,
|
"search_index": 0,
|
||||||
"set_only_once": 0,
|
"set_only_once": 0,
|
||||||
"translatable": 0,
|
"translatable": 0,
|
||||||
"unique": 0
|
"unique": 0
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"allow_bulk_edit": 0,
|
"allow_bulk_edit": 0,
|
||||||
"allow_in_quick_entry": 0,
|
"allow_in_quick_entry": 0,
|
||||||
"allow_on_submit": 0,
|
"allow_on_submit": 0,
|
||||||
"bold": 0,
|
"bold": 0,
|
||||||
"collapsible": 0,
|
"collapsible": 0,
|
||||||
"columns": 0,
|
"columns": 0,
|
||||||
"fieldname": "total_score",
|
"fieldname": "total_score",
|
||||||
"fieldtype": "Percent",
|
"fieldtype": "Percent",
|
||||||
"hidden": 0,
|
"hidden": 0,
|
||||||
"ignore_user_permissions": 0,
|
"ignore_user_permissions": 0,
|
||||||
"ignore_xss_filter": 0,
|
"ignore_xss_filter": 0,
|
||||||
"in_filter": 0,
|
"in_filter": 0,
|
||||||
"in_global_search": 0,
|
"in_global_search": 0,
|
||||||
"in_list_view": 1,
|
"in_list_view": 1,
|
||||||
"in_standard_filter": 0,
|
"in_standard_filter": 0,
|
||||||
"label": "Period Score",
|
"label": "Period Score",
|
||||||
"length": 0,
|
"length": 0,
|
||||||
"no_copy": 0,
|
"no_copy": 0,
|
||||||
"permlevel": 0,
|
"permlevel": 0,
|
||||||
"precision": "",
|
"precision": "",
|
||||||
"print_hide": 0,
|
"print_hide": 0,
|
||||||
"print_hide_if_no_value": 0,
|
"print_hide_if_no_value": 0,
|
||||||
"read_only": 1,
|
"read_only": 1,
|
||||||
"remember_last_selected_value": 0,
|
"remember_last_selected_value": 0,
|
||||||
"report_hide": 0,
|
"report_hide": 0,
|
||||||
"reqd": 0,
|
"reqd": 0,
|
||||||
"search_index": 0,
|
"search_index": 0,
|
||||||
"set_only_once": 0,
|
"set_only_once": 0,
|
||||||
"translatable": 0,
|
"translatable": 0,
|
||||||
"unique": 0
|
"unique": 0
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"allow_bulk_edit": 0,
|
"allow_bulk_edit": 0,
|
||||||
"allow_in_quick_entry": 0,
|
"allow_in_quick_entry": 0,
|
||||||
"allow_on_submit": 0,
|
"allow_on_submit": 0,
|
||||||
"bold": 0,
|
"bold": 0,
|
||||||
"collapsible": 0,
|
"collapsible": 0,
|
||||||
"columns": 0,
|
"columns": 0,
|
||||||
"fieldname": "column_break_2",
|
"fieldname": "column_break_2",
|
||||||
"fieldtype": "Column Break",
|
"fieldtype": "Column Break",
|
||||||
"hidden": 0,
|
"hidden": 0,
|
||||||
"ignore_user_permissions": 0,
|
"ignore_user_permissions": 0,
|
||||||
"ignore_xss_filter": 0,
|
"ignore_xss_filter": 0,
|
||||||
"in_filter": 0,
|
"in_filter": 0,
|
||||||
"in_global_search": 0,
|
"in_global_search": 0,
|
||||||
"in_list_view": 0,
|
"in_list_view": 0,
|
||||||
"in_standard_filter": 0,
|
"in_standard_filter": 0,
|
||||||
"length": 0,
|
"length": 0,
|
||||||
"no_copy": 0,
|
"no_copy": 0,
|
||||||
"permlevel": 0,
|
"permlevel": 0,
|
||||||
"precision": "",
|
"precision": "",
|
||||||
"print_hide": 0,
|
"print_hide": 0,
|
||||||
"print_hide_if_no_value": 0,
|
"print_hide_if_no_value": 0,
|
||||||
"read_only": 0,
|
"read_only": 0,
|
||||||
"remember_last_selected_value": 0,
|
"remember_last_selected_value": 0,
|
||||||
"report_hide": 0,
|
"report_hide": 0,
|
||||||
"reqd": 0,
|
"reqd": 0,
|
||||||
"search_index": 0,
|
"search_index": 0,
|
||||||
"set_only_once": 0,
|
"set_only_once": 0,
|
||||||
"translatable": 0,
|
"translatable": 0,
|
||||||
"unique": 0
|
"unique": 0
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"allow_bulk_edit": 0,
|
"allow_bulk_edit": 0,
|
||||||
"allow_in_quick_entry": 0,
|
"allow_in_quick_entry": 0,
|
||||||
"allow_on_submit": 0,
|
"allow_on_submit": 0,
|
||||||
"bold": 0,
|
"bold": 0,
|
||||||
"collapsible": 0,
|
"collapsible": 0,
|
||||||
"columns": 0,
|
"columns": 0,
|
||||||
"fieldname": "start_date",
|
"fieldname": "start_date",
|
||||||
"fieldtype": "Date",
|
"fieldtype": "Date",
|
||||||
"hidden": 0,
|
"hidden": 0,
|
||||||
"ignore_user_permissions": 0,
|
"ignore_user_permissions": 0,
|
||||||
"ignore_xss_filter": 0,
|
"ignore_xss_filter": 0,
|
||||||
"in_filter": 0,
|
"in_filter": 0,
|
||||||
"in_global_search": 0,
|
"in_global_search": 0,
|
||||||
"in_list_view": 1,
|
"in_list_view": 1,
|
||||||
"in_standard_filter": 0,
|
"in_standard_filter": 0,
|
||||||
"label": "Start Date",
|
"label": "Start Date",
|
||||||
"length": 0,
|
"length": 0,
|
||||||
"no_copy": 0,
|
"no_copy": 0,
|
||||||
"permlevel": 0,
|
"permlevel": 0,
|
||||||
"precision": "",
|
"precision": "",
|
||||||
"print_hide": 0,
|
"print_hide": 0,
|
||||||
"print_hide_if_no_value": 0,
|
"print_hide_if_no_value": 0,
|
||||||
"read_only": 0,
|
"read_only": 0,
|
||||||
"remember_last_selected_value": 0,
|
"remember_last_selected_value": 0,
|
||||||
"report_hide": 0,
|
"report_hide": 0,
|
||||||
"reqd": 1,
|
"reqd": 1,
|
||||||
"search_index": 0,
|
"search_index": 0,
|
||||||
"set_only_once": 0,
|
"set_only_once": 0,
|
||||||
"translatable": 0,
|
"translatable": 0,
|
||||||
"unique": 0
|
"unique": 0
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"allow_bulk_edit": 0,
|
"allow_bulk_edit": 0,
|
||||||
"allow_in_quick_entry": 0,
|
"allow_in_quick_entry": 0,
|
||||||
"allow_on_submit": 0,
|
"allow_on_submit": 0,
|
||||||
"bold": 0,
|
"bold": 0,
|
||||||
"collapsible": 0,
|
"collapsible": 0,
|
||||||
"columns": 0,
|
"columns": 0,
|
||||||
"fieldname": "end_date",
|
"fieldname": "end_date",
|
||||||
"fieldtype": "Date",
|
"fieldtype": "Date",
|
||||||
"hidden": 0,
|
"hidden": 0,
|
||||||
"ignore_user_permissions": 0,
|
"ignore_user_permissions": 0,
|
||||||
"ignore_xss_filter": 0,
|
"ignore_xss_filter": 0,
|
||||||
"in_filter": 0,
|
"in_filter": 0,
|
||||||
"in_global_search": 0,
|
"in_global_search": 0,
|
||||||
"in_list_view": 0,
|
"in_list_view": 0,
|
||||||
"in_standard_filter": 0,
|
"in_standard_filter": 0,
|
||||||
"label": "End Date",
|
"label": "End Date",
|
||||||
"length": 0,
|
"length": 0,
|
||||||
"no_copy": 0,
|
"no_copy": 0,
|
||||||
"permlevel": 0,
|
"permlevel": 0,
|
||||||
"precision": "",
|
"precision": "",
|
||||||
"print_hide": 0,
|
"print_hide": 0,
|
||||||
"print_hide_if_no_value": 0,
|
"print_hide_if_no_value": 0,
|
||||||
"read_only": 0,
|
"read_only": 0,
|
||||||
"remember_last_selected_value": 0,
|
"remember_last_selected_value": 0,
|
||||||
"report_hide": 0,
|
"report_hide": 0,
|
||||||
"reqd": 1,
|
"reqd": 1,
|
||||||
"search_index": 0,
|
"search_index": 0,
|
||||||
"set_only_once": 0,
|
"set_only_once": 0,
|
||||||
"translatable": 0,
|
"translatable": 0,
|
||||||
"unique": 0
|
"unique": 0
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"allow_bulk_edit": 0,
|
"allow_bulk_edit": 0,
|
||||||
"allow_in_quick_entry": 0,
|
"allow_in_quick_entry": 0,
|
||||||
"allow_on_submit": 0,
|
"allow_on_submit": 0,
|
||||||
"bold": 0,
|
"bold": 0,
|
||||||
"collapsible": 1,
|
"collapsible": 1,
|
||||||
"columns": 0,
|
"columns": 0,
|
||||||
"fieldname": "section_break_11",
|
"fieldname": "section_break_11",
|
||||||
"fieldtype": "Section Break",
|
"fieldtype": "Section Break",
|
||||||
"hidden": 0,
|
"hidden": 0,
|
||||||
"ignore_user_permissions": 0,
|
"ignore_user_permissions": 0,
|
||||||
"ignore_xss_filter": 0,
|
"ignore_xss_filter": 0,
|
||||||
"in_filter": 0,
|
"in_filter": 0,
|
||||||
"in_global_search": 0,
|
"in_global_search": 0,
|
||||||
"in_list_view": 0,
|
"in_list_view": 0,
|
||||||
"in_standard_filter": 0,
|
"in_standard_filter": 0,
|
||||||
"label": "Calculations",
|
"label": "Calculations",
|
||||||
"length": 0,
|
"length": 0,
|
||||||
"no_copy": 0,
|
"no_copy": 0,
|
||||||
"permlevel": 0,
|
"permlevel": 0,
|
||||||
"precision": "",
|
"precision": "",
|
||||||
"print_hide": 0,
|
"print_hide": 0,
|
||||||
"print_hide_if_no_value": 0,
|
"print_hide_if_no_value": 0,
|
||||||
"read_only": 0,
|
"read_only": 0,
|
||||||
"remember_last_selected_value": 0,
|
"remember_last_selected_value": 0,
|
||||||
"report_hide": 0,
|
"report_hide": 0,
|
||||||
"reqd": 0,
|
"reqd": 0,
|
||||||
"search_index": 0,
|
"search_index": 0,
|
||||||
"set_only_once": 0,
|
"set_only_once": 0,
|
||||||
"translatable": 0,
|
"translatable": 0,
|
||||||
"unique": 0
|
"unique": 0
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"allow_bulk_edit": 0,
|
"allow_bulk_edit": 0,
|
||||||
"allow_in_quick_entry": 0,
|
"allow_in_quick_entry": 0,
|
||||||
"allow_on_submit": 0,
|
"allow_on_submit": 0,
|
||||||
"bold": 0,
|
"bold": 0,
|
||||||
"collapsible": 0,
|
"collapsible": 0,
|
||||||
"columns": 0,
|
"columns": 0,
|
||||||
"fieldname": "criteria",
|
"fieldname": "criteria",
|
||||||
"fieldtype": "Table",
|
"fieldtype": "Table",
|
||||||
"hidden": 0,
|
"hidden": 0,
|
||||||
"ignore_user_permissions": 0,
|
"ignore_user_permissions": 0,
|
||||||
"ignore_xss_filter": 0,
|
"ignore_xss_filter": 0,
|
||||||
"in_filter": 0,
|
"in_filter": 0,
|
||||||
"in_global_search": 0,
|
"in_global_search": 0,
|
||||||
"in_list_view": 0,
|
"in_list_view": 0,
|
||||||
"in_standard_filter": 0,
|
"in_standard_filter": 0,
|
||||||
"label": "Criteria",
|
"label": "Criteria",
|
||||||
"length": 0,
|
"length": 0,
|
||||||
"no_copy": 0,
|
"no_copy": 0,
|
||||||
"options": "Supplier Scorecard Scoring Criteria",
|
"options": "Supplier Scorecard Scoring Criteria",
|
||||||
"permlevel": 0,
|
"permlevel": 0,
|
||||||
"precision": "",
|
"precision": "",
|
||||||
"print_hide": 0,
|
"print_hide": 0,
|
||||||
"print_hide_if_no_value": 0,
|
"print_hide_if_no_value": 0,
|
||||||
"read_only": 0,
|
"read_only": 0,
|
||||||
"remember_last_selected_value": 0,
|
"remember_last_selected_value": 0,
|
||||||
"report_hide": 0,
|
"report_hide": 0,
|
||||||
"reqd": 1,
|
"reqd": 1,
|
||||||
"search_index": 0,
|
"search_index": 0,
|
||||||
"set_only_once": 0,
|
"set_only_once": 0,
|
||||||
"translatable": 0,
|
"translatable": 0,
|
||||||
"unique": 0
|
"unique": 0
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"allow_bulk_edit": 0,
|
"allow_bulk_edit": 0,
|
||||||
"allow_in_quick_entry": 0,
|
"allow_in_quick_entry": 0,
|
||||||
"allow_on_submit": 0,
|
"allow_on_submit": 0,
|
||||||
"bold": 0,
|
"bold": 0,
|
||||||
"collapsible": 0,
|
"collapsible": 0,
|
||||||
"columns": 0,
|
"columns": 0,
|
||||||
"fieldname": "variables",
|
"fieldname": "variables",
|
||||||
"fieldtype": "Table",
|
"fieldtype": "Table",
|
||||||
"hidden": 0,
|
"hidden": 0,
|
||||||
"ignore_user_permissions": 0,
|
"ignore_user_permissions": 0,
|
||||||
"ignore_xss_filter": 0,
|
"ignore_xss_filter": 0,
|
||||||
"in_filter": 0,
|
"in_filter": 0,
|
||||||
"in_global_search": 0,
|
"in_global_search": 0,
|
||||||
"in_list_view": 0,
|
"in_list_view": 0,
|
||||||
"in_standard_filter": 0,
|
"in_standard_filter": 0,
|
||||||
"label": "Variables",
|
"label": "Variables",
|
||||||
"length": 0,
|
"length": 0,
|
||||||
"no_copy": 0,
|
"no_copy": 0,
|
||||||
"options": "Supplier Scorecard Scoring Variable",
|
"options": "Supplier Scorecard Scoring Variable",
|
||||||
"permlevel": 0,
|
"permlevel": 0,
|
||||||
"precision": "",
|
"precision": "",
|
||||||
"print_hide": 0,
|
"print_hide": 0,
|
||||||
"print_hide_if_no_value": 0,
|
"print_hide_if_no_value": 0,
|
||||||
"read_only": 0,
|
"read_only": 0,
|
||||||
"remember_last_selected_value": 0,
|
"remember_last_selected_value": 0,
|
||||||
"report_hide": 0,
|
"report_hide": 0,
|
||||||
"reqd": 1,
|
"reqd": 0,
|
||||||
"search_index": 0,
|
"search_index": 0,
|
||||||
"set_only_once": 0,
|
"set_only_once": 0,
|
||||||
"translatable": 0,
|
"translatable": 0,
|
||||||
"unique": 0
|
"unique": 0
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"allow_bulk_edit": 0,
|
"allow_bulk_edit": 0,
|
||||||
"allow_in_quick_entry": 0,
|
"allow_in_quick_entry": 0,
|
||||||
"allow_on_submit": 0,
|
"allow_on_submit": 0,
|
||||||
"bold": 0,
|
"bold": 0,
|
||||||
"collapsible": 1,
|
"collapsible": 1,
|
||||||
"columns": 0,
|
"columns": 0,
|
||||||
"fieldname": "sec_ref",
|
"fieldname": "sec_ref",
|
||||||
"fieldtype": "Section Break",
|
"fieldtype": "Section Break",
|
||||||
"hidden": 0,
|
"hidden": 0,
|
||||||
"ignore_user_permissions": 0,
|
"ignore_user_permissions": 0,
|
||||||
"ignore_xss_filter": 0,
|
"ignore_xss_filter": 0,
|
||||||
"in_filter": 0,
|
"in_filter": 0,
|
||||||
"in_global_search": 0,
|
"in_global_search": 0,
|
||||||
"in_list_view": 0,
|
"in_list_view": 0,
|
||||||
"in_standard_filter": 0,
|
"in_standard_filter": 0,
|
||||||
"label": "Reference",
|
"label": "Reference",
|
||||||
"length": 0,
|
"length": 0,
|
||||||
"no_copy": 0,
|
"no_copy": 0,
|
||||||
"permlevel": 0,
|
"permlevel": 0,
|
||||||
"precision": "",
|
"precision": "",
|
||||||
"print_hide": 0,
|
"print_hide": 0,
|
||||||
"print_hide_if_no_value": 0,
|
"print_hide_if_no_value": 0,
|
||||||
"read_only": 0,
|
"read_only": 0,
|
||||||
"remember_last_selected_value": 0,
|
"remember_last_selected_value": 0,
|
||||||
"report_hide": 0,
|
"report_hide": 0,
|
||||||
"reqd": 0,
|
"reqd": 0,
|
||||||
"search_index": 0,
|
"search_index": 0,
|
||||||
"set_only_once": 0,
|
"set_only_once": 0,
|
||||||
"translatable": 0,
|
"translatable": 0,
|
||||||
"unique": 0
|
"unique": 0
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"allow_bulk_edit": 0,
|
"allow_bulk_edit": 0,
|
||||||
"allow_in_quick_entry": 0,
|
"allow_in_quick_entry": 0,
|
||||||
"allow_on_submit": 0,
|
"allow_on_submit": 0,
|
||||||
"bold": 0,
|
"bold": 0,
|
||||||
"collapsible": 0,
|
"collapsible": 0,
|
||||||
"columns": 0,
|
"columns": 0,
|
||||||
"fieldname": "scorecard",
|
"fieldname": "scorecard",
|
||||||
"fieldtype": "Link",
|
"fieldtype": "Link",
|
||||||
"hidden": 0,
|
"hidden": 0,
|
||||||
"ignore_user_permissions": 0,
|
"ignore_user_permissions": 0,
|
||||||
"ignore_xss_filter": 0,
|
"ignore_xss_filter": 0,
|
||||||
"in_filter": 0,
|
"in_filter": 0,
|
||||||
"in_global_search": 0,
|
"in_global_search": 0,
|
||||||
"in_list_view": 0,
|
"in_list_view": 0,
|
||||||
"in_standard_filter": 0,
|
"in_standard_filter": 0,
|
||||||
"label": "Supplier Scorecard Setup",
|
"label": "Supplier Scorecard Setup",
|
||||||
"length": 0,
|
"length": 0,
|
||||||
"no_copy": 0,
|
"no_copy": 0,
|
||||||
"options": "Supplier Scorecard",
|
"options": "Supplier Scorecard",
|
||||||
"permlevel": 0,
|
"permlevel": 0,
|
||||||
"precision": "",
|
"precision": "",
|
||||||
"print_hide": 0,
|
"print_hide": 0,
|
||||||
"print_hide_if_no_value": 0,
|
"print_hide_if_no_value": 0,
|
||||||
"read_only": 0,
|
"read_only": 0,
|
||||||
"remember_last_selected_value": 0,
|
"remember_last_selected_value": 0,
|
||||||
"report_hide": 0,
|
"report_hide": 0,
|
||||||
"reqd": 1,
|
"reqd": 1,
|
||||||
"search_index": 0,
|
"search_index": 0,
|
||||||
"set_only_once": 0,
|
"set_only_once": 0,
|
||||||
"translatable": 0,
|
"translatable": 0,
|
||||||
|
"unique": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"allow_bulk_edit": 0,
|
||||||
|
"allow_on_submit": 0,
|
||||||
|
"bold": 0,
|
||||||
|
"collapsible": 0,
|
||||||
|
"columns": 0,
|
||||||
|
"fieldname": "amended_from",
|
||||||
|
"fieldtype": "Link",
|
||||||
|
"hidden": 0,
|
||||||
|
"ignore_user_permissions": 0,
|
||||||
|
"ignore_xss_filter": 0,
|
||||||
|
"in_filter": 0,
|
||||||
|
"in_global_search": 0,
|
||||||
|
"in_list_view": 0,
|
||||||
|
"in_standard_filter": 0,
|
||||||
|
"label": "Amended From",
|
||||||
|
"length": 0,
|
||||||
|
"no_copy": 1,
|
||||||
|
"options": "Supplier Scorecard Period",
|
||||||
|
"permlevel": 0,
|
||||||
|
"print_hide": 1,
|
||||||
|
"print_hide_if_no_value": 0,
|
||||||
|
"read_only": 1,
|
||||||
|
"remember_last_selected_value": 0,
|
||||||
|
"report_hide": 0,
|
||||||
|
"reqd": 0,
|
||||||
|
"search_index": 0,
|
||||||
|
"set_only_once": 0,
|
||||||
"unique": 0
|
"unique": 0
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"has_web_view": 0,
|
"has_web_view": 0,
|
||||||
"hide_heading": 0,
|
"hide_heading": 0,
|
||||||
"hide_toolbar": 0,
|
"hide_toolbar": 0,
|
||||||
"idx": 0,
|
"idx": 0,
|
||||||
"image_view": 0,
|
"image_view": 0,
|
||||||
"in_create": 1,
|
"in_create": 1,
|
||||||
"is_submittable": 0,
|
"is_submittable": 1,
|
||||||
"issingle": 0,
|
"issingle": 0,
|
||||||
"istable": 0,
|
"istable": 0,
|
||||||
"max_attachments": 0,
|
"max_attachments": 0,
|
||||||
"modified": "2018-08-21 14:44:36.438832",
|
"modified": "2019-01-23 13:58:26.137770",
|
||||||
"modified_by": "Administrator",
|
"modified_by": "Administrator",
|
||||||
"module": "Buying",
|
"module": "Buying",
|
||||||
"name": "Supplier Scorecard Period",
|
"name": "Supplier Scorecard Period",
|
||||||
"name_case": "",
|
"name_case": "",
|
||||||
"owner": "Administrator",
|
"owner": "Administrator",
|
||||||
"permissions": [
|
"permissions": [
|
||||||
{
|
{
|
||||||
"amend": 0,
|
"amend": 0,
|
||||||
"cancel": 0,
|
"cancel": 1,
|
||||||
"create": 1,
|
"create": 1,
|
||||||
"delete": 1,
|
"delete": 1,
|
||||||
"email": 1,
|
"email": 1,
|
||||||
"export": 1,
|
"export": 1,
|
||||||
"if_owner": 0,
|
"if_owner": 0,
|
||||||
"import": 0,
|
"import": 0,
|
||||||
"permlevel": 0,
|
"permlevel": 0,
|
||||||
"print": 1,
|
"print": 1,
|
||||||
"read": 1,
|
"read": 1,
|
||||||
"report": 1,
|
"report": 1,
|
||||||
"role": "System Manager",
|
"role": "System Manager",
|
||||||
"set_user_permissions": 0,
|
"set_user_permissions": 0,
|
||||||
"share": 1,
|
"share": 1,
|
||||||
"submit": 0,
|
"submit": 1,
|
||||||
"write": 1
|
"write": 1
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"quick_entry": 0,
|
"quick_entry": 0,
|
||||||
"read_only": 0,
|
"read_only": 0,
|
||||||
"read_only_onload": 0,
|
"read_only_onload": 0,
|
||||||
"show_name_in_global_search": 0,
|
"show_name_in_global_search": 0,
|
||||||
"sort_field": "modified",
|
"sort_field": "modified",
|
||||||
"sort_order": "DESC",
|
"sort_order": "DESC",
|
||||||
"track_changes": 0,
|
"track_changes": 0,
|
||||||
"track_seen": 0,
|
"track_seen": 0,
|
||||||
"track_views": 0
|
"track_views": 0
|
||||||
}
|
}
|
@ -8,6 +8,7 @@ from frappe import throw, _
|
|||||||
from frappe.model.document import Document
|
from frappe.model.document import Document
|
||||||
from frappe.model.mapper import get_mapped_doc
|
from frappe.model.mapper import get_mapped_doc
|
||||||
import erpnext.buying.doctype.supplier_scorecard_variable.supplier_scorecard_variable as variable_functions
|
import erpnext.buying.doctype.supplier_scorecard_variable.supplier_scorecard_variable as variable_functions
|
||||||
|
from erpnext.buying.doctype.supplier_scorecard_criteria.supplier_scorecard_criteria import get_variables
|
||||||
|
|
||||||
class SupplierScorecardPeriod(Document):
|
class SupplierScorecardPeriod(Document):
|
||||||
|
|
||||||
@ -28,7 +29,6 @@ class SupplierScorecardPeriod(Document):
|
|||||||
|
|
||||||
def calculate_variables(self):
|
def calculate_variables(self):
|
||||||
for var in self.variables:
|
for var in self.variables:
|
||||||
|
|
||||||
if '.' in var.path:
|
if '.' in var.path:
|
||||||
method_to_call = import_string_path(var.path)
|
method_to_call = import_string_path(var.path)
|
||||||
var.value = method_to_call(self)
|
var.value = method_to_call(self)
|
||||||
@ -39,29 +39,9 @@ class SupplierScorecardPeriod(Document):
|
|||||||
|
|
||||||
|
|
||||||
def calculate_criteria(self):
|
def calculate_criteria(self):
|
||||||
#Get the criteria
|
|
||||||
for crit in self.criteria:
|
for crit in self.criteria:
|
||||||
|
|
||||||
#me = ""
|
|
||||||
my_eval_statement = crit.formula.replace("\r", "").replace("\n", "")
|
|
||||||
#for let in my_eval_statement:
|
|
||||||
# me += let.encode('hex') + " "
|
|
||||||
#frappe.msgprint(me)
|
|
||||||
|
|
||||||
for var in self.variables:
|
|
||||||
if var.value:
|
|
||||||
if var.param_name in my_eval_statement:
|
|
||||||
my_eval_statement = my_eval_statement.replace('{' + var.param_name + '}', "{:.2f}".format(var.value))
|
|
||||||
else:
|
|
||||||
if var.param_name in my_eval_statement:
|
|
||||||
my_eval_statement = my_eval_statement.replace('{' + var.param_name + '}', '0.0')
|
|
||||||
|
|
||||||
#frappe.msgprint(my_eval_statement )
|
|
||||||
|
|
||||||
my_eval_statement = my_eval_statement.replace('<','<').replace('>','>')
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
crit.score = min(crit.max_score, max( 0 ,frappe.safe_eval(my_eval_statement, None, {'max':max, 'min': min})))
|
crit.score = min(crit.max_score, max( 0 ,frappe.safe_eval(self.get_eval_statement(crit.formula), None, {'max':max, 'min': min})))
|
||||||
except Exception:
|
except Exception:
|
||||||
frappe.throw(_("Could not solve criteria score function for {0}. Make sure the formula is valid.".format(crit.criteria_name)),frappe.ValidationError)
|
frappe.throw(_("Could not solve criteria score function for {0}. Make sure the formula is valid.".format(crit.criteria_name)),frappe.ValidationError)
|
||||||
crit.score = 0
|
crit.score = 0
|
||||||
@ -73,26 +53,27 @@ class SupplierScorecardPeriod(Document):
|
|||||||
self.total_score = myscore
|
self.total_score = myscore
|
||||||
|
|
||||||
def calculate_weighted_score(self, weighing_function):
|
def calculate_weighted_score(self, weighing_function):
|
||||||
my_eval_statement = weighing_function.replace("\r", "").replace("\n", "")
|
|
||||||
|
|
||||||
for var in self.variables:
|
|
||||||
if var.value:
|
|
||||||
if var.param_name in my_eval_statement:
|
|
||||||
my_eval_statement = my_eval_statement.replace('{' + var.param_name + '}', "{:.2f}".format(var.value))
|
|
||||||
else:
|
|
||||||
if var.param_name in my_eval_statement:
|
|
||||||
my_eval_statement = my_eval_statement.replace('{' + var.param_name + '}', '0.0')
|
|
||||||
|
|
||||||
my_eval_statement = my_eval_statement.replace('<','<').replace('>','>')
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
weighed_score = frappe.safe_eval(my_eval_statement, None, {'max':max, 'min': min})
|
weighed_score = frappe.safe_eval(self.get_eval_statement(weighing_function), None, {'max':max, 'min': min})
|
||||||
except Exception:
|
except Exception:
|
||||||
frappe.throw(_("Could not solve weighted score function. Make sure the formula is valid."),frappe.ValidationError)
|
frappe.throw(_("Could not solve weighted score function. Make sure the formula is valid."),frappe.ValidationError)
|
||||||
weighed_score = 0
|
weighed_score = 0
|
||||||
return weighed_score
|
return weighed_score
|
||||||
|
|
||||||
|
|
||||||
|
def get_eval_statement(self, formula):
|
||||||
|
my_eval_statement = formula.replace("\r", "").replace("\n", "")
|
||||||
|
|
||||||
|
for var in self.variables:
|
||||||
|
if var.value:
|
||||||
|
if var.param_name in my_eval_statement:
|
||||||
|
my_eval_statement = my_eval_statement.replace('{' + var.param_name + '}', "{:.2f}".format(var.value))
|
||||||
|
else:
|
||||||
|
if var.param_name in my_eval_statement:
|
||||||
|
my_eval_statement = my_eval_statement.replace('{' + var.param_name + '}', '0.0')
|
||||||
|
|
||||||
|
return my_eval_statement
|
||||||
|
|
||||||
|
|
||||||
def import_string_path(path):
|
def import_string_path(path):
|
||||||
components = path.split('.')
|
components = path.split('.')
|
||||||
@ -102,30 +83,28 @@ def import_string_path(path):
|
|||||||
return mod
|
return mod
|
||||||
|
|
||||||
|
|
||||||
def post_process(source, target):
|
|
||||||
pass
|
|
||||||
|
|
||||||
|
|
||||||
@frappe.whitelist()
|
@frappe.whitelist()
|
||||||
def make_supplier_scorecard(source_name, target_doc=None):
|
def make_supplier_scorecard(source_name, target_doc=None):
|
||||||
#def update_item(obj, target, source_parent):
|
def update_criteria_fields(obj, target, source_parent):
|
||||||
# target.qty = flt(obj.qty) - flt(obj.received_qty)
|
target.max_score, target.formula = frappe.db.get_value('Supplier Scorecard Criteria',
|
||||||
# target.stock_qty = (flt(obj.qty) - flt(obj.received_qty)) * flt(obj.conversion_factor)
|
obj.criteria_name, ['max_score', 'formula'])
|
||||||
# target.amount = (flt(obj.qty) - flt(obj.received_qty)) * flt(obj.rate)
|
|
||||||
# target.base_amount = (flt(obj.qty) - flt(obj.received_qty)) * \
|
def post_process(source, target):
|
||||||
# flt(obj.rate) * flt(source_parent.conversion_rate)
|
variables = []
|
||||||
|
for cr in target.criteria:
|
||||||
|
for var in get_variables(cr.criteria_name):
|
||||||
|
if var not in variables:
|
||||||
|
variables.append(var)
|
||||||
|
|
||||||
|
target.extend('variables', variables)
|
||||||
|
|
||||||
doc = get_mapped_doc("Supplier Scorecard", source_name, {
|
doc = get_mapped_doc("Supplier Scorecard", source_name, {
|
||||||
"Supplier Scorecard": {
|
"Supplier Scorecard": {
|
||||||
"doctype": "Supplier Scorecard Period"
|
"doctype": "Supplier Scorecard Period"
|
||||||
},
|
},
|
||||||
"Supplier Scorecard Scoring Variable": {
|
"Supplier Scorecard Scoring Criteria": {
|
||||||
"doctype": "Supplier Scorecard Scoring Variable",
|
"doctype": "Supplier Scorecard Scoring Criteria",
|
||||||
"add_if_empty": True
|
"postprocess": update_criteria_fields,
|
||||||
},
|
|
||||||
"Supplier Scorecard Scoring Constraint": {
|
|
||||||
"doctype": "Supplier Scorecard Scoring Constraint",
|
|
||||||
"add_if_empty": True
|
|
||||||
}
|
}
|
||||||
}, target_doc, post_process)
|
}, target_doc, post_process)
|
||||||
|
|
||||||
|
@ -1,280 +1,252 @@
|
|||||||
{
|
{
|
||||||
"allow_copy": 0,
|
"allow_copy": 0,
|
||||||
"allow_guest_to_view": 0,
|
"allow_guest_to_view": 0,
|
||||||
"allow_import": 0,
|
"allow_import": 0,
|
||||||
"allow_rename": 0,
|
"allow_rename": 0,
|
||||||
"beta": 1,
|
"beta": 0,
|
||||||
"creation": "2017-05-29 01:32:17.988454",
|
"creation": "2017-05-29 01:32:17.988454",
|
||||||
"custom": 0,
|
"custom": 0,
|
||||||
"docstatus": 0,
|
"docstatus": 0,
|
||||||
"doctype": "DocType",
|
"doctype": "DocType",
|
||||||
"document_type": "",
|
"document_type": "",
|
||||||
"editable_grid": 1,
|
"editable_grid": 1,
|
||||||
"engine": "InnoDB",
|
"engine": "InnoDB",
|
||||||
"fields": [
|
"fields": [
|
||||||
{
|
{
|
||||||
"allow_bulk_edit": 0,
|
"allow_bulk_edit": 0,
|
||||||
"allow_on_submit": 0,
|
"allow_on_submit": 0,
|
||||||
"bold": 0,
|
"bold": 0,
|
||||||
"collapsible": 0,
|
"collapsible": 0,
|
||||||
"columns": 3,
|
"columns": 5,
|
||||||
"fieldname": "criteria_name",
|
"fieldname": "criteria_name",
|
||||||
"fieldtype": "Link",
|
"fieldtype": "Link",
|
||||||
"hidden": 0,
|
"hidden": 0,
|
||||||
"ignore_user_permissions": 0,
|
"ignore_user_permissions": 0,
|
||||||
"ignore_xss_filter": 0,
|
"ignore_xss_filter": 0,
|
||||||
"in_filter": 0,
|
"in_filter": 0,
|
||||||
"in_global_search": 0,
|
"in_global_search": 0,
|
||||||
"in_list_view": 1,
|
"in_list_view": 1,
|
||||||
"in_standard_filter": 0,
|
"in_standard_filter": 0,
|
||||||
"label": "Criteria Name",
|
"label": "Criteria Name",
|
||||||
"length": 0,
|
"length": 0,
|
||||||
"no_copy": 0,
|
"no_copy": 0,
|
||||||
"options": "Supplier Scorecard Criteria",
|
"options": "Supplier Scorecard Criteria",
|
||||||
"permlevel": 0,
|
"permlevel": 0,
|
||||||
"precision": "",
|
"precision": "",
|
||||||
"print_hide": 0,
|
"print_hide": 0,
|
||||||
"print_hide_if_no_value": 0,
|
"print_hide_if_no_value": 0,
|
||||||
"read_only": 0,
|
"read_only": 0,
|
||||||
"remember_last_selected_value": 0,
|
"remember_last_selected_value": 0,
|
||||||
"report_hide": 0,
|
"report_hide": 0,
|
||||||
"reqd": 1,
|
"reqd": 1,
|
||||||
"search_index": 0,
|
"search_index": 0,
|
||||||
"set_only_once": 0,
|
"set_only_once": 0,
|
||||||
"unique": 0
|
"unique": 0
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"allow_bulk_edit": 0,
|
"allow_bulk_edit": 0,
|
||||||
"allow_on_submit": 0,
|
"allow_on_submit": 0,
|
||||||
"bold": 0,
|
"bold": 0,
|
||||||
"collapsible": 0,
|
"collapsible": 0,
|
||||||
"columns": 0,
|
"columns": 2,
|
||||||
"fieldname": "section_break_2",
|
"fieldname": "score",
|
||||||
"fieldtype": "Section Break",
|
"fieldtype": "Percent",
|
||||||
"hidden": 0,
|
"hidden": 1,
|
||||||
"ignore_user_permissions": 0,
|
"ignore_user_permissions": 0,
|
||||||
"ignore_xss_filter": 0,
|
"ignore_xss_filter": 0,
|
||||||
"in_filter": 0,
|
"in_filter": 0,
|
||||||
"in_global_search": 0,
|
"in_global_search": 0,
|
||||||
"in_list_view": 0,
|
"in_list_view": 1,
|
||||||
"in_standard_filter": 0,
|
"in_standard_filter": 0,
|
||||||
"length": 0,
|
"label": "Score",
|
||||||
"no_copy": 0,
|
"length": 0,
|
||||||
"permlevel": 0,
|
"no_copy": 0,
|
||||||
"precision": "",
|
"permlevel": 0,
|
||||||
"print_hide": 0,
|
"precision": "",
|
||||||
"print_hide_if_no_value": 0,
|
"print_hide": 0,
|
||||||
"read_only": 0,
|
"print_hide_if_no_value": 0,
|
||||||
"remember_last_selected_value": 0,
|
"read_only": 1,
|
||||||
"report_hide": 0,
|
"remember_last_selected_value": 0,
|
||||||
"reqd": 0,
|
"report_hide": 0,
|
||||||
"search_index": 0,
|
"reqd": 0,
|
||||||
"set_only_once": 0,
|
"search_index": 0,
|
||||||
|
"set_only_once": 0,
|
||||||
"unique": 0
|
"unique": 0
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"allow_bulk_edit": 0,
|
"allow_bulk_edit": 0,
|
||||||
"allow_on_submit": 0,
|
"allow_on_submit": 0,
|
||||||
"bold": 0,
|
"bold": 0,
|
||||||
"collapsible": 0,
|
"collapsible": 0,
|
||||||
"columns": 2,
|
"columns": 0,
|
||||||
"fieldname": "weight",
|
"fieldname": "column_break_4",
|
||||||
"fieldtype": "Percent",
|
"fieldtype": "Column Break",
|
||||||
"hidden": 0,
|
"hidden": 0,
|
||||||
"ignore_user_permissions": 0,
|
"ignore_user_permissions": 0,
|
||||||
"ignore_xss_filter": 0,
|
"ignore_xss_filter": 0,
|
||||||
"in_filter": 0,
|
"in_filter": 0,
|
||||||
"in_global_search": 0,
|
"in_global_search": 0,
|
||||||
"in_list_view": 1,
|
"in_list_view": 0,
|
||||||
"in_standard_filter": 0,
|
"in_standard_filter": 0,
|
||||||
"label": "Criteria Weight",
|
"length": 0,
|
||||||
"length": 0,
|
"no_copy": 0,
|
||||||
"no_copy": 0,
|
"permlevel": 0,
|
||||||
"permlevel": 0,
|
"precision": "",
|
||||||
"precision": "",
|
"print_hide": 0,
|
||||||
"print_hide": 0,
|
"print_hide_if_no_value": 0,
|
||||||
"print_hide_if_no_value": 0,
|
"read_only": 0,
|
||||||
"read_only": 0,
|
"remember_last_selected_value": 0,
|
||||||
"remember_last_selected_value": 0,
|
"report_hide": 0,
|
||||||
"report_hide": 0,
|
"reqd": 0,
|
||||||
"reqd": 1,
|
"search_index": 0,
|
||||||
"search_index": 0,
|
"set_only_once": 0,
|
||||||
"set_only_once": 0,
|
|
||||||
"unique": 0
|
"unique": 0
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"allow_bulk_edit": 0,
|
"allow_bulk_edit": 0,
|
||||||
"allow_on_submit": 0,
|
"allow_on_submit": 0,
|
||||||
"bold": 0,
|
"bold": 0,
|
||||||
"collapsible": 0,
|
"collapsible": 0,
|
||||||
"columns": 0,
|
"columns": 2,
|
||||||
"fieldname": "column_break_4",
|
"fieldname": "weight",
|
||||||
"fieldtype": "Column Break",
|
"fieldtype": "Percent",
|
||||||
"hidden": 0,
|
"hidden": 0,
|
||||||
"ignore_user_permissions": 0,
|
"ignore_user_permissions": 0,
|
||||||
"ignore_xss_filter": 0,
|
"ignore_xss_filter": 0,
|
||||||
"in_filter": 0,
|
"in_filter": 0,
|
||||||
"in_global_search": 0,
|
"in_global_search": 0,
|
||||||
"in_list_view": 0,
|
"in_list_view": 1,
|
||||||
"in_standard_filter": 0,
|
"in_standard_filter": 0,
|
||||||
"length": 0,
|
"label": "Criteria Weight",
|
||||||
"no_copy": 0,
|
"length": 0,
|
||||||
"permlevel": 0,
|
"no_copy": 0,
|
||||||
"precision": "",
|
"options": "",
|
||||||
"print_hide": 0,
|
"permlevel": 0,
|
||||||
"print_hide_if_no_value": 0,
|
"precision": "",
|
||||||
"read_only": 0,
|
"print_hide": 0,
|
||||||
"remember_last_selected_value": 0,
|
"print_hide_if_no_value": 0,
|
||||||
"report_hide": 0,
|
"read_only": 0,
|
||||||
"reqd": 0,
|
"remember_last_selected_value": 0,
|
||||||
"search_index": 0,
|
"report_hide": 0,
|
||||||
"set_only_once": 0,
|
"reqd": 1,
|
||||||
|
"search_index": 0,
|
||||||
|
"set_only_once": 0,
|
||||||
"unique": 0
|
"unique": 0
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"allow_bulk_edit": 0,
|
"allow_bulk_edit": 0,
|
||||||
"allow_on_submit": 0,
|
"allow_on_submit": 0,
|
||||||
"bold": 0,
|
"bold": 0,
|
||||||
"collapsible": 0,
|
"collapsible": 0,
|
||||||
"columns": 0,
|
"columns": 0,
|
||||||
"default": "100",
|
"default": "100",
|
||||||
"fieldname": "max_score",
|
"fieldname": "max_score",
|
||||||
"fieldtype": "Float",
|
"fieldtype": "Float",
|
||||||
"hidden": 0,
|
"hidden": 1,
|
||||||
"ignore_user_permissions": 0,
|
"ignore_user_permissions": 0,
|
||||||
"ignore_xss_filter": 0,
|
"ignore_xss_filter": 0,
|
||||||
"in_filter": 0,
|
"in_filter": 0,
|
||||||
"in_global_search": 0,
|
"in_global_search": 0,
|
||||||
"in_list_view": 0,
|
"in_list_view": 0,
|
||||||
"in_standard_filter": 0,
|
"in_standard_filter": 0,
|
||||||
"label": "Max Score",
|
"label": "Max Score",
|
||||||
"length": 0,
|
"length": 0,
|
||||||
"no_copy": 0,
|
"no_copy": 0,
|
||||||
"permlevel": 0,
|
"permlevel": 0,
|
||||||
"precision": "",
|
"precision": "",
|
||||||
"print_hide": 0,
|
"print_hide": 0,
|
||||||
"print_hide_if_no_value": 0,
|
"print_hide_if_no_value": 0,
|
||||||
"read_only": 0,
|
"read_only": 1,
|
||||||
"remember_last_selected_value": 0,
|
"remember_last_selected_value": 0,
|
||||||
"report_hide": 0,
|
"report_hide": 0,
|
||||||
"reqd": 0,
|
"reqd": 0,
|
||||||
"search_index": 0,
|
"search_index": 0,
|
||||||
"set_only_once": 0,
|
"set_only_once": 0,
|
||||||
"unique": 0
|
"unique": 0
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"allow_bulk_edit": 0,
|
"allow_bulk_edit": 0,
|
||||||
"allow_on_submit": 0,
|
"allow_on_submit": 0,
|
||||||
"bold": 0,
|
"bold": 0,
|
||||||
"collapsible": 0,
|
"collapsible": 0,
|
||||||
"columns": 0,
|
"columns": 0,
|
||||||
"fieldname": "section_break_6",
|
"fieldname": "section_break_6",
|
||||||
"fieldtype": "Section Break",
|
"fieldtype": "Section Break",
|
||||||
"hidden": 0,
|
"hidden": 0,
|
||||||
"ignore_user_permissions": 0,
|
"ignore_user_permissions": 0,
|
||||||
"ignore_xss_filter": 0,
|
"ignore_xss_filter": 0,
|
||||||
"in_filter": 0,
|
"in_filter": 0,
|
||||||
"in_global_search": 0,
|
"in_global_search": 0,
|
||||||
"in_list_view": 0,
|
"in_list_view": 0,
|
||||||
"in_standard_filter": 0,
|
"in_standard_filter": 0,
|
||||||
"length": 0,
|
"length": 0,
|
||||||
"no_copy": 0,
|
"no_copy": 0,
|
||||||
"permlevel": 0,
|
"permlevel": 0,
|
||||||
"precision": "",
|
"precision": "",
|
||||||
"print_hide": 0,
|
"print_hide": 0,
|
||||||
"print_hide_if_no_value": 0,
|
"print_hide_if_no_value": 0,
|
||||||
"read_only": 0,
|
"read_only": 0,
|
||||||
"remember_last_selected_value": 0,
|
"remember_last_selected_value": 0,
|
||||||
"report_hide": 0,
|
"report_hide": 0,
|
||||||
"reqd": 0,
|
"reqd": 0,
|
||||||
"search_index": 0,
|
"search_index": 0,
|
||||||
"set_only_once": 0,
|
"set_only_once": 0,
|
||||||
"unique": 0
|
"unique": 0
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"allow_bulk_edit": 0,
|
"allow_bulk_edit": 0,
|
||||||
"allow_on_submit": 0,
|
"allow_on_submit": 0,
|
||||||
"bold": 0,
|
"bold": 0,
|
||||||
"collapsible": 0,
|
"collapsible": 0,
|
||||||
"columns": 0,
|
"columns": 0,
|
||||||
"fieldname": "formula",
|
"fieldname": "formula",
|
||||||
"fieldtype": "Small Text",
|
"fieldtype": "Small Text",
|
||||||
"hidden": 0,
|
"hidden": 1,
|
||||||
"ignore_user_permissions": 0,
|
"ignore_user_permissions": 0,
|
||||||
"ignore_xss_filter": 0,
|
"ignore_xss_filter": 1,
|
||||||
"in_filter": 0,
|
"in_filter": 0,
|
||||||
"in_global_search": 0,
|
"in_global_search": 0,
|
||||||
"in_list_view": 0,
|
"in_list_view": 0,
|
||||||
"in_standard_filter": 0,
|
"in_standard_filter": 0,
|
||||||
"label": "Criteria Formula",
|
"label": "Criteria Formula",
|
||||||
"length": 0,
|
"length": 0,
|
||||||
"no_copy": 0,
|
"no_copy": 0,
|
||||||
"permlevel": 0,
|
"permlevel": 0,
|
||||||
"precision": "",
|
"precision": "",
|
||||||
"print_hide": 0,
|
"print_hide": 0,
|
||||||
"print_hide_if_no_value": 0,
|
"print_hide_if_no_value": 0,
|
||||||
"read_only": 0,
|
"read_only": 1,
|
||||||
"remember_last_selected_value": 0,
|
"remember_last_selected_value": 0,
|
||||||
"report_hide": 0,
|
"report_hide": 0,
|
||||||
"reqd": 1,
|
"reqd": 0,
|
||||||
"search_index": 0,
|
"search_index": 0,
|
||||||
"set_only_once": 0,
|
"set_only_once": 0,
|
||||||
"unique": 0
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"allow_bulk_edit": 0,
|
|
||||||
"allow_on_submit": 0,
|
|
||||||
"bold": 0,
|
|
||||||
"collapsible": 0,
|
|
||||||
"columns": 0,
|
|
||||||
"fieldname": "score",
|
|
||||||
"fieldtype": "Percent",
|
|
||||||
"hidden": 1,
|
|
||||||
"ignore_user_permissions": 0,
|
|
||||||
"ignore_xss_filter": 0,
|
|
||||||
"in_filter": 0,
|
|
||||||
"in_global_search": 0,
|
|
||||||
"in_list_view": 1,
|
|
||||||
"in_standard_filter": 0,
|
|
||||||
"label": "Score",
|
|
||||||
"length": 0,
|
|
||||||
"no_copy": 0,
|
|
||||||
"permlevel": 0,
|
|
||||||
"precision": "",
|
|
||||||
"print_hide": 0,
|
|
||||||
"print_hide_if_no_value": 0,
|
|
||||||
"read_only": 0,
|
|
||||||
"remember_last_selected_value": 0,
|
|
||||||
"report_hide": 0,
|
|
||||||
"reqd": 0,
|
|
||||||
"search_index": 0,
|
|
||||||
"set_only_once": 0,
|
|
||||||
"unique": 0
|
"unique": 0
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"has_web_view": 0,
|
"has_web_view": 0,
|
||||||
"hide_heading": 0,
|
"hide_heading": 0,
|
||||||
"hide_toolbar": 0,
|
"hide_toolbar": 0,
|
||||||
"idx": 0,
|
"idx": 0,
|
||||||
"image_view": 0,
|
"image_view": 0,
|
||||||
"in_create": 0,
|
"in_create": 0,
|
||||||
"is_submittable": 0,
|
"is_submittable": 0,
|
||||||
"issingle": 0,
|
"issingle": 0,
|
||||||
"istable": 1,
|
"istable": 1,
|
||||||
"max_attachments": 0,
|
"max_attachments": 0,
|
||||||
"modified": "2017-07-12 07:33:41.532361",
|
"modified": "2019-01-23 13:49:13.350095",
|
||||||
"modified_by": "Administrator",
|
"modified_by": "Administrator",
|
||||||
"module": "Buying",
|
"module": "Buying",
|
||||||
"name": "Supplier Scorecard Scoring Criteria",
|
"name": "Supplier Scorecard Scoring Criteria",
|
||||||
"name_case": "",
|
"name_case": "",
|
||||||
"owner": "Administrator",
|
"owner": "Administrator",
|
||||||
"permissions": [],
|
"permissions": [],
|
||||||
"quick_entry": 1,
|
"quick_entry": 1,
|
||||||
"read_only": 0,
|
"read_only": 0,
|
||||||
"read_only_onload": 0,
|
"read_only_onload": 0,
|
||||||
"show_name_in_global_search": 0,
|
"show_name_in_global_search": 0,
|
||||||
"sort_field": "modified",
|
"sort_field": "modified",
|
||||||
"sort_order": "DESC",
|
"sort_order": "DESC",
|
||||||
"track_changes": 1,
|
"track_changes": 1,
|
||||||
"track_seen": 0
|
"track_seen": 0
|
||||||
}
|
}
|
@ -3,7 +3,7 @@
|
|||||||
"allow_guest_to_view": 0,
|
"allow_guest_to_view": 0,
|
||||||
"allow_import": 0,
|
"allow_import": 0,
|
||||||
"allow_rename": 0,
|
"allow_rename": 0,
|
||||||
"beta": 1,
|
"beta": 0,
|
||||||
"creation": "2017-05-29 01:36:22.697234",
|
"creation": "2017-05-29 01:36:22.697234",
|
||||||
"custom": 0,
|
"custom": 0,
|
||||||
"docstatus": 0,
|
"docstatus": 0,
|
||||||
@ -473,7 +473,7 @@
|
|||||||
"issingle": 0,
|
"issingle": 0,
|
||||||
"istable": 1,
|
"istable": 1,
|
||||||
"max_attachments": 0,
|
"max_attachments": 0,
|
||||||
"modified": "2017-07-12 07:33:20.615684",
|
"modified": "2019-01-22 10:47:41.146704",
|
||||||
"modified_by": "Administrator",
|
"modified_by": "Administrator",
|
||||||
"module": "Buying",
|
"module": "Buying",
|
||||||
"name": "Supplier Scorecard Scoring Standing",
|
"name": "Supplier Scorecard Scoring Standing",
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
"allow_guest_to_view": 0,
|
"allow_guest_to_view": 0,
|
||||||
"allow_import": 0,
|
"allow_import": 0,
|
||||||
"allow_rename": 0,
|
"allow_rename": 0,
|
||||||
"beta": 1,
|
"beta": 0,
|
||||||
"creation": "2017-05-29 01:30:06.105240",
|
"creation": "2017-05-29 01:30:06.105240",
|
||||||
"custom": 0,
|
"custom": 0,
|
||||||
"docstatus": 0,
|
"docstatus": 0,
|
||||||
@ -35,7 +35,7 @@
|
|||||||
"precision": "",
|
"precision": "",
|
||||||
"print_hide": 0,
|
"print_hide": 0,
|
||||||
"print_hide_if_no_value": 0,
|
"print_hide_if_no_value": 0,
|
||||||
"read_only": 0,
|
"read_only": 1,
|
||||||
"remember_last_selected_value": 0,
|
"remember_last_selected_value": 0,
|
||||||
"report_hide": 0,
|
"report_hide": 0,
|
||||||
"reqd": 1,
|
"reqd": 1,
|
||||||
@ -65,7 +65,37 @@
|
|||||||
"precision": "",
|
"precision": "",
|
||||||
"print_hide": 0,
|
"print_hide": 0,
|
||||||
"print_hide_if_no_value": 0,
|
"print_hide_if_no_value": 0,
|
||||||
"read_only": 0,
|
"read_only": 1,
|
||||||
|
"remember_last_selected_value": 0,
|
||||||
|
"report_hide": 0,
|
||||||
|
"reqd": 0,
|
||||||
|
"search_index": 0,
|
||||||
|
"set_only_once": 0,
|
||||||
|
"unique": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"allow_bulk_edit": 0,
|
||||||
|
"allow_on_submit": 0,
|
||||||
|
"bold": 0,
|
||||||
|
"collapsible": 0,
|
||||||
|
"columns": 2,
|
||||||
|
"fieldname": "value",
|
||||||
|
"fieldtype": "Float",
|
||||||
|
"hidden": 0,
|
||||||
|
"ignore_user_permissions": 0,
|
||||||
|
"ignore_xss_filter": 0,
|
||||||
|
"in_filter": 0,
|
||||||
|
"in_global_search": 0,
|
||||||
|
"in_list_view": 1,
|
||||||
|
"in_standard_filter": 0,
|
||||||
|
"label": "Value",
|
||||||
|
"length": 0,
|
||||||
|
"no_copy": 0,
|
||||||
|
"permlevel": 0,
|
||||||
|
"precision": "",
|
||||||
|
"print_hide": 0,
|
||||||
|
"print_hide_if_no_value": 0,
|
||||||
|
"read_only": 1,
|
||||||
"remember_last_selected_value": 0,
|
"remember_last_selected_value": 0,
|
||||||
"report_hide": 0,
|
"report_hide": 0,
|
||||||
"reqd": 0,
|
"reqd": 0,
|
||||||
@ -73,36 +103,6 @@
|
|||||||
"set_only_once": 0,
|
"set_only_once": 0,
|
||||||
"unique": 0
|
"unique": 0
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"allow_bulk_edit": 0,
|
|
||||||
"allow_on_submit": 0,
|
|
||||||
"bold": 0,
|
|
||||||
"collapsible": 0,
|
|
||||||
"columns": 0,
|
|
||||||
"fieldname": "is_custom",
|
|
||||||
"fieldtype": "Check",
|
|
||||||
"hidden": 0,
|
|
||||||
"ignore_user_permissions": 0,
|
|
||||||
"ignore_xss_filter": 0,
|
|
||||||
"in_filter": 0,
|
|
||||||
"in_global_search": 0,
|
|
||||||
"in_list_view": 0,
|
|
||||||
"in_standard_filter": 0,
|
|
||||||
"label": "Custom?",
|
|
||||||
"length": 0,
|
|
||||||
"no_copy": 0,
|
|
||||||
"permlevel": 0,
|
|
||||||
"precision": "",
|
|
||||||
"print_hide": 0,
|
|
||||||
"print_hide_if_no_value": 0,
|
|
||||||
"read_only": 1,
|
|
||||||
"remember_last_selected_value": 0,
|
|
||||||
"report_hide": 0,
|
|
||||||
"reqd": 1,
|
|
||||||
"search_index": 0,
|
|
||||||
"set_only_once": 0,
|
|
||||||
"unique": 0
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"allow_bulk_edit": 0,
|
"allow_bulk_edit": 0,
|
||||||
"allow_on_submit": 0,
|
"allow_on_submit": 0,
|
||||||
@ -111,7 +111,7 @@
|
|||||||
"columns": 0,
|
"columns": 0,
|
||||||
"fieldname": "param_name",
|
"fieldname": "param_name",
|
||||||
"fieldtype": "Data",
|
"fieldtype": "Data",
|
||||||
"hidden": 0,
|
"hidden": 1,
|
||||||
"ignore_user_permissions": 0,
|
"ignore_user_permissions": 0,
|
||||||
"ignore_xss_filter": 0,
|
"ignore_xss_filter": 0,
|
||||||
"in_filter": 0,
|
"in_filter": 0,
|
||||||
@ -128,7 +128,7 @@
|
|||||||
"read_only": 1,
|
"read_only": 1,
|
||||||
"remember_last_selected_value": 0,
|
"remember_last_selected_value": 0,
|
||||||
"report_hide": 0,
|
"report_hide": 0,
|
||||||
"reqd": 1,
|
"reqd": 0,
|
||||||
"search_index": 0,
|
"search_index": 0,
|
||||||
"set_only_once": 0,
|
"set_only_once": 0,
|
||||||
"unique": 0
|
"unique": 0
|
||||||
@ -141,7 +141,7 @@
|
|||||||
"columns": 0,
|
"columns": 0,
|
||||||
"fieldname": "path",
|
"fieldname": "path",
|
||||||
"fieldtype": "Data",
|
"fieldtype": "Data",
|
||||||
"hidden": 0,
|
"hidden": 1,
|
||||||
"ignore_user_permissions": 0,
|
"ignore_user_permissions": 0,
|
||||||
"ignore_xss_filter": 0,
|
"ignore_xss_filter": 0,
|
||||||
"in_filter": 0,
|
"in_filter": 0,
|
||||||
@ -158,36 +158,6 @@
|
|||||||
"read_only": 1,
|
"read_only": 1,
|
||||||
"remember_last_selected_value": 0,
|
"remember_last_selected_value": 0,
|
||||||
"report_hide": 0,
|
"report_hide": 0,
|
||||||
"reqd": 1,
|
|
||||||
"search_index": 0,
|
|
||||||
"set_only_once": 0,
|
|
||||||
"unique": 0
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"allow_bulk_edit": 0,
|
|
||||||
"allow_on_submit": 0,
|
|
||||||
"bold": 0,
|
|
||||||
"collapsible": 0,
|
|
||||||
"columns": 2,
|
|
||||||
"fieldname": "value",
|
|
||||||
"fieldtype": "Float",
|
|
||||||
"hidden": 1,
|
|
||||||
"ignore_user_permissions": 0,
|
|
||||||
"ignore_xss_filter": 0,
|
|
||||||
"in_filter": 0,
|
|
||||||
"in_global_search": 0,
|
|
||||||
"in_list_view": 1,
|
|
||||||
"in_standard_filter": 0,
|
|
||||||
"label": "Value",
|
|
||||||
"length": 0,
|
|
||||||
"no_copy": 0,
|
|
||||||
"permlevel": 0,
|
|
||||||
"precision": "",
|
|
||||||
"print_hide": 0,
|
|
||||||
"print_hide_if_no_value": 0,
|
|
||||||
"read_only": 0,
|
|
||||||
"remember_last_selected_value": 0,
|
|
||||||
"report_hide": 0,
|
|
||||||
"reqd": 0,
|
"reqd": 0,
|
||||||
"search_index": 0,
|
"search_index": 0,
|
||||||
"set_only_once": 0,
|
"set_only_once": 0,
|
||||||
@ -204,7 +174,7 @@
|
|||||||
"issingle": 0,
|
"issingle": 0,
|
||||||
"istable": 1,
|
"istable": 1,
|
||||||
"max_attachments": 0,
|
"max_attachments": 0,
|
||||||
"modified": "2017-07-12 07:33:36.671502",
|
"modified": "2019-01-23 09:55:19.749828",
|
||||||
"modified_by": "Administrator",
|
"modified_by": "Administrator",
|
||||||
"module": "Buying",
|
"module": "Buying",
|
||||||
"name": "Supplier Scorecard Scoring Variable",
|
"name": "Supplier Scorecard Scoring Variable",
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
"allow_import": 0,
|
"allow_import": 0,
|
||||||
"allow_rename": 0,
|
"allow_rename": 0,
|
||||||
"autoname": "field:standing_name",
|
"autoname": "field:standing_name",
|
||||||
"beta": 1,
|
"beta": 0,
|
||||||
"creation": "2017-05-29 01:36:47.893639",
|
"creation": "2017-05-29 01:36:47.893639",
|
||||||
"custom": 0,
|
"custom": 0,
|
||||||
"docstatus": 0,
|
"docstatus": 0,
|
||||||
@ -385,7 +385,7 @@
|
|||||||
"issingle": 0,
|
"issingle": 0,
|
||||||
"istable": 0,
|
"istable": 0,
|
||||||
"max_attachments": 0,
|
"max_attachments": 0,
|
||||||
"modified": "2017-07-12 07:33:16.560273",
|
"modified": "2019-01-22 10:47:49.195421",
|
||||||
"modified_by": "Administrator",
|
"modified_by": "Administrator",
|
||||||
"module": "Buying",
|
"module": "Buying",
|
||||||
"name": "Supplier Scorecard Standing",
|
"name": "Supplier Scorecard Standing",
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
"allow_import": 0,
|
"allow_import": 0,
|
||||||
"allow_rename": 0,
|
"allow_rename": 0,
|
||||||
"autoname": "field:variable_label",
|
"autoname": "field:variable_label",
|
||||||
"beta": 1,
|
"beta": 0,
|
||||||
"creation": "2017-05-29 01:30:34.688389",
|
"creation": "2017-05-29 01:30:34.688389",
|
||||||
"custom": 0,
|
"custom": 0,
|
||||||
"docstatus": 0,
|
"docstatus": 0,
|
||||||
@ -101,7 +101,7 @@
|
|||||||
"reqd": 1,
|
"reqd": 1,
|
||||||
"search_index": 0,
|
"search_index": 0,
|
||||||
"set_only_once": 0,
|
"set_only_once": 0,
|
||||||
"unique": 0
|
"unique": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"allow_bulk_edit": 0,
|
"allow_bulk_edit": 0,
|
||||||
@ -203,7 +203,7 @@
|
|||||||
"issingle": 0,
|
"issingle": 0,
|
||||||
"istable": 0,
|
"istable": 0,
|
||||||
"max_attachments": 0,
|
"max_attachments": 0,
|
||||||
"modified": "2017-07-12 07:33:31.395262",
|
"modified": "2019-01-23 09:39:59.866398",
|
||||||
"modified_by": "Administrator",
|
"modified_by": "Administrator",
|
||||||
"module": "Buying",
|
"module": "Buying",
|
||||||
"name": "Supplier Scorecard Variable",
|
"name": "Supplier Scorecard Variable",
|
||||||
|
@ -27,13 +27,6 @@ class SupplierScorecardVariable(Document):
|
|||||||
if not hasattr(sys.modules[__name__], self.path):
|
if not hasattr(sys.modules[__name__], self.path):
|
||||||
frappe.throw(_("Could not find path for " + self.path), VariablePathNotFound)
|
frappe.throw(_("Could not find path for " + self.path), VariablePathNotFound)
|
||||||
|
|
||||||
|
|
||||||
@frappe.whitelist()
|
|
||||||
def get_scoring_variable(variable_label):
|
|
||||||
variable = frappe.get_doc("Supplier Scorecard Variable", variable_label)
|
|
||||||
|
|
||||||
return variable
|
|
||||||
|
|
||||||
def get_total_workdays(scorecard):
|
def get_total_workdays(scorecard):
|
||||||
""" Gets the number of days in this period"""
|
""" Gets the number of days in this period"""
|
||||||
delta = getdate(scorecard.end_date) - getdate(scorecard.start_date)
|
delta = getdate(scorecard.end_date) - getdate(scorecard.start_date)
|
||||||
|
@ -264,6 +264,9 @@ class AccountsController(TransactionBase):
|
|||||||
if item_qty != len(get_serial_nos(item.get('serial_no'))):
|
if item_qty != len(get_serial_nos(item.get('serial_no'))):
|
||||||
item.set(fieldname, value)
|
item.set(fieldname, value)
|
||||||
|
|
||||||
|
if self.doctype in ["Purchase Invoice", "Sales Invoice"] and item.meta.get_field('is_fixed_asset'):
|
||||||
|
item.set('is_fixed_asset', ret.get('is_fixed_asset', 0))
|
||||||
|
|
||||||
if ret.get("pricing_rule"):
|
if ret.get("pricing_rule"):
|
||||||
# if user changed the discount percentage then set user's discount percentage ?
|
# if user changed the discount percentage then set user's discount percentage ?
|
||||||
item.set("pricing_rule", ret.get("pricing_rule"))
|
item.set("pricing_rule", ret.get("pricing_rule"))
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -482,6 +482,7 @@ def payroll_entry_has_bank_entries(name):
|
|||||||
|
|
||||||
return response
|
return response
|
||||||
|
|
||||||
|
<<<<<<< HEAD
|
||||||
def create_salary_slips_for_employees(employees, args, publish_progress=True):
|
def create_salary_slips_for_employees(employees, args, publish_progress=True):
|
||||||
salary_slips_exists_for = get_existing_salary_slips(employees, args)
|
salary_slips_exists_for = get_existing_salary_slips(employees, args)
|
||||||
count=0
|
count=0
|
||||||
@ -546,4 +547,18 @@ def submit_salary_slips_for_employees(payroll_entry, salary_slips, publish_progr
|
|||||||
frappe.msgprint(_("No salary slip found to submit for the above selected criteria OR salary slip already submitted"))
|
frappe.msgprint(_("No salary slip found to submit for the above selected criteria OR salary slip already submitted"))
|
||||||
|
|
||||||
if not_submitted_ss:
|
if not_submitted_ss:
|
||||||
frappe.msgprint(_("Could not submit some Salary Slips"))
|
frappe.msgprint(_("Could not submit some Salary Slips"))
|
||||||
|
=======
|
||||||
|
def get_payroll_entries_for_jv(doctype, txt, searchfield, start, page_len, filters):
|
||||||
|
return frappe.db.sql("""
|
||||||
|
select name from `tabPayroll Entry`
|
||||||
|
where `{key}` LIKE %(txt)s
|
||||||
|
and name not in
|
||||||
|
(select reference_name from `tabJournal Entry Account`
|
||||||
|
where reference_type="Payroll Entry")
|
||||||
|
order by name limit %(start)s, %(page_len)s"""
|
||||||
|
.format(key=searchfield), {
|
||||||
|
'txt': "%%%s%%" % frappe.db.escape(txt),
|
||||||
|
'start': start, 'page_len': page_len
|
||||||
|
})
|
||||||
|
>>>>>>> master
|
||||||
|
@ -406,7 +406,7 @@ class SalarySlip(TransactionBase):
|
|||||||
if frappe.db.get_value('Timesheet', data.time_sheet, 'status') == 'Payrolled':
|
if frappe.db.get_value('Timesheet', data.time_sheet, 'status') == 'Payrolled':
|
||||||
frappe.throw(_("Salary Slip of employee {0} already created for time sheet {1}").format(self.employee, data.time_sheet))
|
frappe.throw(_("Salary Slip of employee {0} already created for time sheet {1}").format(self.employee, data.time_sheet))
|
||||||
|
|
||||||
def sum_components(self, component_type, total_field):
|
def sum_components(self, component_type, total_field, precision):
|
||||||
joining_date, relieving_date = frappe.db.get_value("Employee", self.employee,
|
joining_date, relieving_date = frappe.db.get_value("Employee", self.employee,
|
||||||
["date_of_joining", "relieving_date"])
|
["date_of_joining", "relieving_date"])
|
||||||
|
|
||||||
@ -426,7 +426,7 @@ class SalarySlip(TransactionBase):
|
|||||||
)):
|
)):
|
||||||
|
|
||||||
d.amount = rounded(
|
d.amount = rounded(
|
||||||
(flt(d.default_amount) * flt(self.payment_days)
|
(flt(d.default_amount, precision) * flt(self.payment_days)
|
||||||
/ cint(self.total_working_days)), self.precision("amount", component_type)
|
/ cint(self.total_working_days)), self.precision("amount", component_type)
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -436,19 +436,19 @@ class SalarySlip(TransactionBase):
|
|||||||
elif not d.amount:
|
elif not d.amount:
|
||||||
d.amount = d.default_amount
|
d.amount = d.default_amount
|
||||||
if not d.do_not_include_in_total:
|
if not d.do_not_include_in_total:
|
||||||
self.set(total_field, self.get(total_field) + flt(d.amount))
|
self.set(total_field, self.get(total_field) + flt(d.amount, precision))
|
||||||
|
|
||||||
def calculate_net_pay(self):
|
def calculate_net_pay(self):
|
||||||
if self.salary_structure:
|
if self.salary_structure:
|
||||||
self.calculate_component_amounts()
|
self.calculate_component_amounts()
|
||||||
|
|
||||||
disable_rounded_total = cint(frappe.db.get_value("Global Defaults", None, "disable_rounded_total"))
|
disable_rounded_total = cint(frappe.db.get_value("Global Defaults", None, "disable_rounded_total"))
|
||||||
|
precision = frappe.defaults.get_global_default("currency_precision")
|
||||||
self.total_deduction = 0
|
self.total_deduction = 0
|
||||||
self.gross_pay = 0
|
self.gross_pay = 0
|
||||||
|
|
||||||
self.sum_components('earnings', 'gross_pay')
|
self.sum_components('earnings', 'gross_pay', precision)
|
||||||
self.sum_components('deductions', 'total_deduction')
|
self.sum_components('deductions', 'total_deduction', precision)
|
||||||
|
|
||||||
self.set_loan_repayment()
|
self.set_loan_repayment()
|
||||||
|
|
||||||
|
@ -576,10 +576,11 @@ erpnext.patches.v11_0.ewaybill_fields_gst_india #2018-11-13 #2019-01-09
|
|||||||
erpnext.patches.v11_0.drop_column_max_days_allowed
|
erpnext.patches.v11_0.drop_column_max_days_allowed
|
||||||
erpnext.patches.v11_0.change_healthcare_desktop_icons
|
erpnext.patches.v11_0.change_healthcare_desktop_icons
|
||||||
erpnext.patches.v10_0.update_user_image_in_employee
|
erpnext.patches.v10_0.update_user_image_in_employee
|
||||||
erpnext.patches.v11_0.update_delivery_trip_status
|
|
||||||
erpnext.patches.v10_0.repost_gle_for_purchase_receipts_with_rejected_items
|
erpnext.patches.v10_0.repost_gle_for_purchase_receipts_with_rejected_items
|
||||||
|
erpnext.patches.v10_0.allow_operators_in_supplier_scorecard
|
||||||
|
erpnext.patches.v11_0.update_delivery_trip_status
|
||||||
erpnext.patches.v11_0.set_missing_gst_hsn_code
|
erpnext.patches.v11_0.set_missing_gst_hsn_code
|
||||||
erpnext.patches.v11_0.rename_bom_wo_fields
|
erpnext.patches.v11_0.rename_bom_wo_fields
|
||||||
erpnext.patches.v11_0.rename_additional_salary_component_additional_salary
|
erpnext.patches.v11_0.rename_additional_salary_component_additional_salary
|
||||||
erpnext.patches.v11_0.renamed_from_to_fields_in_project
|
erpnext.patches.v11_0.renamed_from_to_fields_in_project
|
||||||
erpnext.patches.v11_0.add_permissions_in_gst_settings
|
erpnext.patches.v11_0.add_permissions_in_gst_settings
|
||||||
|
@ -0,0 +1,23 @@
|
|||||||
|
# Copyright (c) 2019, Frappe and Contributors
|
||||||
|
# License: GNU General Public License v3. See license.txt
|
||||||
|
|
||||||
|
from __future__ import unicode_literals
|
||||||
|
import frappe
|
||||||
|
|
||||||
|
def execute():
|
||||||
|
frappe.reload_doc('buying', 'doctype', 'supplier_scorecard_criteria')
|
||||||
|
frappe.reload_doc('buying', 'doctype', 'supplier_scorecard_scoring_criteria')
|
||||||
|
frappe.reload_doc('buying', 'doctype', 'supplier_scorecard')
|
||||||
|
|
||||||
|
for criteria in frappe.get_all('Supplier Scorecard Criteria', fields=['name', 'formula'], limit_page_length=None):
|
||||||
|
frappe.db.set_value('Supplier Scorecard Criteria', criteria.name,
|
||||||
|
'formula', criteria.formula.replace('<','<').replace('>','>'))
|
||||||
|
|
||||||
|
for criteria in frappe.get_all('Supplier Scorecard Scoring Criteria', fields=['name', 'formula'], limit_page_length=None):
|
||||||
|
if criteria.formula: # not mandatory
|
||||||
|
frappe.db.set_value('Supplier Scorecard Scoring Criteria', criteria.name,
|
||||||
|
'formula', criteria.formula.replace('<','<').replace('>','>'))
|
||||||
|
|
||||||
|
for sc in frappe.get_all('Supplier Scorecard', fields=['name', 'weighting_function'], limit_page_length=None):
|
||||||
|
frappe.db.set_value('Supplier Scorecard', sc.name, 'weighting_function',
|
||||||
|
sc.weighting_function.replace('<','<').replace('>','>'))
|
@ -15,7 +15,7 @@ def send_message(subject="Website Query", message="", sender="", status="Open"):
|
|||||||
|
|
||||||
customer = frappe.db.sql("""select distinct dl.link_name from `tabDynamic Link` dl
|
customer = frappe.db.sql("""select distinct dl.link_name from `tabDynamic Link` dl
|
||||||
left join `tabContact` c on dl.parent=c.name where dl.link_doctype='Customer'
|
left join `tabContact` c on dl.parent=c.name where dl.link_doctype='Customer'
|
||||||
and c.email_id='{email_id}'""".format(email_id=sender))
|
and c.email_id = %s""", sender)
|
||||||
|
|
||||||
if not customer:
|
if not customer:
|
||||||
lead = frappe.db.get_value('Lead', dict(email_id=sender))
|
lead = frappe.db.get_value('Lead', dict(email_id=sender))
|
||||||
|
Loading…
Reference in New Issue
Block a user