Good afternoon,
I would like to create a model similar to the move_lines of stock.move (stock.picking) with some changes. I created a many2one field within the items_lines -> (page. Ex: <page string = "Initial Demand">) where I can choose the source, after choosing the source I would like to see next to the products in many2one that is Within the origin and next to the quantity according to the product that is in the request. Remembering that this model is new.
Can not do a domain for lack of necessary fields
My code:
Where i can not make it work:
@api.one
@api.depends('name')
def get_product(self):
lines = self.env['sale.order.line'].search([('order_id','=',self.name.id)])
for line in lines:
product = line.product_id
self.product_id = product
product_id = fields.Many2one('product.product', inverse='get_product')
My code all:
class stockentregaslines(models.Model):
_name = 'stock.picking.entregas.lines'
_description = 'Group Lines'
_order = 'entregas_id, sequence, id'
entregas_id = fields.Many2one('stock.picking.entregas', string=u'Nº Romaneio', required=True, ondelete='cascade', index=True, copy=False)
sequence = fields.Integer(string='Sequence', default=10, index=True)
name = fields.Many2one('sale.order', u'Saída', domain=lambda self: [('name', '=', self.env['stock.picking'].search([('state','=','assigned')]).mapped('origin'))])
proceda = fields.Many2one('tabela.proceda', 'Ocorrência')
@api.onchange('name')
def get_out_entrega(self):
for line in self:
line.out_name = line.name.name
out_name = fields.Char(string=u'Saída', compute='get_out_entrega')
@api.one
@api.depends('name')
def get_product(self):
lines = self.env['sale.order.line'].search([('order_id','=',self.name.id)])
for line in lines:
product = line.product_id
self.product_id = product
product_id = fields.Many2one('product.product', inverse='get_product')
@api.one
@api.depends('name')
def get_qty_pedido(self):
lines = self.env['sale.order.line'].search([('order_id','=',self.name.id)])
qty = 0
prod = None
for line in lines:
qty = line.product_uom_qty
self.produtos_qty = qty
produtos_qty = fields.Char(string='Quantidade', compute='get_qty_pedido', store=True)
@api.one
@api.depends('name')
def get_partner_id(self):
line = self.env['sale.order'].search([('name','=',self.out_name)])
partner = 0
cep = 0
street = None
number = None
state = None
for lines in line:
partner = lines.partner_id.id
cep = lines.partner_id.zip
street = lines.partner_id.street
number = lines.partner_id.number
state = lines.partner_id.state_id.name
self.partner_id = partner
self.zip = cep
self.rua = street
self.numero = number
self.estado = state
partner_id = fields.Many2one('res.partner',string='Cliente', compute='get_partner_id',store=True)
zip = fields.Char(string=u'CEP', compute='get_partner_id', store=True)
rua = fields.Char(string=u'Rua', compute='get_partner_id', store=True)
numero = fields.Char(compute='get_partner_id', store=True)
estado = fields.Char(String=u'Estado', compute='get_partner_id', store=True)
completo= fields.Char(string=u'Rua')
@api.one
@api.depends('name')
@api.constrains('name')
def _change_rua_name(self):
if self.rua:
self.completo = self.rua + ', ' + str(self.numero)
# @api.multi
# @api.depends('origem')
# def method_validar(self):
# self.env['stock.picking'].search([('origin','=', self.origem)]).do_new_transfer()