Вот мой код -
@api.multi
def fields_view_get(self, cr, uid, view_id=None, view_type=False, context=None, toolbar=False, submenu=False):
payslips = self.env['hr.payslip']
# [data] = self.read()
active_id = self.env.context.get('active_id')
if active_id:
[run_data] = self.env['hr.payslip.run'].browse(active_id).read(['date_start', 'date_end', 'credit_note'])
from_date = run_data.get('date_start')
to_date = run_data.get('date_end')
if not from_date or from_date == False:
today = datetime.today()
to_date = datetime.date(today.year, today.month, 1) - 1
from_date = datetime.date(to_date.year, to_date.month, 1)
if not to_date or to_date == False:
today = datetime.today()
to_date = datetime.date(today.year, today.month, 1) - 1
from_date = datetime.date(to_date.year, to_date.month, 1)
query = """select id from hr_employee where id not in
(select distinct employee_id from hr_payslip where date_from = '%s' and date_to = '%s')""" % (from_date, to_date)
query_res = self.env.cr.execute(query)
query_res = self.env.cr.fetchall()
emp_ids = []
for each_id in query_res:
emp_ids.append(each_id[0])
return {'domain': {'employee_ids':[('id','in',emp_ids)]}}
Я попытался вставить этот код в hr_payroll_payslips_by_employees.py, чтобы отфильтровать список сотрудников при выборе сотрудников для пакета платежных ведомостей.Цель состоит в том, чтобы избежать создания дубликатов платежных ведомостей за один и тот же период расчета.Но появляется сообщение об ошибке «TypeError: Невозможно прочитать свойство documentElement с нулевым значением»
Любая помощь по этому вопросу будет большой помощью, и заранее спасибо за то же самое.
EDIT:
Хотелось бы добавить здесь: что мой код работает отлично до последней строки, и ошибка возвращается только в последней строке при возврате домена обратно в мое поле m2m (employee_ids).
http://:8069/web/content/3598-e2a938e/web.assets_backend.js:585 Traceback: TypeError: Невозможно прочитать свойство 'documentElement' с нулевым значением в Class._postprocess_fvg (http://103.215.164.67:8069/web/content/3598-e2a938e/web.assets_backend.js:585:239) в Function ._. MapObject (http://103.215.164.67:8069/web/content/3455-057e365/web.assets_common.js:50:233) в Object. (http://103.215.164.67:8069/web/content/3598-e2a938e/web.assets_backend.js:580:189)на объекте. (http://103.215.164.67:8069/web/content/3455-057e365/web.assets_common.js:802:681) при пожаре (http://103.215.164.67:8069/web/content/3455-057e365/web.assets_common.js:796:299) на Object.fireWith [как resolWith] (http://103.215.164.67:8069/web/content/3455-057e365/web.assets_common.js:801:198) на объекте. (http://103.215.164.67:8069/web/content/3455-057e365/web.assets_common.js:802:874) при пожаре (http://103.215.164.67:8069/web/content/3455-057e365/web.assets_common.js:796:299) в Object.fireWith [as resolWith] (http://103.215.164.67:8069/web/content/3455-057e365/web.assets_common.js:801:198) в Object. (http://103.215.164.67:8069/web/content/3455-057e365/web.assets_common.js:802:874)