[perpetual accounting] [minor] patch for intial setup

This commit is contained in:
Nabin Hait 2013-08-12 12:24:08 +05:30
parent fd6a650e12
commit 4af2dbf84d
5 changed files with 26 additions and 41 deletions

View File

@ -269,7 +269,7 @@ def create_stock_in_hand_jv(reverse=False):
"posting_date": today,
"fiscal_year": fiscal_year,
"voucher_type": "Journal Entry",
"user_remark": (_("Auto Inventory Accounting") + ": " +
"user_remark": (_("Perpetual Accounting") + ": " +
(_("Disabled") if reverse else _("Enabled")) + ". " +
_("Journal Entry for inventory that is received but not yet invoiced"))
},
@ -297,14 +297,14 @@ def create_stock_in_hand_jv(reverse=False):
msgprint(_("""These adjustment vouchers book the difference between \
the total value of received items and the total value of invoiced items, \
as a required step to use Auto Inventory Accounting.
as a required step to use Perpetual Accounting.
This is an approximation to get you started.
You will need to submit these vouchers after checking if the values are correct.
For more details, read: \
<a href="http://erpnext.com/auto-inventory-accounting" target="_blank">\
Auto Inventory Accounting</a>"""))
Perpetual Accounting</a>"""))
webnotes.msgprint("""Please refresh the system to get effect of Auto Inventory Accounting""")
webnotes.msgprint("""Please refresh the system to get effect of Perpetual Accounting""")
def get_stock_rbnb_value(company):

View File

@ -2,8 +2,12 @@ import webnotes
from webnotes.utils import cint
def execute():
import patches.march_2013.p08_create_aii_accounts
patches.march_2013.p08_create_aii_accounts.execute()
copy_perpetual_accounting_settings()
set_missing_cost_center()
def set_missing_cost_center():
reload_docs = [
@ -17,8 +21,7 @@ def set_missing_cost_center():
if cint(webnotes.defaults.get_global_default("perpetual_accounting")):
for dt in ["Serial No", "Stock Reconciliation", "Stock Entry"]:
webnotes.conn.sql("""update `tab%s` t1, tabCompany t2
set t1.cost_center=t2.stock_adjustment_cost_center
where t1.company = t2.name""" % dt)
set t1.cost_center=t2.cost_center where t1.company = t2.name""" % dt)
def copy_perpetual_accounting_settings():
webnotes.reload_doc("accounts", "doctype", "accounts_settings")

View File

@ -8,7 +8,6 @@ def execute():
create_chart_of_accounts_if_not_exists()
add_group_accounts()
add_ledger_accounts()
add_aii_cost_center()
set_default_accounts()
def set_default_accounts():
@ -79,26 +78,7 @@ def add_accounts(accounts_to_add, check_fn=None):
"company": company
})
account.insert()
def add_aii_cost_center():
for company, abbr in webnotes.conn.sql("""select name, abbr from `tabCompany`"""):
if not webnotes.conn.sql("""select name from `tabCost Center` where cost_center_name =
'Auto Inventory Accounting' and company = %s""", company):
parent_cost_center = webnotes.conn.get_value("Cost Center",
{"parent_cost_center['']": '', "company": company})
if not parent_cost_center:
webnotes.errprint("Company " + company + "does not have a root cost center")
continue
cc = webnotes.bean({
"doctype": "Cost Center",
"cost_center_name": "Auto Inventory Accounting",
"parent_cost_center": parent_cost_center,
"group_or_ledger": "Ledger",
"company": company
})
cc.insert()
def create_chart_of_accounts_if_not_exists():
for company in webnotes.conn.sql("select name from `tabCompany`"):

View File

@ -122,5 +122,5 @@ $.extend(erpnext.complete_setup, {
fy_start_list: ['', '1st Jan', '1st Apr', '1st Jul', '1st Oct'],
domains: ['', "Manufacturing", "Retail", "Distribution", "Services"],
domains: ['', "Manufacturing", "Retail", "Distribution", "Services", "Other"],
});

View File

@ -5,7 +5,7 @@ from __future__ import unicode_literals
import webnotes
from webnotes import _, msgprint
from webnotes.utils import cstr
from webnotes.utils import cstr, cint
from webnotes.model.doc import Document
from webnotes.model.code import get_obj
import webnotes.defaults
@ -58,11 +58,15 @@ class DocType:
def create_default_warehouses(self):
for whname in ("Stores", "Work In Progress", "Finished Goods"):
webnotes.bean({
wh = {
"doctype":"Warehouse",
"warehouse_name": whname,
"company": self.doc.name
}).insert()
}
if cint(webnotes.defaults.get_global_default("perpetual_accounting")):
wh.update({"account": "Stock In Hand - " + self.doc.abbr})
webnotes.bean(wh).insert()
def create_default_web_page(self):
if not webnotes.conn.get_value("Website Settings", None, "home_page"):
@ -242,8 +246,8 @@ class DocType:
"default_expense_account": "Cost of Goods Sold",
"receivables_group": "Accounts Receivable",
"payables_group": "Accounts Payable",
"default_cash_account": "Cash",
"stock_received_but_not_billed": "Stock Received But Not Billed",
"stock_in_hand_account": "Stock In Hand",
"stock_adjustment_account": "Stock Adjustment",
"expenses_included_in_valuation": "Expenses Included In Valuation"
}
@ -253,9 +257,6 @@ class DocType:
if not self.doc.fields.get(a) and webnotes.conn.exists("Account", account_name):
webnotes.conn.set(self.doc, a, account_name)
if not self.doc.stock_adjustment_cost_center:
webnotes.conn.set(self.doc, "stock_adjustment_cost_center", self.doc.cost_center)
def create_default_cost_center(self):
cc_list = [
{
@ -272,14 +273,15 @@ class DocType:
},
]
for cc in cc_list:
cc.update({"doctype": "Cost Center"})
cc_bean = webnotes.bean(cc)
cc_bean.ignore_permissions = True
if webnotes.conn.exists("Cost Center", cc.cost_center_name + ' - ' + self.doc.abbr):
cc.update({"doctype": "Cost Center"})
cc_bean = webnotes.bean(cc)
cc_bean.ignore_permissions = True
if cc.get("cost_center_name") == self.doc.name:
cc_bean.ignore_mandatory = True
if cc.get("cost_center_name") == self.doc.name:
cc_bean.ignore_mandatory = True
cc_bean.insert()
cc_bean.insert()
webnotes.conn.set(self.doc, "cost_center", "Main - " + self.doc.abbr)