Merge branch 'master' of github.com:webnotes/erpnext
diff --git a/patches/october_2013/perpetual_inventory_stock_transfer_utility.py b/patches/october_2013/perpetual_inventory_stock_transfer_utility.py
new file mode 100644
index 0000000..2b39be6
--- /dev/null
+++ b/patches/october_2013/perpetual_inventory_stock_transfer_utility.py
@@ -0,0 +1,85 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
+from __future__ import unicode_literals
+import webnotes
+from webnotes.utils import nowdate, nowtime, cstr
+from accounts.utils import get_fiscal_year
+
+def execute():
+ item_map = {}
+ for item in webnotes.conn.sql("""select * from tabItem""", as_dict=1):
+ item_map.setdefault(item.name, item)
+
+ warehouse_map = get_warehosue_map()
+ naming_series = "STE/13/"
+
+ for company in webnotes.conn.sql("select name from tabCompany"):
+ stock_entry = [{
+ "doctype": "Stock Entry",
+ "naming_series": naming_series,
+ "posting_date": nowdate(),
+ "posting_time": nowtime(),
+ "purpose": "Material Transfer",
+ "company": company[0],
+ "remarks": "Material Transfer to activate perpetual inventory",
+ "fiscal_year": get_fiscal_year(nowdate())[0]
+ }]
+ expense_account = "Cost of Goods Sold - NISL"
+ cost_center = "Default CC Ledger - NISL"
+
+ for bin in webnotes.conn.sql("""select * from tabBin bin where ifnull(item_code, '')!=''
+ and ifnull(warehouse, '')!='' and ifnull(actual_qty, 0) != 0
+ and (select company from tabWarehouse where name=bin.warehouse)=%s""",
+ company[0], as_dict=1):
+ item_details = item_map[bin.item_code]
+ new_warehouse = warehouse_map[bin.warehouse].get("fixed_asset_warehouse") \
+ if cstr(item_details.is_asset_item) == "Yes" \
+ else warehouse_map[bin.warehouse].get("current_asset_warehouse")
+
+ if item_details.has_serial_no == "Yes":
+ serial_no = "\n".join([d[0] for d in webnotes.conn.sql("""select name
+ from `tabSerial No` where item_code = %s and warehouse = %s""",
+ (bin.item_code, bin.warehouse))])
+ print serial_no
+ else:
+ serial_no = None
+
+ stock_entry.append({
+ "doctype": "Stock Entry Detail",
+ "parentfield": "mtn_details",
+ "s_warehouse": bin.warehouse,
+ "t_warehouse": new_warehouse,
+ "item_code": bin.item_code,
+ "description": item_details.description,
+ "qty": bin.actual_qty,
+ "transfer_qty": bin.actual_qty,
+ "uom": item_details.stock_uom,
+ "stock_uom": item_details.stock_uom,
+ "conversion_factor": 1,
+ "expense_account": expense_account,
+ "cost_center": cost_center,
+ "serial_no": serial_no
+ })
+
+ webnotes.bean(stock_entry).insert()
+
+def get_warehosue_map():
+ return {
+ "MAHAPE": {
+ "current_asset_warehouse": "Mahape-New - NISL",
+ "fixed_asset_warehouse": ""
+ },
+ "DROP SHIPMENT": {
+ "current_asset_warehouse": "Drop Shipment-New - NISL",
+ "fixed_asset_warehouse": ""
+ },
+ "TRANSIT": {
+ "current_asset_warehouse": "Transit-New - NISL",
+ "fixed_asset_warehouse": ""
+ },
+ "ASSET - MAHAPE": {
+ "current_asset_warehouse": "",
+ "fixed_asset_warehouse": "Assets-New - NISL"
+ }
+ }
\ No newline at end of file
diff --git a/patches/october_2013/set_stock_value_diff_in_sle.py b/patches/october_2013/set_stock_value_diff_in_sle.py
new file mode 100644
index 0000000..25f95e0
--- /dev/null
+++ b/patches/october_2013/set_stock_value_diff_in_sle.py
@@ -0,0 +1,10 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
+from __future__ import unicode_literals
+import webnotes
+from webnotes.utils import cint
+
+def execute():
+ from patches.september_2012 import repost_stock
+ repost_stock.execute()
\ No newline at end of file