Я пытаюсь преобразовать записи hr_attendance в платежную ведомость, однако эти даты должны быть чувствительны к часовому поясу, чтобы правильно платить нашим сотрудникам. Есть ли способ сделать это в поисковом домене?
Вот мой текущий код
в часах
@api.onchange('check_in', 'check_out')
@api.constrains('check_in', 'check_out')
def _tz_check_in(self):
for attendance in self:
if attendance.location_id:
tz = pytz.timezone(attendance.location_id.location_timezone)
attendance.tz_check_in = pytz.timezone('UTC').localize(datetime.strptime(attendance.check_in, DEFAULT_SERVER_DATETIME_FORMAT)).astimezone(tz)
tz_check_in = fields.Datetime(string='check in w/ tz', compute=_tz_check_in, store=True)
и в hr.payslip
pay_period_attendances = self.env['hr.attendance'].search([
('employee_id', '=', employee.id),
('tz_check_in', '>=', pay_period['date_from'].strftime(DEFAULT_SERVER_DATETIME_FORMAT)),
('tz_check_in', '<=', pay_period['date_to'].strftime(DEFAULT_SERVER_DATETIME_FORMAT)),
('payslip_id', '=', False)])
однако, чувствительная к часовому поясу дата не сохраняется.