Python 2.7 客户地址字段为空时如何禁止打印发票
我使用的是odoo,我想禁止在客户地址为空时打印发票。有什么需要帮助的吗?如何验证此字段或任何其他字段是否为空 这是打印的功能。我试过这个代码,但什么都没有发生Python 2.7 客户地址字段为空时如何禁止打印发票,python-2.7,odoo-9,Python 2.7,Odoo 9,我使用的是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 """
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')
在此函数中,self是您正在尝试的发票模型的记录
partner\u id
,这是此发票的客户记录。你所要做的就是在self.partner\u id.street上添加一个if
条件,如果该字段为False,表示未设置,则返回一种警告。如果客户没有相关地址,这将阻止打印发票。我开始使用Odoo11,但从未有机会使用版本9,因此字段名称可能不同。这真的有必要吗<代码>合作伙伴id在self
中,这是帐户的记录集。发票
已经是一个相关字段,您应该能够通过使用
操作符获得相关的合作伙伴,如self.partner\u id
。或者至少Odoo11版本是这样工作的。