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