Example #1
0
def work():
	frappe.set_user(frappe.db.get_global('demo_hr_user'))
	year, month = frappe.flags.current_date.strftime("%Y-%m").split("-")
	
	mark_attendance()
	make_leave_application()

	# process payroll
	if not frappe.db.get_value("Salary Slip", {"month": month, "fiscal_year": year}):
		process_payroll = frappe.get_doc("Process Payroll", "Process Payroll")
		process_payroll.company = frappe.flags.company
		process_payroll.month = month
		process_payroll.fiscal_year = year
		process_payroll.create_sal_slip()
		process_payroll.submit_salary_slip()
		r = process_payroll.make_journal_entry(frappe.get_value('Account',
			{'account_name': 'Salary'}))

		journal_entry = frappe.get_doc(r)
		journal_entry.cheque_no = random_string(10)
		journal_entry.cheque_date = frappe.flags.current_date
		journal_entry.posting_date = frappe.flags.current_date
		journal_entry.insert()
		journal_entry.submit()
	
	if frappe.db.get_global('demo_hr_user'):
		make_timesheet_records()
	
		#expense claim
		expense_claim = frappe.new_doc("Expense Claim")
		expense_claim.extend('expenses', get_expenses())
		expense_claim.employee = get_random("Employee")
		expense_claim.company = frappe.flags.company
		expense_claim.posting_date = frappe.flags.current_date
		expense_claim.exp_approver = filter((lambda x: x[0] != 'Administrator'), get_expense_approver(None, '', None, 0, 20, None))[0][0]
		expense_claim.insert()

		rand = random.random()

		if rand < 0.4:
			expense_claim.approval_status = "Approved"
			update_sanctioned_amount(expense_claim)
			expense_claim.submit()

			if random.randint(0, 1):
				#make journal entry against expense claim
				je = frappe.get_doc(make_bank_entry(expense_claim.name))
				je.posting_date = frappe.flags.current_date
				je.cheque_no = random_string(10)
				je.cheque_date = frappe.flags.current_date
				je.flags.ignore_permissions = 1
				je.submit()

		elif rand < 0.2:
			expense_claim.approval_status = "Rejected"
			expense_claim.submit()
Example #2
0
def work():
	frappe.set_user(frappe.db.get_global('demo_hr_user'))
	year, month = frappe.flags.current_date.strftime("%Y-%m").split("-")
	prev_month = str(cint(month)- 1).zfill(2)
	if month=="01":
		prev_month = "12"
	
	mark_attendance()
	make_leave_application()

	# process payroll
	if not frappe.db.get_value("Salary Slip", {"month": prev_month, "fiscal_year": year}):
		process_payroll = frappe.get_doc("Process Payroll", "Process Payroll")
		process_payroll.company = frappe.flags.company
		process_payroll.month = prev_month
		process_payroll.fiscal_year = year
		process_payroll.from_date = frappe.flags.current_date
		process_payroll.to_date = add_days(frappe.flags.current_date, random.randint(0, 30))
		process_payroll.reference_number = "DemoRef23"
		process_payroll.reference_date = frappe.flags.current_date
		process_payroll.payment_account = frappe.get_value('Account', {'account_type': 'Cash', 'company': erpnext.get_default_company(),'is_group':0}, "name")
		process_payroll.submit_salary_slip()
		process_payroll.make_journal_entry()
		
	if frappe.db.get_global('demo_hr_user'):
		make_timesheet_records()
	
		#expense claim
		expense_claim = frappe.new_doc("Expense Claim")
		expense_claim.extend('expenses', get_expenses())
		expense_claim.employee = get_random("Employee")
		expense_claim.company = frappe.flags.company
		expense_claim.posting_date = frappe.flags.current_date
		expense_claim.exp_approver = filter((lambda x: x[0] != 'Administrator'), get_expense_approver(None, '', None, 0, 20, None))[0][0]
		expense_claim.insert()

		rand = random.random()

		if rand < 0.4:
			expense_claim.approval_status = "Approved"
			update_sanctioned_amount(expense_claim)
			expense_claim.submit()

			if random.randint(0, 1):
				#make journal entry against expense claim
				je = frappe.get_doc(make_bank_entry(expense_claim.name))
				je.posting_date = frappe.flags.current_date
				je.cheque_no = random_string(10)
				je.cheque_date = frappe.flags.current_date
				je.flags.ignore_permissions = 1
				je.submit()

		elif rand < 0.2:
			expense_claim.approval_status = "Rejected"
			expense_claim.submit()
