如何在树状视图中添加货币符号?

时间:2019-09-21 15:47:49

标签: odoo odoo-10

我想在字段金额中添加货币符号,应该像这样:$ 8,90但该符号未出现。这是我的代码:

<page string="Ventes et entrées">
                    <field name="sale_cash_in_ids">
                        <tree>
                            <field name="date"/>
                            <field name="name"/>
                            <field name="partner_id"/>
                            <field name="currency_id" groups="base.group_multi_currency"/>
                            <field name="amount" widget="monetary" options="{'currency_field': 'currency_id'}"/>
                        </tree>
                    </field>
                    <group class="oe_subtotal_footer oe_right">
                        <field name="sale_cash_in_sum"/>
                    </group>
                </page>

以及pos_session.py中的python代码:

class AccountBankStatement(models.Model):
_inherit = "pos.session"

sale_cash_in_ids = fields.One2many(comodel_name="account.bank.statement.line", inverse_name="sale_cash_in_id",
                                   compute="_compute_cash")
cash_out_ids = fields.One2many(comodel_name="account.bank.statement.line", inverse_name="cash_out_id",
                               compute="_compute_cash")
sale_cash_in_sum = fields.Monetary(string="Total", compute="_compute_total")
cash_out_sum = fields.Monetary(string="Total", compute="_compute_total")
sale_cash = fields.Monetary(string="Vente", compute="_compute_sum")
cash_in = fields.Monetary(string="Entrées", compute="_compute_cash_in")
cash_out = fields.Monetary(string="Dépenses", related="cash_out_sum")*

account_bank_statement.py中的python代码

class AccountBankStatementLine(models.Model):
_inherit = 'account.bank.statement.line'

sale_cash_in_id = fields.Many2one(comodel_name="pos.session")
cash_out_id = fields.Many2one(comodel_name="pos.session")

2 个答案:

答案 0 :(得分:1)

要在树形视图或表单视图中添加货币字段,首先必须在所需模型中定义货币和公司字段,然后将默认货币分配给货币字段。如果货币字段为空,那么您将看不到货币符号。

例如,示例代码应如下所示:

company_id = fields.Many2one('res.company', 'Company', 
    default=lambda self.env.user.company_id.id, index=1)
currency_id = fields.Many2one('res.currency', 'Currency',
    default=lambda self: self.env.user.company_id.currency_id.id,
    required=True)

为什么要在此处定义公司字段,因为我想将默认货币分配给公司上设置的货币字段。

您的xml代码看起来不错。

希望此代码对您有所帮助。

答案 1 :(得分:1)

将此添加到您的python代码中。

company_id = fields.Many2one('res.company', 'Company',default=lambda self.env.user.company_id.id, index=1)
currency_id = fields.Many2one('res.currency', 'Currency', default=lambda self:self.env.user.company_id.currency_id.id,required=True)