Forum

Benvenuto!

Questo è il forum ufficiale dell'Associazione Odoo Italia. Dopo esserti registrato potrai partecipare ponendo domande o rispondendo a quelle esistenti. Non scordarti di compilare il tuo profilo e consultare le linee guida prima di iniziare a scrivere.

0

Update di fatturapa fallisce

Avatar
Alberto Carollo

Buongiorno a tutti, durante l'update (-u all) del mio database ricevo questo errore:

ParseError: "ERRORE:  valori null nella colonna "name" violano il vincolo non-null
DETAIL: La riga in errore contiene (163, 1, null, 1, 1, null, 2019-11-04 14:10:40.738296, 2019-11-04 14:10:40.738296, t, null, f, 2, 5).
" while parsing /opt/odoo/odoo10/local/lib/python2.7/site-packages/odoo/addons/l10n_it_fatturapa/demo/account_invoice_fatturapa.xml:92, near
<record id="account.account_payment_term" model="account.payment.term">
<field name="fatturapa_pt_id" ref="l10n_it_fiscal_payment_term.fatturapa_tp02"/>
<field name="fatturapa_pm_id" ref="l10n_it_fiscal_payment_term.fatturapa_mp05"/>
</record>

Ho controllato gli ext_id e sembrano a posto:

 id   |      name      |           module            |         model          | res_id 
--------+----------------+-----------------------------+------------------------+--------
164864 | fatturapa_tp02 | l10n_it_fiscal_payment_term | fatturapa.payment_term | 2
--------+----------------+-----------------------------+--------------------------+--------
164871 | fatturapa_mp05 | l10n_it_fiscal_payment_term | fatturapa.payment_method | 5
In un database test sulla stessa istanza funziona tutto a meraviglia. Non saprei più dove guardare. 
Avete qualche suggerimento da darmi?
Grazie mille.

Avatar
Abbandona
1 risposta
0
Avatar
Lorenzo Battistini
Migliore risposta

Manca qualche riga del log? Non vedo la tabella dove fallisce il vincolo

Avatar
Abbandona
0
Avatar
Alberto Carollo
Migliore risposta

Ecco una parte di log più completa:

sql_db: bad query: INSERT INTO "account_payment_term" ("id", "fatturapa_pt_id", "fatturapa_pm_id", "company_id", "active", "riba", "create_uid", "write_uid", "create_date", "write_date") VALUES(nextval('account_payment_term_id_seq'), 2, 5, 1, true, false, 1, 1, (now() at time zone 'UTC'), (now() at time zone 'UTC')) RETURNING id
2019-11-06 07:36:54,530 32321 WARNING ecobeton10 odoo.modules.loading: Transient module states were reset
2019-11-06 07:36:54,547 32321 ERROR ecobeton10 odoo.modules.registry: Failed to load registry
Traceback (most recent call last):
  File "/opt/odoo/odoo10/lib/python2.7/site-packages/odoo/modules/registry.py", line 83, in new
    odoo.modules.load_modules(registry._db, force_demo, status, update_module)
  File "/opt/odoo/odoo10/lib/python2.7/site-packages/odoo/modules/loading.py", line 373, in load_modules
    force, status, report, loaded_modules, update_module, models_to_check)
  File "/opt/odoo/odoo10/lib/python2.7/site-packages/odoo/modules/loading.py", line 270, in load_marked_modules
    perform_checks=perform_checks, models_to_check=models_to_check
  File "/opt/odoo/odoo10/lib/python2.7/site-packages/odoo/modules/loading.py", line 185, in load_module_graph
    _load_data(cr, module_name, idref, mode, kind='demo')
  File "/opt/odoo/odoo10/lib/python2.7/site-packages/odoo/modules/loading.py", line 96, in _load_data
    tools.convert_file(cr, module_name, filename, idref, mode, noupdate, kind, report)
  File "/opt/odoo/odoo10/lib/python2.7/site-packages/odoo/tools/convert.py", line 846, in convert_file
    convert_xml_import(cr, module, fp, idref, mode, noupdate, report)
  File "/opt/odoo/odoo10/lib/python2.7/site-packages/odoo/tools/convert.py", line 916, in convert_xml_import
    obj.parse(doc.getroot(), mode=mode)
  File "/opt/odoo/odoo10/lib/python2.7/site-packages/odoo/tools/convert.py", line 797, in parse
    self.parse(rec, mode)
  File "/opt/odoo/odoo10/lib/python2.7/site-packages/odoo/tools/convert.py", line 800, in parse
    self._tags[rec.tag](rec, de, mode=mode)
  File "/opt/odoo/odoo10/lib/python2.7/site-packages/odoo/tools/convert.py", line 708, in _tag_record
    id = self.env(context=rec_context)['ir.model.data']._update(rec_model, self.module, res, rec_id or False, not self.isnoupdate(data_node), noupdate=self.isnoupdate(data_node), mode=self.mode)
  File "/opt/odoo/odoo10/local/lib/python2.7/site-packages/odoo/addons/base/ir/ir_model.py", line 1252, in _update
    record = record.create(values)
  File "/opt/odoo/odoo10/lib/python2.7/site-packages/odoo/models.py", line 3876, in create
    record = self.browse(self._create(old_vals))
  File "/opt/odoo/odoo10/lib/python2.7/site-packages/odoo/models.py", line 3971, in _create
    cr.execute(query, tuple(u[2] for u in updates if len(u) > 2))
  File "/opt/odoo/odoo10/lib/python2.7/site-packages/odoo/sql_db.py", line 154, in wrapper
    return f(self, *args, **kwargs)
  File "/opt/odoo/odoo10/lib/python2.7/site-packages/odoo/sql_db.py", line 231, in execute
    res = self._obj.execute(query, params)
ParseError: "ERRORE:  valori null nella colonna "name" violano il vincolo non-null
DETAIL:  La riga in errore contiene (165, 1, null, 1, 1, null, 2019-11-06 07:36:52.022477, 2019-11-06 07:36:52.022477, t, null, f, 2, 5).
" while parsing /opt/odoo/odoo10/local/lib/python2.7/site-packages/odoo/addons/l10n_it_fatturapa/demo/account_invoice_fatturapa.xml:92, near
<record id="account.account_payment_term" model="account.payment.term">
            <field name="fatturapa_pt_id" ref="l10n_it_fiscal_payment_term.fatturapa_tp02"/>
            <field name="fatturapa_pm_id" ref="l10n_it_fiscal_payment_term.fatturapa_mp05"/>
        </record>

Avatar
Abbandona
0
Avatar
Lorenzo Battistini
Migliore risposta

Sembra trattarsi di un database demo. Probabilmente è stato eliminato uno dei termini di pagamento tra fatturapa_pt_id e fatturapa_pm_id

Come mai lo vuoi far funzionare? Ti conviene buttarlo.

Avatar
Abbandona
0
Avatar
Alberto Carollo
Migliore risposta

In realtà è un db di produzione, stavo per l'appunto testandone il ripristino. Però ho scoperto che per qualche motivo i moduli di fatturapa hanno il campo demo della tabella ir_module_module impostato su true! Grazie per la dritta (mi era sfuggito l'ovvio).

Avatar
Abbandona