Example #3
0
def work():
    frappe.set_user(frappe.db.get_global('demo_hr_user'))
    year, month = frappe.flags.current_date.strftime("%Y-%m").split("-")
    mark_attendance()
    make_leave_application()

    # payroll entry
    if not frappe.db.sql(
            'select name from `tabSalary Slip` where month(adddate(start_date, interval 1 month))=month(curdate())'
    ):
        # process payroll for previous month
        payroll_entry = frappe.new_doc("Payroll Entry")
        payroll_entry.company = frappe.flags.company
        payroll_entry.payroll_frequency = 'Monthly'

        # select a posting date from the previous month
        payroll_entry.posting_date = get_last_day(
            getdate(frappe.flags.current_date) - datetime.timedelta(days=10))
        payroll_entry.payment_account = frappe.get_value(
            'Account', {
                'account_type': 'Cash',
                'company': erpnext.get_default_company(),
                'is_group': 0
            }, "name")

        payroll_entry.set_start_end_dates()

        # based on frequency
        payroll_entry.salary_slip_based_on_timesheet = 0
        payroll_entry.create_salary_slips()
        payroll_entry.submit_salary_slips()
        payroll_entry.make_accural_jv_entry()
        # payroll_entry.make_journal_entry(reference_date=frappe.flags.current_date,
        # 	reference_number=random_string(10))

        payroll_entry.salary_slip_based_on_timesheet = 1
        payroll_entry.create_salary_slips()
        payroll_entry.submit_salary_slips()
        payroll_entry.make_accural_jv_entry()
        # payroll_entry.make_journal_entry(reference_date=frappe.flags.current_date,
        # 	reference_number=random_string(10))

    if frappe.db.get_global('demo_hr_user'):
        make_timesheet_records()

        #expense claim
        expense_claim = frappe.new_doc("Expense Claim")
        expense_claim.extend('expenses', get_expenses())
        expense_claim.employee = get_random("Employee")
        expense_claim.company = frappe.flags.company
        expense_claim.payable_account = get_payable_account(
            expense_claim.company)
        expense_claim.posting_date = frappe.flags.current_date
        expense_claim.exp_approver = filter(
            (lambda x: x[0] != 'Administrator'),
            get_expense_approver(None, '', None, 0, 20, None))[0][0]
        expense_claim.insert()

        rand = random.random()

        if rand < 0.4:
            expense_claim.approval_status = "Approved"
            update_sanctioned_amount(expense_claim)
            expense_claim.submit()

            if random.randint(0, 1):
                #make journal entry against expense claim
                je = frappe.get_doc(
                    make_bank_entry("Expense Claim", expense_claim.name))
                je.posting_date = frappe.flags.current_date
                je.cheque_no = random_string(10)
                je.cheque_date = frappe.flags.current_date
                je.flags.ignore_permissions = 1
                je.submit()

        elif rand < 0.2:
            expense_claim.approval_status = "Rejected"
            expense_claim.submit()
