亲爱的!你知道吗
我需要访问sales invoice头数据(即字段invoice_id
),以在invoice line table树视图中为字段(analytics_id
)设置另一个默认值。你知道吗
我编写了以下代码来确定字段analytics_id
的默认值,并在继承account.invoice.line
的自定义类中实现了它:
class my_account_invoice_line(osv.osv):
_inherit = "account.invoice.line"
def _default_analytics_id(self, cr, uid, context=None):
if context is None:
context = {}
invoice_id = context.get('invoice_id', False)
if invoice_id:
inv_obj = self.pool.get('account.invoice').browse(cr, uid, invoice_id, context=context)
plan = inv_obj.plan_id
return plan
return False
_defaults = {
'analytics_id': _default_analytics_id,
}
my_account_invoice_line()
令我惊讶的是,invoice_id
字段在上下文中不可用(context.get('invoice_id', False)
总是返回False
),尽管invoice header已经创建,并且有一个id。我确信,它必须以某种方式可用-只是想不出任何方法来实现它。你知道吗
你能把我带到正确的方向吗?你知道吗
感谢您的帮助,谢谢。你知道吗
各位
最后我成功了,并在这里记录了我的结果,希望它能帮助其他人解决这类问题。你知道吗
发票id(或发票头中的任何其他字段)需要通过相应XML文件中的
context
属性显式传递。因此,我以继承的形式修改了字段context
的invoice_line
属性,如下所示:备注:
context="{'type': type}"
是OpenERP7中的标准值(参见文件/addons/account/account_invoice_view.xml
)。你知道吗完成此操作后,发票行中就可以使用发票头数据中的
custom_field_id
值,您可以将其用于以下目的:敬礼
相关问题 更多 >
编程相关推荐