49 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			49 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| import webnotes
 | |
| 
 | |
| def execute():
 | |
| 	create_fiscal_years()
 | |
| 	
 | |
| 	doctypes = webnotes.conn.sql_list("""select parent from tabDocField
 | |
| 		where (fieldtype="Link" and options='Fiscal Year')
 | |
| 		or (fieldtype="Select" and options='link:Fiscal Year')""")
 | |
| 		
 | |
| 	for dt in doctypes:
 | |
| 		date_fields = webnotes.conn.sql_list("""select fieldname from tabDocField
 | |
| 			where parent=%s and fieldtype='Date'""", dt)
 | |
| 		
 | |
| 		date_field = get_date_field(date_fields, dt)
 | |
| 
 | |
| 		if not date_field:
 | |
| 			print dt, date_field
 | |
| 		else:
 | |
| 			webnotes.conn.sql("""update `tab%s` set fiscal_year = 
 | |
| 				if(%s<='2013-06-30', '2012-2013', '2013-2014')""" % (dt, date_field))
 | |
| 			
 | |
| def create_fiscal_years():
 | |
| 	fiscal_years = {
 | |
| 		"2012-2013": ["2012-07-01", "2013-06-30"],
 | |
| 		"2013-2014": ["2013-07-01", "2014-06-30"]
 | |
| 	}
 | |
| 	
 | |
| 	for d in fiscal_years:
 | |
| 		webnotes.bean({
 | |
| 			"doctype": "Fiscal Year",
 | |
| 			"year": d,
 | |
| 			"year_start_date": fiscal_years[d][0],
 | |
| 			"is_fiscal_year_closed": "No"
 | |
| 		}).insert()
 | |
| 	
 | |
| 		
 | |
| def get_date_field(date_fields, dt):
 | |
| 	date_field = None
 | |
| 	if date_fields:
 | |
| 		if "posting_date" in date_fields:
 | |
| 			date_field = "posting_date"
 | |
| 		elif "transaction_date" in date_fields:
 | |
| 			date_field = 'transaction_date'
 | |
| 		else:
 | |
| 			date_field = date_fields[0]
 | |
| 			# print dt, date_fields
 | |
| 			
 | |
| 	return date_field
 | |
| 		 |