commit
2ca388b0a5
@ -5,8 +5,7 @@
|
|||||||
|
|
||||||
from __future__ import unicode_literals
|
from __future__ import unicode_literals
|
||||||
import webnotes
|
import webnotes
|
||||||
from webnotes.utils import cint, cstr
|
from webnotes import _
|
||||||
from webnotes import msgprint, _
|
|
||||||
|
|
||||||
class DocType:
|
class DocType:
|
||||||
def __init__(self, d, dl):
|
def __init__(self, d, dl):
|
||||||
@ -16,6 +15,11 @@ class DocType:
|
|||||||
webnotes.conn.set_default("auto_accounting_for_stock", self.doc.auto_accounting_for_stock)
|
webnotes.conn.set_default("auto_accounting_for_stock", self.doc.auto_accounting_for_stock)
|
||||||
|
|
||||||
if self.doc.auto_accounting_for_stock:
|
if self.doc.auto_accounting_for_stock:
|
||||||
for wh in webnotes.conn.sql("select name from `tabWarehouse`"):
|
warehouse_list = webnotes.conn.sql("select name, company from tabWarehouse", as_dict=1)
|
||||||
wh_bean = webnotes.bean("Warehouse", wh[0])
|
warehouse_with_no_company = [d.name for d in warehouse_list if not d.company]
|
||||||
|
if warehouse_with_no_company:
|
||||||
|
webnotes.throw(_("Company is missing in following warehouses") + ": \n" +
|
||||||
|
"\n".join(warehouse_with_no_company))
|
||||||
|
for wh in warehouse_list:
|
||||||
|
wh_bean = webnotes.bean("Warehouse", wh.name)
|
||||||
wh_bean.save()
|
wh_bean.save()
|
@ -9,8 +9,9 @@ from accounts.utils import get_balance_on
|
|||||||
|
|
||||||
def execute(filters=None):
|
def execute(filters=None):
|
||||||
account_details = webnotes.conn.get_value("Account", filters["account"],
|
account_details = webnotes.conn.get_value("Account", filters["account"],
|
||||||
["debit_or_credit", "group_or_ledger"], as_dict=True)
|
["debit_or_credit", "group_or_ledger"], as_dict=True) if filters.get("account") else None
|
||||||
validate_filters(filters, account_details.group_or_ledger)
|
validate_filters(filters, account_details)
|
||||||
|
|
||||||
columns = get_columns()
|
columns = get_columns()
|
||||||
data = []
|
data = []
|
||||||
if filters.get("group_by"):
|
if filters.get("group_by"):
|
||||||
@ -20,14 +21,15 @@ def execute(filters=None):
|
|||||||
if data:
|
if data:
|
||||||
data.append(get_total_row(data))
|
data.append(get_total_row(data))
|
||||||
|
|
||||||
if filters.get("account"):
|
if account_details:
|
||||||
data = [get_opening_balance_row(filters, account_details.debit_or_credit)] + data + \
|
data = [get_opening_balance_row(filters, account_details.debit_or_credit)] + data + \
|
||||||
[get_closing_balance_row(filters, account_details.debit_or_credit)]
|
[get_closing_balance_row(filters, account_details.debit_or_credit)]
|
||||||
|
|
||||||
return columns, data
|
return columns, data
|
||||||
|
|
||||||
def validate_filters(filters, group_or_ledger):
|
def validate_filters(filters, account_details):
|
||||||
if group_or_ledger == "Ledger" and filters.get("group_by") == "Group by Account":
|
if account_details and account_details.group_or_ledger == "Ledger" \
|
||||||
|
and filters.get("group_by") == "Group by Account":
|
||||||
webnotes.throw(_("Can not filter based on Account, if grouped by Account"))
|
webnotes.throw(_("Can not filter based on Account, if grouped by Account"))
|
||||||
|
|
||||||
if filters.get("voucher_no") and filters.get("group_by") == "Group by Voucher":
|
if filters.get("voucher_no") and filters.get("group_by") == "Group by Voucher":
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
{
|
{
|
||||||
"creation": "2012-12-20 12:50:49",
|
"creation": "2012-12-20 12:50:49",
|
||||||
"docstatus": 0,
|
"docstatus": 0,
|
||||||
"modified": "2013-11-03 14:20:18",
|
"modified": "2013-12-24 11:40:19",
|
||||||
"modified_by": "Administrator",
|
"modified_by": "Administrator",
|
||||||
"owner": "Administrator"
|
"owner": "Administrator"
|
||||||
},
|
},
|
||||||
@ -90,7 +90,7 @@
|
|||||||
"doctype": "DocField",
|
"doctype": "DocField",
|
||||||
"fieldname": "fs_packing_details",
|
"fieldname": "fs_packing_details",
|
||||||
"fieldtype": "Check",
|
"fieldtype": "Check",
|
||||||
"label": "Packing Detials"
|
"label": "Packing Details"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"description": "To get Item Group in details table",
|
"description": "To get Item Group in details table",
|
||||||
|
@ -20,6 +20,19 @@ class DocType:
|
|||||||
if self.doc.email_id and not validate_email_add(self.doc.email_id):
|
if self.doc.email_id and not validate_email_add(self.doc.email_id):
|
||||||
msgprint("Please enter valid Email Id", raise_exception=1)
|
msgprint("Please enter valid Email Id", raise_exception=1)
|
||||||
|
|
||||||
|
self.update_parent_account()
|
||||||
|
|
||||||
|
def update_parent_account(self):
|
||||||
|
if not self.doc.__islocal and (self.doc.create_account_under !=
|
||||||
|
webnotes.conn.get_value("Warehouse", self.doc.name, "create_account_under")):
|
||||||
|
warehouse_account = webnotes.conn.get_value("Account",
|
||||||
|
{"account_type": "Warehouse", "company": self.doc.company,
|
||||||
|
"master_name": self.doc.name}, ["name", "parent_account"])
|
||||||
|
if warehouse_account and warehouse_account[1] != self.doc.create_account_under:
|
||||||
|
acc_bean = webnotes.bean("Account", warehouse_account[0])
|
||||||
|
acc_bean.doc.parent_account = self.doc.create_account_under
|
||||||
|
acc_bean.save()
|
||||||
|
|
||||||
def on_update(self):
|
def on_update(self):
|
||||||
self.create_account_head()
|
self.create_account_head()
|
||||||
|
|
||||||
|
@ -62,9 +62,10 @@ def get_item_conditions(filters):
|
|||||||
|
|
||||||
def get_sle_conditions(filters):
|
def get_sle_conditions(filters):
|
||||||
conditions = []
|
conditions = []
|
||||||
if filters.get("item_code"):
|
item_conditions=get_item_conditions(filters)
|
||||||
|
if item_conditions:
|
||||||
conditions.append("""item_code in (select name from tabItem
|
conditions.append("""item_code in (select name from tabItem
|
||||||
{item_conditions})""".format(item_conditions=get_item_conditions(filters)))
|
{item_conditions})""".format(item_conditions=item_conditions))
|
||||||
if filters.get("warehouse"):
|
if filters.get("warehouse"):
|
||||||
conditions.append("warehouse=%(warehouse)s")
|
conditions.append("warehouse=%(warehouse)s")
|
||||||
if filters.get("voucher_no"):
|
if filters.get("voucher_no"):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user