Questo sito utilizza cookie per le proprie funzionalità e per inviarti pubblicità e servizi in linea con le tue preferenze. Chiudendo questo banner, scorrendo questa pagina o cliccando qualunque suo elemento acconsenti all’uso dei cookie.

Accedendo al link http://www.odoo-italia.org/index.php/home/cookie-policy puoi leggere in dettaglio le modalità di trattamento dei cookie da parte dell'Associazione Odoo Italia.

Benvenuto, Ospite
Nome utente: Password: Ricordami

ARGOMENTO: nuovo campo non riconosciuto nella view

nuovo campo non riconosciuto nella view 5 Anni 4 Mesi fa #13558

  • django
  • Avatar di django
  • Offline
  • Junior Boarder
  • Messaggi: 33
  • Ringraziamenti ricevuti 5
  • Karma: 0
ciao a tutti,
ho incontrato un problema che , nella sua semplicità, ho difficoltà a risolvere.
In pratica:

1) aggiungo un campo di tipo "date" a sale.order tramite il .py:

# -*- encoding: utf-8 -*-
from openerp.osv import osv, fields

class sale_order_validity(osv.osv):
_inherit = 'sale.order'
_columns = {
'date_validity': fields.date('Data scadenza'),
}


2) aggiungo il campo al form del sale order nella view xml come segue:

<?xml version="1.0"?>
<openerp>
<data>
<record model="ir.ui.view" id="sale.view_order_form_ovalidity">
<field name="name">sale.order.form.ovalidity</field>
<field name="model">sale.order</field>
<field name="inherit_id" ref="sale.view_order_form"/>
<field name="arch" type="xml">
<xpath expr="//field[@name='date_order']" position="after">
<field name="date_validity"/>
</xpath>
</field>
</record>
</data>
</openerp>

Fin qui tutto bene, roba molto semplice. Il modulo si installa e nel form il campo si comporta correttamente (esiste, salva il contenuto, ecc).

Adesso se provo a fare un update del modulo "base" fallisce. Nel log trovo:

RROR test_mod openerp.osv.orm: Can't find field 'date_validity' in the following view parts composing the view of object model 'sale.order':
* sale.order.form.ovalidity

Either you wrongly customized this view, or some modules bringing those views are not compatible with your current data model
2013-10-11 09:33:12,815 2869 ERROR test_mod openerp.addons.base.ir.ir_ui_view: Can't render view sale.view_order_form for model: sale.order

A questo punto l'unico modo per ripristinare il funzionamento di questo DB è eliminare la riga in ir.ui.view con ID sale.view_order_form_ovalidity (la view qui sopra).

Non capisco quale possa essere il problema, è la prima volta che mi capita un paradosso simile .

:(
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

nuovo campo non riconosciuto nella view 5 Anni 4 Mesi fa #13559

  • django
  • Avatar di django
  • Offline
  • Junior Boarder
  • Messaggi: 33
  • Ringraziamenti ricevuti 5
  • Karma: 0
meno male che è venerdì :)

problema risolto.
Dovesse succedere a qualcuno.. la riga :
<record model="ir.ui.view" id="sale.view_order_form_ovalidity">

va cambiata in:

<record model="ir.ui.view" id="view_order_form_ovalidity">

altrimenti la nuova view viene chiamata ancora prima che il nuovo modulo venga caricato.

dj
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

nuovo campo non riconosciuto nella view 5 Anni 4 Mesi fa #13561

  • enlightx
  • Avatar di enlightx
  • Online
  • Platinum Boarder
  • Messaggi: 6064
  • Ringraziamenti ricevuti 638
  • Karma: 85
nell'attributo "id", ciò che viene specificato prima del punto generalmente viene associato al modulo openerp.

se si stanno creando viste nuove, e non eredidandone di esistenti (in questo caso in inherit_id o al massimo in id se si vuole sovrascrivere del tutto una vista esistente), generalmente davanti al punto non si specifica nulla.

al massimo puoi specificare il nome del tuo modulo
Davide Corio
Odoo Solution Architect
email: Questo indirizzo email è protetto dagli spambots. È necessario abilitare JavaScript per vederlo.
web: www.davidecorio.com
Ultima modifica: 5 Anni 4 Mesi fa da enlightx.
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.
Tempo creazione pagina: 0.199 secondi

Odoo Italia Associazione - C.F: 94200470485 - Sede: Viale dei Cadorna, 83 - Firenze - Italy

Protected by R Antispam