請求書列の値を取得します。Odoo 10 - 私はaccount.invoiceモデルのリンク解除メソッドをオーバーライドしたい
現在、この方法は次のとおりです。
@api.multi
def unlink(self):
for invoice in self:
if invoice.state not in ('draft', 'cancel'):
raise UserError(
_('You cannot delete an invoice which is not draft or cancelled. You should refund it instead.'))
elif invoice.move_name:
raise UserError(_(
'You cannot delete an invoice after it has been validated (and received a number). You can set it back to "Draft" state and modify its content, then re-confirm it.'))
return super(AccountInvoice, self).unlink()
move_nameは(すなわち、有効なシーケンスがこの請求書に与えられた)割り当てられている場合、それはあなたが請求書を削除することはできません。 これは完璧で完璧な会計ルールですが、実際に請求書を削除する必要がある特定のビジネスの実際の運用についての理解が低いことを反映しています。
だから私は、それが発生した場合でも、ユーザーが最後の請求書を削除できるようにしたいです。 、プログラム的に(Pythonの消去方法の内側に)次のアクションが必要とされていることを行うために
:
- move_nameマッチの値があればその請求書に
- チェックを適用するシーケンスのIDを特定しますその場合、請求書を削除し、シーケンス
の次の値から1を引き、そのシーケンス
問合せ::これはあなたの最初のクエリに対する答えである
私は、ユーザーが作成しただけで、最後の請求書を削除したいです。 (ほとんどの国の会計基準/法律に従った)請求書の削除を許可しないで、間違いを修正するための余裕を提供するのは、公正な取引です。 –