Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何将采购订单值复制到odoo11中的account.invoice_Python_Odoo_Odoo 11 - Fatal编程技术网

Python 如何将采购订单值复制到odoo11中的account.invoice

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中创建了另一个具有相同名称budget_id的自定义字段,当我创建采购订单并从此订单创建账单时,我希望将采购订单中budget_id的值复制到账单中的budget_id

我已经覆盖了purchase.order中的智能按钮方法“action\u view\u invoice”,并添加了代码,但什么也没有发生。还有其他方法吗

提前谢谢

我的代码 @api.multi def操作\查看\发票(自行):


account.invoice
对象具有字段
purchase\u id
,该字段是与
purchase.order
的链接。 因此,在account.invoice中,您可以通过任何方式(如在供应商账单创建最佳方法中)将采购订单
budget\u id
字段值输入account.invoice
budget\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