Как запретить печать счета при пустом поле адреса клиента - PullRequest
0 голосов
/ 24 декабря 2018

Я использую odoo, и я хочу запретить печать счетов, когда адрес клиента пуст, есть идеи, пожалуйста, помогите?Как я могу проверить, является ли это поле или любое другое поле пустым или нет, это функция печати, я попробовал этот код, но ничего не происходит

      def invoice_print(self,cr,uid,values):
    """ Print the invoice and mark it as sent, so that we can see more
        easily the next step of the workflow
    """
    res_partner = self.pool.get('res.partner')
    adresse_partner = res_partner.browse(cr, uid, values.get('partner_id')).street
    code_tva_partner = res_partner.browse(cr, uid, values.get('partner_id')).CodeTVA
    if (code_tva_partner==False)or (adresse_partner==False) :
        raise UserError(_(
            "you cannot print invoice unless you enter partner adress and code TVA "))
    elif (code_tva_partner==True) and (adresse_partner==True):
      self.ensure_one()
      self.sent = True
    return self.env['report'].get_action(self, 'account.report_invoice')

1 Ответ

0 голосов
/ 24 декабря 2018

В этой функции self - это запись модели счета, которую вы пытаетесь partner_id, которая является клиентской записью для этого счета.Все, что вам нужно сделать, это добавить условие if в self.partner_id.street и, если это поле имеет значение False, что означает, что оно не установлено, вернуть своего рода предупреждение.Что будет препятствовать печати счета, если клиент не имеет связанного адреса.

...