Ich habe diese Einschränkung erstellen:_constraints kann nicht Erstattung Rechnung Odoo v10 Gemeinschaft
_constraints = [
(_unique_invoice_per_partner,
_('The Document you have been entering for this Partner has already'
' been recorded'),
['Control Number (nro_ctrl)', 'Reference (reference)']),
]
Es ist zu diesem Gebiet:
nro_ctrl = fields.Char(
string='Control Number', size=32, readonly=True, required=True,
states={'draft': [('readonly', False)]},
help="Number used to manage pre-printed invoices, by law you will"
" need to put here this number to be able to declarate on"
" Fiscal reports correctly.")
Diese Einschränkung arbeiten, wenn ich eine Rechnung zu erstellen, validieren, und bezahlen Sie es (dieses Feld ist auf account.invoice
Modell).
Aber wenn ich Rückerstattung schaffen, dann heißt es, dass ein Feld nicht richtig eingestellt ist:
The operation cannot be completed, probably due to the following:
- deletion: you may be trying to delete a record while other records still reference it
- creation/update: a mandatory field is not correctly set
[object with reference: nro_ctrl - nro.ctrl]
Ich habe auch diese Methode, die in der Theorie zu „kopieren“ ermöglichen sollte, oder eine Rechnung duplizieren, mit diesem Feld enthalten:
@api.multi
def copy(self, default=None):
""" Allows you to duplicate a record,
child_ids, nro_ctrl and reference fields are
cleaned, because they must be unique
"""
# NOTE: Use argument name ids instead of id for fix the pylint error
# W0621 Redefining buil-in 'id'
#if default is None:
#default = {}
default = self._context.copy() #default.copy()
default.update({
'nro_ctrl': None,
'supplier_invoice_number': None,
'sin_cred': False,
# No cleaned in this copy because it is related to the previous
# document, if previous document says so this too
'date_document': False,
'invoice_printer': '',
'fiscal_printer': '',
# No cleaned in this copy because it is related to the previous
# document, if previous document says so this too
# loc_req':False,
'z_report': '',
})
return super(AccountInvoice, self).copy(default)
Dies ist von einer Migration, die ich von v8 zu v10 Gemeinschaft mache.
Ich weiß nicht, ob diese copy
Methode sogar notwendig ist.
Wie kann ich eine Rückerstattung mit dieser Einschränkung erstellen? Ich meine, nro_ctrl
Feld damit zu nehmen.
Irgendwelche Ideen?
Hallo, Vielen Dank, aber ich bin mir nicht sicher, ob ich Ihren Punkt verstehe. Kannst du mir bitte ein Beispiel geben? Meinst du einen nro_ctrl-Wert für dict on copy method? Aber wäre das nicht Fehlzündung? – NeoVe
Sie haben update default.update ({'nro_ctrl': None}), aus diesem Grund erhalten Sie einen Fehler des erforderlichen Feldes. –
Okay, aber was ist der einzigartige Wert, den ich nro_ctrl verwenden sollte: self.nro_ctrl zum Beispiel? Anstelle von nro_ctrl: Keine? – NeoVe