2016-02-28 8 views
0

Я хочу, чтобы клиент был сильным, чтобы выбрать журнал в форме формы счета и не иметь первый предварительно выбранный.Как установить журнал счетов по умолчанию Odoo на null в счетах?

Какой правильный способ заменить по умолчанию, в поле partner_id изменить событие выбора журнала по умолчанию - тигр.

Редактировать

Если я пытаюсь переопределить onchange_partner_id функции я получаю следующую ошибку:

File "/opt/PycharmProjects/gca_odoo/clientes/client_PRINCE/models.py", line 22, in onchange_partner_id 
    self.journal_id = False 
    File "/opt/PycharmProjects/gca_odoo/3party/server/openerp/fields.py", line 847, in __set__ 
    record.ensure_one() 
    File "/opt/PycharmProjects/gca_odoo/3party/server/openerp/models.py", line 5306, in ensure_one 
    raise except_orm("ValueError", "Expected singleton: %s" % self) 
except_orm: ('ValueError', 'Expected singleton: account.invoice()') 

Я использую следующий код:

class account_invoice(models.Model): 
    _inherit = 'account.invoice' 

    @api.multi 
    def onchange_partner_id(self, type, partner_id, date_invoice=False,payment_term=False, partner_bank_id=False, company_id=False): 
     ret = super(account_invoice,self).onchange_partner_id(type=type, partner_id= partner_id, 
     date_invoice=date_invoice,payment_term=payment_term, partner_bank_id=partner_bank_id, company_id=company_id) 
     self.journal_id = False 
     return ret 

ответ

0

Вы можете переопределить OnChange метод, вызов как супер, и после этого установите для jopurnal поля значение False, чтобы его удалить.

EDIT: Вы используете декор multi. Вместо этого вы должны использовать один.

+0

Файл «/opt/PycharmProjects/gca_odoo/clientes/client_PRINCE/models.py», строка 22, в onchange_partner_id self.journal_id = False Файл "/opt/PycharmProjects/gca_odoo/3party/server/openerp/fields.py", строка 847, в __set__ record.ensure_one() Файл «/ Opt/PycharmProjects/gca_odoo/3party/server/openerp/models.py ", строка 5306, в sure_one raise except_orm (" ValueError "," Ожидаемый синглтон:% s "% self) –

+0

Код I Использование: @ api.multi Защиту onchange_partner_id (я, тип, partner_id, date_invoice = False, payment_term = False, partner_bank_id = False, company_id = False): RET = супер (account_invoice, самость) .onchange_partner_id (типа = тип , partner_id = partner_id, date_invoice = date_invoice, payment_term = payment_term, partner_id = company_id) self.journal_id = Falsereturn ret –

+0

в комментарии не представляется возможным. Редактировать вопрос с кодом (в формате) –

0

Я хотел бы сделать что-то вроде следующего кода, я предполагаю, что вы перекрывая правильный метод:

@api.multi 
def onchange_partner_id(self, type, partner_id, date_invoice=False, payment_term=False, 
         partner_bank_id=False, company_id=False): 
    res = super(invoice, self).onchange_partner_id(
     type, partner_id, date_invoice, 
     payment_term, partner_bank_id, company_id 
    ) 
    if partner_id: 
     res['value'].update({ 
      'journal_id': False, 
     }) 
    return res 

 Смежные вопросы

  • Нет связанных вопросов^_^