Как отправить данные словаря из метода в отчеты для цикла foreach в odoo 10

129
13

Я написал метод для печати отчетов, но я получаю пустые данные. Пожалуйста, проверьте приведенный ниже код и помогите мне.

def birthday_report(self,context=None):

rec = self.env['hr.employee'].search([('birthday','like',date.today().strftime("%____%-%m-%d"))])
print rec,'*************'
data = {}
data['form'] = rec.read(['name', 'birthday', 'work_email','mobile_phone','age'])
print data['form'],"*************************"

return self.env['report'].get_action(rec, 'hr_birthdays.report_contributionregister_birthdays',data=data)

Код отчета:

<tbody>
<tr t-foreach="data" t-as="o">
<td class="td-lrbotborder">
<span t-esc="o['name']" style=" font-size:13px;" />
</td>
<td class="td-botborder">
<span t-esc="o['birthday']" style=" font-size:13px;" />
</td>
<td class="td-botborder">
<span t-esc="o['age']" style=" font-size:13px;" />
</td>
<td class="td-botborder">
<span t-esc="o['mobile_phone']" style=" font-size:13px;" />
</td>
<td class="td-botborder">
<span t-esc="o['work_email']" style=" font-size:13px;" />
</td>
</tr>
</tbody>

спросил(а) 2021-01-26T00:43:51+03:00 9 месяцев назад
1
Решение
113

class TodayBirthdayReport(models.AbstractModel):
_name = 'report.hr_birthdays.report_birthdays'

@api.model
def render_html(self, docids, data=None):
if not data.get('form'):
raise UserError(_("Form content is missing, this report cannot be printed."))

register_ids = self.env.context.get('active_ids', [])
contrib_registers = self.env['hr.employee'].browse(register_ids)
docs = self.env['hr.employee'].browse(self.env.context.get('active_id'))
rec = self.env['hr.employee'].search([('birthday','like',date.today().strftime("%____%-%m-%d"))])

data1 = {}
data1['form'] = rec.read(['name', 'birthday', 'work_email','mobile_phone','age','image_medium'])

lines_data = data1['form']

docargs = {
'doc_ids': register_ids,
'doc_model': 'hr.dashboard',
'docs': contrib_registers,
'data': data,
'lines_data': lines_data,

}
return self.env['report'].render('hr_birthdays.report_birthdays', docargs)

ответил(а) 2021-01-26T00:43:51+03:00 9 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема