2017-10-28 17 views
1

나는 sale.order.line을 계승했으며 sale.order 단추에서 액세스 할 수있는 마법사 (sale.pack.wizard)를 추가했습니다. 게다가 마법사의 필드는 test (One2many)입니다. 이제 sale.order.line 모델의 test 필드 ID를 가져 오려고합니다. 그래서, 어떻게해야합니까?Odoo10 용 마법사 필드 ID를 전달하는 방법

class SaleOrderLine(models.Model): 
    _inherit = "sale.order.line" 

    @api.depends('product_uom_qty', 'discount', 'price_unit', 'tax_id', 'product_id','price_subtotal') 
    def _compute_amount(self): 
     active_id = self.env.context.get('active_ids', []) or [] 
     new = self.env['sale.pack.wizard'].browse(active_id) 
     #Here i want to show 'test' field id from wizard 

class SalePackWizard(models.TransientModel): 
    _name = "sale.pack.wizard" 
    _description = "Sale Pack Wizard" 

    product_id = fields.Many2one('product.product', string="Product Pack", required=True, domain="[('is_pack','=',True)]") 
    test = fields.One2many('product.gold','service',string="Pack Products",change_default=True, default=_onchange_action_product_add) 

답변

1

그런 목적으로는 달성 할 수 없습니다. Odoo (AutoVacuum osv_memory objects)에 예약 된 작업이 있으므로 30 분마다 (기본값) 모든 일시적인 모델 레코드가 제거됩니다. 즉, 마법사 테스트 필드 값을 가져올 수있는 경우에도 마법사를 처음 열 때 30 분이 지나면 값이 반환됩니다.

그럼 내가하는 일은 마법사에 필요한 정보를 저장하는 sale.order.line 모델에 새로운 필드를 만드는 것입니다. 그런 다음 마법사에서 단추를 만들고이 단추를 클릭하면 새로운 sale.order.line 필드에 필요한 정보가 채워지는 메서드를 실행합니다.

+0

마법사 필드의 판매 주문 조건을 추가하고 싶습니다. 하지만 이제는 마법사 필드에 아무런 이드가 없습니다. 그렇다면 마법사 필드의 ID를 판매 주문 양식으로 가져 오는 절차는 무엇입니까? –

+0

죄송합니다, 질문을 이해하지 못합니다. 짧은 순간에만이 정보가 필요한 경우가 아니라면 일시적인 모델 (마법사)에서 정보를 얻을 수 없으며 일시적인 모델을 얻으려는 것으로 보이기 때문에 이것이 아니라고 생각합니다. 정보 (영구 데이터가 필요한) 필드의 계산 메소드에있는 정보. – forvas

+0

네, 저도 노력하고 있습니다. –