コンテンツへスキップ
メニュー
この質問にフラグが付けられました
1 返信
1145 ビュー

Hello,

How are the leaves calculated for a new employee joining after the allocation of the leaves in the system?

To be more clear,

Let us say I am completing all the leave allocations by the beginning of January (including Accrual leaves). An employee joins in the month of February. Then how are the leaves calculated for this employee?

Will the system calculate it automatically based on the pervious created allocations?

Do we need to allocate the leaves again in the system?

アバター
破棄
著作者 最善の回答

The system was not automatically adding new employees created after the accrual allocations. So we created an automation rule (execute code) to add and allocate employees to the accrual system.

employee = record

employee_name = employee.name


current_year = datetime.date.today().year


leave_type = env['hr.leave.type'].browse(8) #8 is the id of the Leave or the Time Off Type

allocation_obj = env['hr.leave.allocation']

accrual_plan = env['hr.leave.accrual.plan'].browse(4) #4 is the id of the Accrual type created in the system


if leave_type:

    existing_allocation = allocation_obj.search([

        ('employee_id', '=', employee.id),

        ('holiday_status_id', '=', leave_type.id),

        ('state', '=', 'validate'),

        ('date_to', '=', f'{current_year}-12-31'),

    ], limit=1)

    if not existing_allocation:

        allocation_obj.create({

            'name': f'Emergency Leave Allocation for {employee_name} - {current_year}',

            'employee_id': employee.id,

            'holiday_status_id': leave_type.id,

            'allocation_type': 'accrual',

            'accrual_plan_id': accrual_plan.id,

            'number_of_days': 0,

            'date_from':datetime.date.today(),

        })


In this way, the new employees will be added and they will have the leaves created automatically based on the accrual configuration.

アバター
破棄
関連投稿 返信 ビュー 活動
2
7月 23
6831
1
1月 23
2073
1
3月 15
4016
3
2月 19
3787
0
6月 16
3849