#odoo-8
Вопрос:
Я пытаюсь отобразить процент налога вместо их имени в разделе бухгалтерия > счета-фактуры клиентов>
Я хочу получить процент от бухгалтерского учета > конфигурация >> налоги >>> налоги>>>
Я не знаю, как этого добиться
Комментарии:
1. Функция name_get была переопределена для использования поля описания (кода) или поля имени. Вы можете переопределить его, чтобы использовать другое поле (например, поле вычисленного процента) или комбинацию названия налога и процента.
2. спасибо @Kenly за ответ, я все еще учусь odoo, и я еще многого не понимаю, поэтому, пожалуйста, если вы можете объяснить больше на примере, буду очень признателен
Ответ №1:
Параметр name_get возвращает текстовое представление для записей в self
.
По умолчанию это значение display_name
поля.
Метод был переопределен в account.tax для использования поля описание (Код) или поля имя. В следующем примере мы переопределим тот же метод, чтобы показать процент от суммы налога.
class AccountTax(models.Model):
_inherit = 'account.tax'
@api.multi
def name_get(self):
res = []
for record in self:
percentage = int(record.amount * 100)
name = str(percentage) "%"
res.append((record.id, name))
return res
Редактировать:
Чтобы использовать то же представление в отчете по счету-фактуре (в котором используется поле имя для названия налога), просто вызовите name_get
функцию, чтобы получить отображаемое имя.
Пример: Унаследовать отчет по счету-фактуре, чтобы использовать отображаемое имя вместо названия налога
<template id="report_invoice_document" inherit_id="account.report_invoice_document">
<xpath expr="//tbody[hasclass('invoice_tbody')]/tr/td[5]/span" position="attributes">
<attribute name="t-esc">', '.join(map(lambda x: x.name_get()[0][1], l.invoice_line_tax_id))</attribute>
</xpath>
</template>
Комментарии:
1. извините @Kenly за беспокойство, код работает отлично, но когда я пытаюсь распечатать счет-фактуру, у меня есть название налога, а не процент, можете ли вы помочь и поблагодарить вас
2. Без проблем. В отчете по счету-фактуре используется название налога (поле имя), и вам необходимо изменить шаблон документа отчета по счету-фактуре, чтобы использовать отображаемое имя. Проверьте мою правку