fix payroll and stock related data

This commit is contained in:
Zlash65
2018-09-26 12:27:09 +05:30
parent 4c07970545
commit 796bffbee1
3 changed files with 27 additions and 14 deletions

View File

@@ -166,12 +166,16 @@ def setup_salary_structure(employees, salary_slip_based_on_timesheet=0):
"idx": 1 "idx": 1
}) })
ss.insert() ss.insert()
ss.submit()
for e in employees: for e in employees:
sa = frappe.new_doc("Salary Structure Assignment") sa = frappe.new_doc("Salary Structure Assignment")
sa.employee = e.name sa.employee = e.name
sa.salary_structure = ss.name
sa.from_date = "2015-01-01" sa.from_date = "2015-01-01"
sa.base = random.random() * 10000 sa.base = random.random() * 10000
sa.insert()
sa.submit()
return ss return ss

View File

@@ -19,29 +19,25 @@ def work():
# payroll entry # payroll entry
if not frappe.db.sql('select name from `tabSalary Slip` where month(adddate(start_date, interval 1 month))=month(curdate())'): 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 # based on frequency
payroll_entry = get_payroll_entry()
payroll_entry.salary_slip_based_on_timesheet = 0 payroll_entry.salary_slip_based_on_timesheet = 0
payroll_entry.save()
payroll_entry.create_salary_slips() payroll_entry.create_salary_slips()
payroll_entry.submit_salary_slips() payroll_entry.submit_salary_slips()
payroll_entry.make_accrual_jv_entry() payroll_entry.make_accrual_jv_entry()
payroll_entry.submit()
# payroll_entry.make_journal_entry(reference_date=frappe.flags.current_date, # payroll_entry.make_journal_entry(reference_date=frappe.flags.current_date,
# reference_number=random_string(10)) # reference_number=random_string(10))
# based on timesheet
payroll_entry = get_payroll_entry()
payroll_entry.salary_slip_based_on_timesheet = 1 payroll_entry.salary_slip_based_on_timesheet = 1
payroll_entry.save()
payroll_entry.create_salary_slips() payroll_entry.create_salary_slips()
payroll_entry.submit_salary_slips() payroll_entry.submit_salary_slips()
payroll_entry.make_accrual_jv_entry() payroll_entry.make_accrual_jv_entry()
payroll_entry.submit()
# payroll_entry.make_journal_entry(reference_date=frappe.flags.current_date, # payroll_entry.make_journal_entry(reference_date=frappe.flags.current_date,
# reference_number=random_string(10)) # reference_number=random_string(10))
@@ -72,6 +68,19 @@ def work():
je.flags.ignore_permissions = 1 je.flags.ignore_permissions = 1
je.submit() 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(): def get_expenses():
expenses = [] expenses = []
expese_types = frappe.db.sql("""select ect.name, eca.default_account from `tabExpense Claim Type` ect, 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(): def make_timesheet_records():
employees = get_timesheet_based_salary_slip_employee() employees = get_timesheet_based_salary_slip_employee()
for e in employees: 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() frappe.db.commit()
rand = random.random() rand = random.random()

View File

@@ -122,7 +122,7 @@ def add_suppliers(rfq):
rfq.append("suppliers", { "supplier": supplier }) rfq.append("suppliers", { "supplier": supplier })
def make_subcontract(): 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}) item_code = get_random("Item", {"is_sub_contracted_item": 1})
if item_code: if item_code:
# make sub-contract PO # make sub-contract PO
@@ -150,7 +150,7 @@ def make_subcontract():
make_material_request(po.items[0].item_code, po.items[0].qty) make_material_request(po.items[0].item_code, po.items[0].qty)
# transfer material for sub-contract # 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.from_warehouse = "Stores - WPL"
stock_entry.to_warehouse = "Supplier - WPL" stock_entry.to_warehouse = "Supplier - WPL"
stock_entry.insert() stock_entry.insert()