【问题标题】:In openerp, how to access field value of form via wizard在 openerp 中,如何通过向导访问表单的字段值
【发布时间】:2013-12-24 07:25:50
【问题描述】:

这可能很愚蠢,但我不知道。

当我们转到会计 -> 客户 -> 客户发票(模型:account.invoice)时,有一个字段“总计”(amount_total)。

我在 account.voucher 中添加了一个布尔字段。

 'test': fields.boolean('Test'),

现在在向导(支付发票)中,点击“注册付款”按钮即可打开。我想根据“总计”的值使该字段可见或不可见。如果我们填写的“支付金额”(金额)小于“总金额”,则“测试”字段应该可见,否则不可见。

我怎样才能使它成为可能?

提前感谢。

【问题讨论】:

    标签: openerp wizard invoices


    【解决方案1】:

    account_voucher-> invoice.py 文件中有一个名为invoice_pay_customer 的方法。

    这是当你点击注册支付按钮时调用的方法(启用调试模式),你只需要更新上下文值,你只需要覆盖这个方法,

    def invoice_pay_customer(self, cr, uid, ids, context=None):
        vals = super(invoice, self).invoice_pay_customer(cr, uid, ids, context=None)
        inv = self.browse(cr, uid, ids[0], context=context)
        vals.get('context').update({"default_amount": inv.amount_total})
        return vals
    

    它将在弹出窗口中设置金额。

    【讨论】:

      【解决方案2】:

      据我了解,在阅读您的问题后,您希望发票表格中的总金额值好吗?

      并基于此您想隐藏一些字段?

      因为你可以做一件事,

      在向导中添加一个字段总计,其中包含发票总计的值,

      获取发票总价值

      覆盖 default_get 方法

      def default_get(self, cr, uid, fields, context=None):
      

      在此方法中,您将从此活动 ID 获取当前发票的 active_id 或 active_ids,您将获得发票总字段值并在向导中设置总价值

      希望有帮助

      【讨论】:

      • 感谢您的回复。有什么我可以直接获得价值的东西吗??????我的意思是减少 .py 的变化。
      • 然后照 atul 写的做
      • 或在 def invoice_pay_customer(self, cr, uid, ids, context=None) 中的 account_voucher 模块中:在上下文中添加发票总价值,并从上下文中获取发票总价值
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-31
      • 1970-01-01
      相关资源
      最近更新 更多