Example #4
0
def work():
	frappe.set_user(frappe.db.get_global('demo_hr_user'))
	year, month = frappe.flags.current_date.strftime("%Y-%m").split("-")
	mark_attendance()
	make_leave_application()

	# process payroll
	if not frappe.db.sql('select name from `tabSalary Slip` where month(adddate(start_date, interval 1 month))=month(curdate())'):
		# process payroll for previous month
		process_payroll = frappe.get_doc("Process Payroll", "Process Payroll")
		process_payroll.company = frappe.flags.company
		process_payroll.payroll_frequency = 'Monthly'

		# select a posting date from the previous month
		process_payroll.posting_date = get_last_day(getdate(frappe.flags.current_date) - datetime.timedelta(days=10))
		process_payroll.payment_account = frappe.get_value('Account', {'account_type': 'Cash', 'company': erpnext.get_default_company(),'is_group':0}, "name")

		process_payroll.set_start_end_dates()

		# based on frequency
		process_payroll.salary_slip_based_on_timesheet = 0
		process_payroll.create_salary_slips()
		process_payroll.submit_salary_slips()
		process_payroll.make_journal_entry(reference_date=frappe.flags.current_date,
			reference_number=random_string(10))

		process_payroll.salary_slip_based_on_timesheet = 1
		process_payroll.create_salary_slips()
		process_payroll.submit_salary_slips()
		process_payroll.make_journal_entry(reference_date=frappe.flags.current_date,
			reference_number=random_string(10))

	if frappe.db.get_global('demo_hr_user'):
		make_timesheet_records()

		#expense claim
		expense_claim = frappe.new_doc("Expense Claim")
		expense_claim.extend('expenses', get_expenses())
		expense_claim.employee = get_random("Employee")
		expense_claim.company = frappe.flags.company
		expense_claim.posting_date = frappe.flags.current_date
		expense_claim.exp_approver = filter((lambda x: x[0] != 'Administrator'), get_expense_approver(None, '', None, 0, 20, None))[0][0]
		expense_claim.insert()

		rand = random.random()

		if rand < 0.4:
			expense_claim.approval_status = "Approved"
			update_sanctioned_amount(expense_claim)
			expense_claim.submit()

			if random.randint(0, 1):
				#make journal entry against expense claim
				je = frappe.get_doc(make_bank_entry(expense_claim.name))
				je.posting_date = frappe.flags.current_date
				je.cheque_no = random_string(10)
				je.cheque_date = frappe.flags.current_date
				je.flags.ignore_permissions = 1
				je.submit()

		elif rand < 0.2:
			expense_claim.approval_status = "Rejected"
			expense_claim.submit()
Example #5
0
def work():
    frappe.set_user(frappe.db.get_global('demo_hr_user'))
    year, month = frappe.flags.current_date.strftime("%Y-%m").split("-")

    mark_attendance()
    make_leave_application()

    # process payroll
    if not frappe.db.get_value("Salary Slip", {
            "month": month,
            "fiscal_year": year
    }):
        process_payroll = frappe.get_doc("Process Payroll", "Process Payroll")
        process_payroll.company = frappe.flags.company
        process_payroll.month = month
        process_payroll.fiscal_year = year
        process_payroll.create_sal_slip()
        process_payroll.submit_salary_slip()
        r = process_payroll.make_journal_entry(
            frappe.get_value('Account', {'account_name': 'Salary'}))

        journal_entry = frappe.get_doc(r)
        journal_entry.cheque_no = random_string(10)
        journal_entry.cheque_date = frappe.flags.current_date
        journal_entry.posting_date = frappe.flags.current_date
        journal_entry.insert()
        journal_entry.submit()

    if frappe.db.get_global('demo_hr_user'):
        make_timesheet_records()

        #expense claim
        expense_claim = frappe.new_doc("Expense Claim")
        expense_claim.extend('expenses', get_expenses())
        expense_claim.employee = get_random("Employee")
        expense_claim.company = frappe.flags.company
        expense_claim.posting_date = frappe.flags.current_date
        expense_claim.exp_approver = filter(
            (lambda x: x[0] != 'Administrator'),
            get_expense_approver(None, '', None, 0, 20, None))[0][0]
        expense_claim.insert()

        rand = random.random()

        if rand < 0.4:
            expense_claim.approval_status = "Approved"
            update_sanctioned_amount(expense_claim)
            expense_claim.submit()

            if random.randint(0, 1):
                #make journal entry against expense claim
                je = frappe.get_doc(make_bank_entry(expense_claim.name))
                je.posting_date = frappe.flags.current_date
                je.cheque_no = random_string(10)
                je.cheque_date = frappe.flags.current_date
                je.flags.ignore_permissions = 1
                je.submit()

        elif rand < 0.2:
            expense_claim.approval_status = "Rejected"
            expense_claim.submit()