def get_columns(filters): columns = [_(filters.get("budget_against")) + ":Link/%s:80"%(filters.get("budget_against")), _("Account") + ":Link/Account:80"] group_months = False if filters["period"] == "Monthly" else True fiscal_year = get_fiscal_years(filters) for year in fiscal_year: for from_date, to_date in get_period_date_ranges(filters["period"], year[0]): if filters["period"] == "Yearly": labels = [_("Budget") + " " + str(year[0]), _("Actual ") + " " + str(year[0]), _("Varaiance ") + " " + str(year[0])] for label in labels: columns.append(label+":Float:80") else: for label in [_("Budget") + " (%s)" + " " + str(year[0]), _("Actual") + " (%s)" + " " + str(year[0]), _("Variance") + " (%s)" + " " + str(year[0])]: if group_months: label = label % (formatdate(from_date, format_string="MMM") + "-" + formatdate(to_date, format_string="MMM")) else: label = label % formatdate(from_date, format_string="MMM") columns.append(label+":Float:80") if filters["period"] != "Yearly" : return columns + [_("Total Budget") + ":Float:80", _("Total Actual") + ":Float:80", _("Total Variance") + ":Float:80"] else: return columns
def get_columns(filters): for fieldname in ["fiscal_year", "period", "company"]: if not filters.get(fieldname): label = (" ".join(fieldname.split("_"))).title() msgprint(_("Please specify") + ": " + label, raise_exception=True) columns = [ _("Cost Center") + ":Link/Cost Center:120", _("Account") + ":Link/Account:120" ] group_months = False if filters["period"] == "Monthly" else True for from_date, to_date in get_period_date_ranges(filters["period"], filters["fiscal_year"]): for label in [ _("Target") + " (%s)", _("Actual") + " (%s)", _("Variance") + " (%s)" ]: if group_months: label = label % (formatdate(from_date, format_string="MMM") + " - " + formatdate(from_date, format_string="MMM")) else: label = label % formatdate(from_date, format_string="MMM") columns.append(label + ":Float:120") return columns + [ _("Total Target") + ":Float:120", _("Total Actual") + ":Float:120", _("Total Variance") + ":Float:120" ]
def get_columns(filters): columns = [ _(filters.get("budget_against")) + ":Link/%s:120" % (filters.get("budget_against")), _("Account") + ":Link/Account:120" ] group_months = False if filters["period"] == "Monthly" else True for from_date, to_date in get_period_date_ranges(filters["period"], filters["fiscal_year"]): for label in [ _("Target") + " (%s)", _("Actual") + " (%s)", _("Variance") + " (%s)" ]: if group_months: label = label % (formatdate(from_date, format_string="MMM") + " - " + formatdate(to_date, format_string="MMM")) else: label = label % formatdate(from_date, format_string="MMM") columns.append(label + ":Float:120") return columns + [ _("Total Target") + ":Float:120", _("Total Actual") + ":Float:120", _("Total Variance") + ":Float:120" ]
def get_columns(filters): for fieldname in ["fiscal_year", "period", "target_on"]: if not filters.get(fieldname): label = (" ".join(fieldname.split("_"))).title() msgprint(_("Please specify") + ": " + _(label), raise_exception=True) columns = [ _("Territory") + ":Link/Territory:120", _("Item Group") + ":Link/Item Group:120" ] group_months = False if filters["period"] == "Monthly" else True for from_date, to_date in get_period_date_ranges(filters["period"], filters["fiscal_year"]): for label in [ _("Target") + " (%s)", _("Achieved") + " (%s)", _("Variance") + " (%s)" ]: if group_months: label = label % (_(from_date.strftime("%b")) + " - " + _(to_date.strftime("%b"))) else: label = label % _(from_date.strftime("%b")) columns.append(label + ":Float:120") return columns + [ _("Total Target") + ":Float:120", _("Total Achieved") + ":Float:120", _("Total Variance") + ":Float:120" ]
def get_columns(filters): columns = [_(filters.get("budget_against")) + ":Link/%s:150"%(filters.get("budget_against")), _("Account") + ":Link/Account:150"] group_months = False if filters["period"] == "Monthly" else True fiscal_year = get_fiscal_years(filters) for year in fiscal_year: for from_date, to_date in get_period_date_ranges(filters["period"], year[0]): if filters["period"] == "Yearly": labels = [_("Budget") + " " + str(year[0]), _("Actual ") + " " + str(year[0]), _("Variance ") + " " + str(year[0])] for label in labels: columns.append(label+":Float:150") else: for label in [_("Budget") + " (%s)" + " " + str(year[0]), _("Actual") + " (%s)" + " " + str(year[0]), _("Variance") + " (%s)" + " " + str(year[0])]: if group_months: label = label % (formatdate(from_date, format_string="MMM") + "-" + formatdate(to_date, format_string="MMM")) else: label = label % formatdate(from_date, format_string="MMM") columns.append(label+":Float:150") if filters["period"] != "Yearly" : return columns + [_("Total Budget") + ":Float:150", _("Total Actual") + ":Float:150", _("Total Variance") + ":Float:150"] else: return columns
def get_chart_data(filters, columns, data): if not data: return None labels = [] fiscal_year = get_fiscal_years(filters) group_months = False if filters["period"] == "Monthly" else True for year in fiscal_year: for from_date, to_date in get_period_date_ranges( filters["period"], year[0]): if filters["period"] == "Yearly": labels.append(year[0]) else: if group_months: label = (formatdate(from_date, format_string="MMM") + "-" + formatdate(to_date, format_string="MMM")) labels.append(label) else: label = formatdate(from_date, format_string="MMM") labels.append(label) no_of_columns = len(labels) budget_values, actual_values = [0] * no_of_columns, [0] * no_of_columns for d in data: values = d[2:] index = 0 for i in range(no_of_columns): budget_values[i] += values[index] actual_values[i] += values[index + 1] index += 3 return { "data": { "labels": labels, "datasets": [ { "name": "Budget", "chartType": "bar", "values": budget_values }, { "name": "Actual Expense", "chartType": "bar", "values": actual_values }, ], }, "type": "bar", }
def get_chart_data(filters, columns, data): if not data: return None labels = [] fiscal_year = get_fiscal_years(filters) group_months = False if filters["period"] == "Monthly" else True for year in fiscal_year: for from_date, to_date in get_period_date_ranges( filters["period"], year[0]): if filters['period'] == 'Yearly': labels.append(year[0]) else: if group_months: label = formatdate(from_date, format_string="MMM") + "-" \ + formatdate(to_date, format_string="MMM") labels.append(label) else: label = formatdate(from_date, format_string="MMM") labels.append(label) no_of_columns = len(labels) budget_values, actual_values = [0] * no_of_columns, [0] * no_of_columns for d in data: values = d[2:] index = 0 for i in range(no_of_columns): budget_values[i] += values[index] actual_values[i] += values[index + 1] index += 3 return { 'data': { 'labels': labels, 'datasets': [{ 'name': 'Budget', 'chartType': 'bar', 'values': budget_values }, { 'name': 'Actual Expense', 'chartType': 'bar', 'values': actual_values }] }, 'type': 'bar' }
def get_columns(filters): columns = [_("Cost Center") + ":Link/Cost Center:120", _("Account") + ":Link/Account:120"] group_months = False if filters["period"] == "Monthly" else True for from_date, to_date in get_period_date_ranges(filters["period"], filters["fiscal_year"]): for label in [_("Target") + " (%s)", _("Actual") + " (%s)", _("Variance") + " (%s)"]: if group_months: label = label % (formatdate(from_date, format_string="MMM") + " - " + formatdate(to_date, format_string="MMM")) else: label = label % formatdate(from_date, format_string="MMM") columns.append(label+":Float:120") return columns + [_("Total Target") + ":Float:120", _("Total Actual") + ":Float:120", _("Total Variance") + ":Float:120"]
def get_columns(filters): for fieldname in ["fiscal_year", "period", "target_on"]: if not filters.get(fieldname): label = (" ".join(fieldname.split("_"))).title() msgprint(_("Please specify") + ": " + label, raise_exception=True) columns = [_("Territory") + ":Link/Territory:120", _("Item Group") + ":Link/Item Group:120"] group_months = False if filters["period"] == "Monthly" else True for from_date, to_date in get_period_date_ranges(filters["period"], filters["fiscal_year"]): for label in [_("Target") +" (%s)", _("Achieved") + " (%s)", _("Variance") + " (%s)"]: if group_months: label = label % (_(from_date.strftime("%b")) + " - " + _(to_date.strftime("%b"))) else: label = label % _(from_date.strftime("%b")) columns.append(label+":Float:120") return columns + [_("Total Target") + ":Float:120", _("Total Achieved") + ":Float:120", _("Total Variance") + ":Float:120"]
def get_columns(filters): for fieldname in ["fiscal_year", "period", "company"]: if not filters.get(fieldname): label = (" ".join(fieldname.split("_"))).title() msgprint(_("Please specify") + ": " + label, raise_exception=True) columns = [_("Cost Center") + ":Link/Cost Center:120", _("Account") + ":Link/Account:120"] group_months = False if filters["period"] == "Monthly" else True for from_date, to_date in get_period_date_ranges(filters["period"], filters["fiscal_year"]): for label in [_("Target") + " (%s)", _("Actual") + " (%s)", _("Variance") + " (%s)"]: if group_months: label = label % (formatdate(from_date, format_string="MMM") + " - " + formatdate(from_date, format_string="MMM")) else: label = label % formatdate(from_date, format_string="MMM") columns.append(label+":Float:120") return columns + [_("Total Target") + ":Float:120", _("Total Actual") + ":Float:120", _("Total Variance") + ":Float:120"]
def get_columns(filters): for fieldname in ["fiscal_year", "period", "target_on"]: if not filters.get(fieldname): label = (" ".join(fieldname.split("_"))).title() msgprint(_("Please specify") + ": " + label, raise_exception=True) columns = ["Sales Person:Link/Sales Person:120", "Item Group:Link/Item Group:120"] group_months = False if filters["period"] == "Monthly" else True for from_date, to_date in get_period_date_ranges(filters["period"], filters["fiscal_year"]): for label in ["Target (%s)", "Achieved (%s)", "Variance (%s)"]: if group_months: label = label % (from_date.strftime("%b") + " - " + to_date.strftime("%b")) else: label = label % from_date.strftime("%b") columns.append(label+":Float:120") return columns + ["Total Target:Float:120", "Total Achieved:Float:120", "Total Variance:Float:120"]
def get_columns(filters): columns = [{ 'label': _(filters.get("budget_against")), 'fieldtype': 'Link', 'fieldname': 'budget_against', 'options': filters.get('budget_against'), 'width': 150 }, { 'label': _('Account'), 'fieldname': 'Account', 'fieldtype': 'Link', 'options': 'Account', 'width': 150 }] group_months = False if filters["period"] == "Monthly" else True fiscal_year = get_fiscal_years(filters) for year in fiscal_year: for from_date, to_date in get_period_date_ranges( filters["period"], year[0]): if filters["period"] == "Yearly": labels = [ _("Budget") + " " + str(year[0]), _("Actual ") + " " + str(year[0]), _("Variance ") + " " + str(year[0]) ] for label in labels: columns.append({ 'label': label, 'fieldtype': 'Float', 'fieldname': frappe.scrub(label), 'width': 150 }) else: for label in [ _("Budget") + " (%s)" + " " + str(year[0]), _("Actual") + " (%s)" + " " + str(year[0]), _("Variance") + " (%s)" + " " + str(year[0]) ]: if group_months: label = label % ( formatdate(from_date, format_string="MMM") + "-" + formatdate(to_date, format_string="MMM")) else: label = label % formatdate(from_date, format_string="MMM") columns.append({ 'label': label, 'fieldtype': 'Float', 'fieldname': frappe.scrub(label), 'width': 150 }) if filters["period"] != "Yearly": for label in [ _("Total Budget"), _("Total Actual"), _("Total Variance") ]: columns.append({ 'label': label, 'fieldtype': 'Float', 'fieldname': frappe.scrub(label), 'width': 150 }) return columns else: return columns
def get_columns(filters): columns = [ { "label": _(filters.get("budget_against")), "fieldtype": "Link", "fieldname": "budget_against", "options": filters.get("budget_against"), "width": 150, }, { "label": _("Account"), "fieldname": "Account", "fieldtype": "Link", "options": "Account", "width": 150, }, ] group_months = False if filters["period"] == "Monthly" else True fiscal_year = get_fiscal_years(filters) for year in fiscal_year: for from_date, to_date in get_period_date_ranges( filters["period"], year[0]): if filters["period"] == "Yearly": labels = [ _("Budget") + " " + str(year[0]), _("Actual ") + " " + str(year[0]), _("Variance ") + " " + str(year[0]), ] for label in labels: columns.append({ "label": label, "fieldtype": "Float", "fieldname": frappe.scrub(label), "width": 150 }) else: for label in [ _("Budget") + " (%s)" + " " + str(year[0]), _("Actual") + " (%s)" + " " + str(year[0]), _("Variance") + " (%s)" + " " + str(year[0]), ]: if group_months: label = label % ( formatdate(from_date, format_string="MMM") + "-" + formatdate(to_date, format_string="MMM")) else: label = label % formatdate(from_date, format_string="MMM") columns.append({ "label": label, "fieldtype": "Float", "fieldname": frappe.scrub(label), "width": 150 }) if filters["period"] != "Yearly": for label in [ _("Total Budget"), _("Total Actual"), _("Total Variance") ]: columns.append({ "label": label, "fieldtype": "Float", "fieldname": frappe.scrub(label), "width": 150 }) return columns else: return columns