Python 如何将采购订单值复制到odoo11中的account.invoice
我已在采购订单中创建了一个自定义字段,在account.invoice中创建了另一个具有相同名称budget_id的自定义字段,当我创建采购订单并从此订单创建账单时,我希望将采购订单中budget_id的值复制到账单中的budget_id 我已经覆盖了purchase.order中的智能按钮方法“action\u view\u invoice”,并添加了代码,但什么也没有发生。还有其他方法吗 提前谢谢 我的代码 @api.multi def操作\查看\发票(自行):Python 如何将采购订单值复制到odoo11中的account.invoice,python,odoo,odoo-11,Python,Odoo,Odoo 11,我已在采购订单中创建了一个自定义字段,在account.invoice中创建了另一个具有相同名称budget_id的自定义字段,当我创建采购订单并从此订单创建账单时,我希望将采购订单中budget_id的值复制到账单中的budget_id 我已经覆盖了purchase.order中的智能按钮方法“action\u view\u invoice”,并添加了代码,但什么也没有发生。还有其他方法吗 提前谢谢 我的代码 @api.multi def操作\查看\发票(自行): account.invoic
account.invoice
对象具有字段purchase\u id
,该字段是与purchase.order
的链接。
因此,在account.invoice中,您可以通过任何方式(如在供应商账单创建最佳方法中)将采购订单budget\u id
字段值输入account.invoicebudget\u id
字段
代码链接-因此我必须将采购id添加到account.invoice中,因为它没有在我的addonsthanx中的模型中定义。你保存了我的日期。我实际上不喜欢这个答案,因为答案在哪里?何时设置帐户、发票、采购id?试一试,试着在默认的Odoo中找到一张供应商发票,
purchase\u id
设置为它。你找不到一个答案,这就引出了一个问题,purchase\u id
如何帮助他人,谁会读这个答案?我确实知道这个领域的背后是什么,也许提问者现在也知道了。但这不是造成StackOverflow的原因。请在你的回答中详细说明。谢谢。哦,如果我正确地理解了提问者(他/她的两条评论),那么你的回答就不会像你希望的那样有用了:-O
action = self.env.ref('account.action_invoice_tree2')
result = action.read()[0]
result['context'] = {'type': 'in_invoice', 'default_purchase_id': self.id}
if not self.invoice_ids:
# Choose a default account journal in the same currency in case a new invoice is created
journal_domain = [
('type', '=', 'purchase'),
('company_id', '=', self.company_id.id),
('currency_id', '=', self.currency_id.id),
]
default_journal_id = self.env['account.journal'].search(journal_domain, limit=1)
if default_journal_id:
result['context']['default_journal_id'] = default_journal_id.id
else:
# Use the same account journal than a previous invoice
result['context']['default_journal_id'] = self.invoice_ids[0].journal_id.id
# choose the view_mode accordingly
if len(self.invoice_ids) != 1:
result['domain'] = "[('id', 'in', " + str(self.invoice_ids.ids) + ")]"
elif len(self.invoice_ids) == 1:
res = self.env.ref('account.invoice_supplier_form', False)
result['views'] = [(res and res.id or False, 'form')]
result['res_id'] = self.invoice_ids.id
result['context']['default_origin'] = self.name
result['context']['default_reference'] = self.partner_ref
result['context']['default_budget_id'] = self.budget_id.id # my code here
return result