跳至内容
菜单
此问题已终结
3 回复
12947 查看

I added a field in the sale.order called 'sale_notes'. And another in the stock.picking named 'delivery_notes'. I want to transfer the data from the sale_notes to the delivery_notes, when the confirm button (action_confirm) is pressed. How to accomplish that?

形象
丢弃
最佳答案

class SaleOrder(models.Model):

    _inherit = 'sale.order'

    @api.multi

    def action_confirm(self):

        res = super(SaleOrder, self).action_confirm()

        for do_pick in self.picking_ids:

            do_pick.write({'notes': self.note})

        return res


形象
丢弃
最佳答案

Override the action_confirm.


@api.multi
def action_confirm(self):
res = super(sale_order, self).action_confirm()
for rec in self:
rec.picking_ids.write({'delivery_note': rec.sale_note})
return res
形象
丢弃
最佳答案

Dear Jones,

This code will help you. 

Sale Order

-------------------------------------

from odoo import fields, models

class SaleOrder(models.Model):

    _inherit = "sale.order"

    shipping_note = fields.Text(

        string="Shipping Notes"

    )

---------------------------------------------

Picking

----------------

from odoo import api, fields, models

class Picking(models.Model):

    _inherit = "stock.picking"

    delivery_shipping_note = fields.Text(

        string="Shipping Notes",

        compute="compute_shipping_note",

    )

    @api.depends('move_lines', 'state')

    def compute_shipping_note(self):

        for record in self:

            for move in record.move_lines:

                if move.sale_line_id \

                        and move.sale_line_id.order_id.\

                        shipping_note:

                    record["delivery_shipping_note"] = \

                        move.sale_line_id.order_id.shipping_note

                    break

形象
丢弃

This was very helpful, thanks :)

相关帖文 回复 查看 活动
1
3月 23
2481
7
7月 19
4845
0
6月 19
3258
0
3月 19
5369
2
9月 18
3301