示例#1
0
    def get_data(self, customer_naming_by):
        from accounts.utils import get_currency_precision
        currency_precision = get_currency_precision() or 2

        data = []
        future_vouchers = self.get_entries_after(self.filters.report_date)
        for gle in self.get_entries_till(self.filters.report_date):
            if self.is_receivable(gle, future_vouchers):
                outstanding_amount = self.get_outstanding_amount(
                    gle, self.filters.report_date)
                if abs(outstanding_amount) > 0.1 / 10**currency_precision:
                    due_date = self.get_due_date(gle)
                    invoiced_amount = gle.debit if (gle.debit > 0) else 0
                    payment_received = invoiced_amount - outstanding_amount
                    row = [
                        gle.posting_date, gle.account, gle.voucher_type,
                        gle.voucher_no, due_date, invoiced_amount,
                        payment_received, outstanding_amount
                    ]
                    entry_date = due_date if self.filters.ageing_based_on == "Due Date" \
                     else gle.posting_date
                    row += get_ageing_data(self.age_as_on, entry_date, outstanding_amount) + \
                     [self.get_customer(gle.account)]

                    if customer_naming_by == "Naming Series":
                        row += [self.get_customer_name(gle.account)]

                    row += [self.get_territory(gle.account), gle.remarks]
                    data.append(row)

        for i in range(0, len(data)):
            data[i].insert(4, """<a href="%s"><i class="icon icon-share" style="cursor: pointer;"></i></a>""" \
             % ("/".join(["#Form", data[i][2], data[i][3]]),))

        return data
示例#2
0
def execute(filters=None):
    if not filters: filters = {}

    columns = get_columns(filters)
    item_map = get_item_details()
    pl = get_price_list()
    last_purchase_rate = get_last_purchase_rate()
    bom_rate = get_item_bom_rate()
    val_rate_map = get_valuation_rate()

    from accounts.utils import get_currency_precision
    precision = get_currency_precision() or 2
    data = []
    for item in sorted(item_map):
        data.append([
            item, item_map[item]["item_name"], item_map[item]["description"],
            item_map[item]["stock_uom"],
            flt(last_purchase_rate.get(item, 0), precision),
            flt(val_rate_map.get(item, 0), precision),
            pl.get(item, {}).get("Selling"),
            pl.get(item, {}).get("Buying"),
            flt(bom_rate.get(item, 0), precision),
            flt(item_map[item]["standard_rate"], precision)
        ])

    return columns, data
示例#3
0
def execute(filters=None):
	if not filters: filters = {}
	
	columns = get_columns(filters)
	item_map = get_item_details()
	pl = get_price_list()
	last_purchase_rate = get_last_purchase_rate()
	bom_rate = get_item_bom_rate()
	val_rate_map = get_valuation_rate()

	from accounts.utils import get_currency_precision
	precision = get_currency_precision() or 2
	data = []
	for item in sorted(item_map):
		data.append([item, item_map[item]["item_name"], 
			item_map[item]["description"], item_map[item]["stock_uom"], 
			flt(last_purchase_rate.get(item, 0), precision), 
			flt(val_rate_map.get(item, 0), precision), 
			pl.get(item, {}).get("Selling"), 
			pl.get(item, {}).get("Buying"), 
			flt(bom_rate.get(item, 0), precision), 
			flt(item_map[item]["standard_rate"], precision)
		])
	
	return columns, data
示例#4
0
	def get_data(self, customer_naming_by):
		from accounts.utils import get_currency_precision
		currency_precision = get_currency_precision() or 2

		data = []
		future_vouchers = self.get_entries_after(self.filters.report_date)
		for gle in self.get_entries_till(self.filters.report_date):
			if self.is_receivable(gle, future_vouchers):
				outstanding_amount = self.get_outstanding_amount(gle, self.filters.report_date)
				if abs(outstanding_amount) > 0.1/10**currency_precision:
					due_date = self.get_due_date(gle)
					invoiced_amount = gle.debit if (gle.debit > 0) else 0
					payment_received = invoiced_amount - outstanding_amount
					row = [gle.posting_date, gle.account,
						gle.voucher_type, gle.voucher_no, due_date,
						invoiced_amount, payment_received,
						outstanding_amount]
					entry_date = due_date if self.filters.ageing_based_on == "Due Date" \
						else gle.posting_date
					row += get_ageing_data(self.age_as_on, entry_date, outstanding_amount) + \
						[self.get_customer(gle.account)]

					if customer_naming_by == "Naming Series":
						row += [self.get_customer_name(gle.account)]

					row += [self.get_territory(gle.account), gle.remarks]
					data.append(row)
		
		for i in range(0, len(data)):
			data[i].insert(4, """<a href="%s"><i class="icon icon-share" style="cursor: pointer;"></i></a>""" \
				% ("/".join(["#Form", data[i][2], data[i][3]]),))
		
		return data