【问题标题】:Can i set default value by server action in odoo我可以通过 odoo 中的服务器操作设置默认值吗
【发布时间】:2016-08-08 06:38:25
【问题描述】:

我想在many2one 字段中设置默认值。但我想通过python codeserver actionon-creation 设置它。问题是,我不知道在server action 中写python code 的规则和规定是什么。有没有办法在服务器操作中设置 Many2one 字段的默认值。 例如: 通过自定义代码Set default value of field depends on other field in odoo进行相同的工作

我会非常感谢...

【问题讨论】:

    标签: openerp openerp-7 openerp-8 odoo-9


    【解决方案1】:

    您可以针对此要求使用自动操作。只需在设置/技术/自动化/自动化操作中创建一个。给它一个名字,你想运行它的正确模型,当然将“何时运行”设置为“创建时”。

    在第二个选项卡上添加一个新的服务器操作。在服务器操作的简单代码 sn-p 之后(它用于 sale.order,您需要具有给定外部 id 的 ir.config_parameter):

    object.write({'client_order_ref': 'YourRef'})
    if 'A' in object.partner_id.name:
        object.write({'note': 'AAAAAAAAAA'})
    else:
        object.write({'note': env.ref('mymodule.mycool_ir_config_parameter').value})
    

    该示例是为 Odoo V8+ 编写的。

    【讨论】:

    • 先生,我在服务器操作中编写此代码if object.debit==0: res=self.pool.get('account.analytic.account').search(cr, uid, [('name','=','Internal')], context=context) object.write({'account_analytic_id': res}),但它什么也没做..请帮助我...
    • 先生,您正在设置 char 字段值...您能告诉我如何设置 many2one 字段值..拜托...
    • 您可以搜索或使用env.ref()获取其他记录。之后,只需将您的 many2one 字段设置为记录 ID。例如(我知道这不是最好的例子):object.write({'partner_id': env['res.partner'].search([], limit=1).id}) 将在创建sale.order 时将数据库中的第一个合作伙伴设置为默认合作伙伴。
    • 谢谢先生。这段代码现在对我来说运行良好..res = self.pool.get('account.analytic.account').search(cr, uid, [('name','=','Internal')], context=context) object.write({'analytic_account_id': res[0]}) 谢谢...你是最棒的....
    • 先生你能告诉我如何在server action的python代码中比较current login user id
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-24
    • 1970-01-01
    • 1970-01-01
    • 2010-10-17
    • 2012-08-13
    • 1970-01-01
    相关资源
    最近更新 更多