Merge branch 'hotfix'
This commit is contained in:
commit
67b6e2fbba
@ -2,7 +2,7 @@
|
|||||||
from __future__ import unicode_literals
|
from __future__ import unicode_literals
|
||||||
import frappe
|
import frappe
|
||||||
|
|
||||||
__version__ = '7.1.22'
|
__version__ = '7.1.23'
|
||||||
|
|
||||||
def get_default_company(user=None):
|
def get_default_company(user=None):
|
||||||
'''Get default company for user'''
|
'''Get default company for user'''
|
||||||
|
@ -639,7 +639,7 @@ def get_payment_entry(dt, dn, party_amount=None, bank_account=None, bank_amount=
|
|||||||
if party_amount:
|
if party_amount:
|
||||||
grand_total = outstanding_amount = party_amount
|
grand_total = outstanding_amount = party_amount
|
||||||
elif dt in ("Sales Invoice", "Purchase Invoice"):
|
elif dt in ("Sales Invoice", "Purchase Invoice"):
|
||||||
grand_total = doc.grand_total
|
grand_total = doc.base_grand_total if party_account_currency == doc.company_currency else doc.grand_total
|
||||||
outstanding_amount = doc.outstanding_amount
|
outstanding_amount = doc.outstanding_amount
|
||||||
else:
|
else:
|
||||||
total_field = "base_grand_total" if party_account_currency == doc.company_currency else "grand_total"
|
total_field = "base_grand_total" if party_account_currency == doc.company_currency else "grand_total"
|
||||||
|
@ -42,9 +42,6 @@ def get_period_list(from_fiscal_year, to_fiscal_year, periodicity):
|
|||||||
if to_date == get_first_day(to_date):
|
if to_date == get_first_day(to_date):
|
||||||
# if to_date is the first day, get the last day of previous month
|
# if to_date is the first day, get the last day of previous month
|
||||||
to_date = add_days(to_date, -1)
|
to_date = add_days(to_date, -1)
|
||||||
else:
|
|
||||||
# to_date should be the last day of the new to_date's month
|
|
||||||
to_date = get_last_day(to_date)
|
|
||||||
|
|
||||||
if to_date <= year_end_date:
|
if to_date <= year_end_date:
|
||||||
# the normal case
|
# the normal case
|
||||||
|
@ -185,7 +185,7 @@ def get_invoice_po_pr_map(invoice_list):
|
|||||||
pr_list = [d.purchase_receipt]
|
pr_list = [d.purchase_receipt]
|
||||||
elif d.po_detail:
|
elif d.po_detail:
|
||||||
pr_list = frappe.db.sql_list("""select distinct parent from `tabPurchase Receipt Item`
|
pr_list = frappe.db.sql_list("""select distinct parent from `tabPurchase Receipt Item`
|
||||||
where docstatus=1 and prevdoc_detail_docname=%s""", d.po_detail)
|
where docstatus=1 and purchase_order_item=%s""", d.po_detail)
|
||||||
|
|
||||||
if pr_list:
|
if pr_list:
|
||||||
invoice_po_pr_map.setdefault(d.parent, frappe._dict()).setdefault("purchase_receipt", pr_list)
|
invoice_po_pr_map.setdefault(d.parent, frappe._dict()).setdefault("purchase_receipt", pr_list)
|
||||||
|
@ -28,15 +28,12 @@ class QualityInspection(Document):
|
|||||||
frappe.db.sql("""update `tabPurchase Receipt Item` t1, `tabPurchase Receipt` t2
|
frappe.db.sql("""update `tabPurchase Receipt Item` t1, `tabPurchase Receipt` t2
|
||||||
set t1.qa_no = %s, t2.modified = %s
|
set t1.qa_no = %s, t2.modified = %s
|
||||||
where t1.parent = %s and t1.item_code = %s and t1.parent = t2.name""",
|
where t1.parent = %s and t1.item_code = %s and t1.parent = t2.name""",
|
||||||
(self.name, self.modified, self.purchase_receipt_no,
|
(self.name, self.modified, self.purchase_receipt_no, self.item_code))
|
||||||
self.item_code))
|
|
||||||
|
|
||||||
def on_cancel(self):
|
def on_cancel(self):
|
||||||
if self.purchase_receipt_no:
|
if self.purchase_receipt_no:
|
||||||
frappe.db.sql("""update `tabPurchase Receipt Item` t1, `tabPurchase Receipt` t2
|
frappe.db.sql("""update `tabPurchase Receipt Item` set qa_no = '', modified=%s
|
||||||
set t1.qa_no = '', t2.modified = %s
|
where qa_no = %s""", (self.modified, self.name))
|
||||||
where t1.parent = %s and t1.item_code = %s and t1.parent = t2.name""",
|
|
||||||
(self.modified, self.purchase_receipt_no, self.item_code))
|
|
||||||
|
|
||||||
def item_query(doctype, txt, searchfield, start, page_len, filters):
|
def item_query(doctype, txt, searchfield, start, page_len, filters):
|
||||||
if filters.get("from"):
|
if filters.get("from"):
|
||||||
|
@ -3,11 +3,9 @@
|
|||||||
|
|
||||||
from __future__ import unicode_literals
|
from __future__ import unicode_literals
|
||||||
from erpnext.setup.utils import get_exchange_rate
|
from erpnext.setup.utils import get_exchange_rate
|
||||||
|
|
||||||
import frappe
|
import frappe
|
||||||
|
|
||||||
def execute(filters=None):
|
def execute(filters=None):
|
||||||
|
|
||||||
qty_list = get_quantity_list(filters.item)
|
qty_list = get_quantity_list(filters.item)
|
||||||
|
|
||||||
data = get_quote_list(filters.item, qty_list)
|
data = get_quote_list(filters.item, qty_list)
|
||||||
@ -15,12 +13,9 @@ def execute(filters=None):
|
|||||||
columns = get_columns(qty_list)
|
columns = get_columns(qty_list)
|
||||||
|
|
||||||
return columns, data
|
return columns, data
|
||||||
|
|
||||||
|
|
||||||
def get_quote_list(item, qty_list):
|
def get_quote_list(item, qty_list):
|
||||||
|
|
||||||
out = []
|
out = []
|
||||||
|
|
||||||
if item:
|
if item:
|
||||||
price_data = []
|
price_data = []
|
||||||
suppliers = []
|
suppliers = []
|
||||||
@ -38,8 +33,11 @@ def get_quote_list(item, qty_list):
|
|||||||
|
|
||||||
#Add a row for each supplier
|
#Add a row for each supplier
|
||||||
for root in set(suppliers):
|
for root in set(suppliers):
|
||||||
supplier_currency = frappe.db.get_value("Supplier",root,"default_currency")
|
supplier_currency = frappe.db.get_value("Supplier", root, "default_currency")
|
||||||
exg = get_exchange_rate(supplier_currency,company_currency)
|
if supplier_currency:
|
||||||
|
exchange_rate = get_exchange_rate(supplier_currency, company_currency)
|
||||||
|
else:
|
||||||
|
exchange_rate = 1
|
||||||
|
|
||||||
row = frappe._dict({
|
row = frappe._dict({
|
||||||
"supplier_name": root
|
"supplier_name": root
|
||||||
@ -48,7 +46,7 @@ def get_quote_list(item, qty_list):
|
|||||||
# Get the quantity for this row
|
# Get the quantity for this row
|
||||||
for item_price in price_data:
|
for item_price in price_data:
|
||||||
if str(item_price.qty) == col.key and item_price.supplier == root:
|
if str(item_price.qty) == col.key and item_price.supplier == root:
|
||||||
row[col.key] = item_price.rate * exg
|
row[col.key] = item_price.rate * exchange_rate
|
||||||
row[col.key + "QUOTE"] = item_price.parent
|
row[col.key + "QUOTE"] = item_price.parent
|
||||||
break
|
break
|
||||||
else:
|
else:
|
||||||
@ -56,15 +54,11 @@ def get_quote_list(item, qty_list):
|
|||||||
row[col.key + "QUOTE"] = ""
|
row[col.key + "QUOTE"] = ""
|
||||||
out.append(row)
|
out.append(row)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
return out
|
return out
|
||||||
|
|
||||||
def get_quantity_list(item):
|
def get_quantity_list(item):
|
||||||
|
|
||||||
out = []
|
out = []
|
||||||
|
|
||||||
|
|
||||||
if item:
|
if item:
|
||||||
qty_list = frappe.db.sql("""select distinct qty from `tabSupplier Quotation Item` where ifnull(item_code,'')=%s and docstatus < 2""", item, as_dict=1)
|
qty_list = frappe.db.sql("""select distinct qty from `tabSupplier Quotation Item` where ifnull(item_code,'')=%s and docstatus < 2""", item, as_dict=1)
|
||||||
qty_list.sort(reverse=False)
|
qty_list.sort(reverse=False)
|
||||||
@ -102,5 +96,4 @@ def get_columns(qty_list):
|
|||||||
"width": 90
|
"width": 90
|
||||||
})
|
})
|
||||||
|
|
||||||
|
return columns
|
||||||
return columns
|
|
||||||
|
@ -22,7 +22,7 @@ def execute():
|
|||||||
|
|
||||||
# Update billed_amt in DN and PR which are not against any order
|
# Update billed_amt in DN and PR which are not against any order
|
||||||
for d in frappe.db.sql("""select name from `tabPurchase Receipt Item` item
|
for d in frappe.db.sql("""select name from `tabPurchase Receipt Item` item
|
||||||
where (prevdoc_detail_docname is null or prevdoc_detail_docname = '') and docstatus=1""", as_dict=1):
|
where (purchase_order_item is null or purchase_order_item = '') and docstatus=1""", as_dict=1):
|
||||||
|
|
||||||
billed_amt = frappe.db.sql("""select sum(amount) from `tabPurchase Invoice Item`
|
billed_amt = frappe.db.sql("""select sum(amount) from `tabPurchase Invoice Item`
|
||||||
where pr_detail=%s and docstatus=1""", d.name)
|
where pr_detail=%s and docstatus=1""", d.name)
|
||||||
|
@ -18,9 +18,9 @@ def update_po_per_received_per_billed():
|
|||||||
`tabPurchase Order`.per_received = round((select sum(if(qty > ifnull(received_qty, 0),
|
`tabPurchase Order`.per_received = round((select sum(if(qty > ifnull(received_qty, 0),
|
||||||
ifnull(received_qty, 0), qty)) / sum(qty) *100 from `tabPurchase Order Item`
|
ifnull(received_qty, 0), qty)) / sum(qty) *100 from `tabPurchase Order Item`
|
||||||
where parent = `tabPurchase Order`.name), 2),
|
where parent = `tabPurchase Order`.name), 2),
|
||||||
`tabPurchase Order`.per_billed = round((select sum( if(amount > ifnull(billed_amt, 0),
|
`tabPurchase Order`.per_billed = ifnull(round((select sum( if(amount > ifnull(billed_amt, 0),
|
||||||
ifnull(billed_amt, 0), amount)) / sum(amount) *100 from `tabPurchase Order Item`
|
ifnull(billed_amt, 0), amount)) / sum(amount) *100 from `tabPurchase Order Item`
|
||||||
where parent = `tabPurchase Order`.name), 2)""")
|
where parent = `tabPurchase Order`.name), 2), 0)""")
|
||||||
|
|
||||||
def update_so_per_delivered_per_billed():
|
def update_so_per_delivered_per_billed():
|
||||||
frappe.db.sql("""
|
frappe.db.sql("""
|
||||||
@ -30,9 +30,9 @@ def update_so_per_delivered_per_billed():
|
|||||||
`tabSales Order`.per_delivered = round((select sum( if(qty > ifnull(delivered_qty, 0),
|
`tabSales Order`.per_delivered = round((select sum( if(qty > ifnull(delivered_qty, 0),
|
||||||
ifnull(delivered_qty, 0), qty)) / sum(qty) *100 from `tabSales Order Item`
|
ifnull(delivered_qty, 0), qty)) / sum(qty) *100 from `tabSales Order Item`
|
||||||
where parent = `tabSales Order`.name), 2),
|
where parent = `tabSales Order`.name), 2),
|
||||||
`tabSales Order`.per_billed = round((select sum( if(amount > ifnull(billed_amt, 0),
|
`tabSales Order`.per_billed = ifnull(round((select sum( if(amount > ifnull(billed_amt, 0),
|
||||||
ifnull(billed_amt, 0), amount)) / sum(amount) *100 from `tabSales Order Item`
|
ifnull(billed_amt, 0), amount)) / sum(amount) *100 from `tabSales Order Item`
|
||||||
where parent = `tabSales Order`.name), 2)""")
|
where parent = `tabSales Order`.name), 2), 0)""")
|
||||||
|
|
||||||
def update_status():
|
def update_status():
|
||||||
frappe.db.sql("""
|
frappe.db.sql("""
|
||||||
|
Loading…
x
Reference in New Issue
Block a user