From 796bffbee12ac6c21e120433de3d419a6111b39f Mon Sep 17 00:00:00 2001 From: Zlash65 Date: Wed, 26 Sep 2018 12:27:09 +0530 Subject: [PATCH] fix payroll and stock related data --- erpnext/demo/setup/setup_data.py | 4 ++++ erpnext/demo/user/hr.py | 33 ++++++++++++++++++++------------ erpnext/demo/user/purchase.py | 4 ++-- 3 files changed, 27 insertions(+), 14 deletions(-) diff --git a/erpnext/demo/setup/setup_data.py b/erpnext/demo/setup/setup_data.py index 726c67484a..2269377a6f 100644 --- a/erpnext/demo/setup/setup_data.py +++ b/erpnext/demo/setup/setup_data.py @@ -166,12 +166,16 @@ def setup_salary_structure(employees, salary_slip_based_on_timesheet=0): "idx": 1 }) ss.insert() + ss.submit() for e in employees: sa = frappe.new_doc("Salary Structure Assignment") sa.employee = e.name + sa.salary_structure = ss.name sa.from_date = "2015-01-01" sa.base = random.random() * 10000 + sa.insert() + sa.submit() return ss diff --git a/erpnext/demo/user/hr.py b/erpnext/demo/user/hr.py index b8016869cf..db2d167dd0 100644 --- a/erpnext/demo/user/hr.py +++ b/erpnext/demo/user/hr.py @@ -19,29 +19,25 @@ def work(): # 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 = get_payroll_entry() payroll_entry.salary_slip_based_on_timesheet = 0 + payroll_entry.save() payroll_entry.create_salary_slips() payroll_entry.submit_salary_slips() payroll_entry.make_accrual_jv_entry() + payroll_entry.submit() # payroll_entry.make_journal_entry(reference_date=frappe.flags.current_date, # reference_number=random_string(10)) + # based on timesheet + payroll_entry = get_payroll_entry() payroll_entry.salary_slip_based_on_timesheet = 1 + payroll_entry.save() payroll_entry.create_salary_slips() payroll_entry.submit_salary_slips() payroll_entry.make_accrual_jv_entry() + payroll_entry.submit() # payroll_entry.make_journal_entry(reference_date=frappe.flags.current_date, # reference_number=random_string(10)) @@ -72,6 +68,19 @@ def work(): je.flags.ignore_permissions = 1 je.submit() +def get_payroll_entry(): + # 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() + return payroll_entry + def get_expenses(): expenses = [] expese_types = frappe.db.sql("""select ect.name, eca.default_account from `tabExpense Claim Type` ect, @@ -114,7 +123,7 @@ def get_timesheet_based_salary_slip_employee(): def make_timesheet_records(): employees = get_timesheet_based_salary_slip_employee() for e in employees: - ts = make_timesheet(e.employee, simulate = True, billable = 1, activity_type=get_random("Activity Type")) + ts = make_timesheet(e.employee, simulate = True, billable = 1, activity_type=get_random("Activity Type"), company=frappe.flags.company) frappe.db.commit() rand = random.random() diff --git a/erpnext/demo/user/purchase.py b/erpnext/demo/user/purchase.py index ad99de907a..a9a603c256 100644 --- a/erpnext/demo/user/purchase.py +++ b/erpnext/demo/user/purchase.py @@ -122,7 +122,7 @@ def add_suppliers(rfq): rfq.append("suppliers", { "supplier": supplier }) def make_subcontract(): - from erpnext.buying.doctype.purchase_order.purchase_order import make_stock_entry + from erpnext.buying.doctype.purchase_order.purchase_order import make_rm_stock_entry item_code = get_random("Item", {"is_sub_contracted_item": 1}) if item_code: # make sub-contract PO @@ -150,7 +150,7 @@ def make_subcontract(): make_material_request(po.items[0].item_code, po.items[0].qty) # transfer material for sub-contract - stock_entry = frappe.get_doc(make_stock_entry(po.name, po.items[0].item_code)) + stock_entry = frappe.get_doc(make_rm_stock_entry(po.name, po.items[0].item_code)) stock_entry.from_warehouse = "Stores - WPL" stock_entry.to_warehouse = "Supplier - WPL" stock_entry.insert()