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
  • Pagina:
  • 1
  • 2

ARGOMENTO: Configurare un "menu a tendina"

Configurare un "menu a tendina" 2 Anni 7 Mesi fa #24588

  • helpdesk
  • Avatar di helpdesk
  • Offline
  • Fresh Boarder
  • Messaggi: 13
  • Karma: 0
:newhere:
Buongiorno.

Sono ai primi passi con Odoo, sto facendo esperimenti per capire come funzionano le cose. Sono a digiuno di pyton, cerco di imparare leggendo guide e tutorial e guardando il codice esistente.

L'aggiunta di nuovi campi è sufficientemente chiara, come pure la creazione di nuovi modelli.
Ho creato un campo x_responsible, *many2one*, che mi propone i valori di x_responsibles. Ho anche creato x_address_type che prende i valori da x_address_type.
Il problema: quando scelgo dal menu a tendina mi vengono mostrati i record delle due tabelle di appoggio ma il contenuto è il nome della tabella e un numero progressivo. Dopo aver selezionato uno dei valori, nel form viene visualizzato (e suppongo memorizzato) quello che vedevo nel menu a tendina (in pratica "x_responsibles,1" oppure "x_address_type,3").

Domanda: come faccio a mostrare nel menu a tendina i valori della tabella (p.e. "Distributor", "Manufacturer", "Private", "Agent", eccetera) e a memorizzarli in modo che siano visualizzati correttamente nel form? Devo creare una view apposita per il menu a tendina? con che criterio seleziono la voce da memorizzare?

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

Configurare un "menu a tendina" 2 Anni 7 Mesi fa #24599

  • G.Conte
  • Avatar di G.Conte
  • Offline
  • Platinum Boarder
  • Messaggi: 344
  • Ringraziamenti ricevuti 40
  • Karma: 0
Ciao, vuoi postare come definisci il campo 'many2one'??
Dinamiche Aziendali
www.dinamicheaziendali.it
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

Configurare un "menu a tendina" 2 Anni 7 Mesi fa #24600

  • helpdesk
  • Avatar di helpdesk
  • Offline
  • Fresh Boarder
  • Messaggi: 13
  • Karma: 0
Ciao

premessa: i due nuovi campi li ho infilati direttamente in res.partner.form, non ho creato form di appoggio (inherited) o altro in quanto tutto il sistema è comunque "di prova" e mi serve per capire come funzionano le cose.

Questo è un estratto ottenuto con "edit form view":

<group>
<field name="x_address_type" placeholder="Address Type" class="x_address_type" options="{"no_open": True, "no_create": True}" attrs="{'readonly': [('type', '=', 'contact'),('parent_id', '!=', False)]}"/>
<field name="x_responsible" placeholder="Responsible" class="x_responsibles" options="{"no_open": True, "no_create": True}" attrs="{'readonly': [('type', '=', 'contact'),('parent_id', '!=', False)]}"/>
</group>

non sono sicuro della correttezza di quanto ho scritto, ho utilizzato il campo country_id come esempio per vedere cosa succedeva, modificando i nomi dei campi e dei model di origine dei dati; i parametri options e attrs non li ho modificati rispetto all'originale:

<field name="country_id" placeholder="Country" class="o_address_country" options="{"no_open": True, "no_create": True}" attrs="{'readonly': [('type', '=', 'contact'),('parent_id', '!=', False)]}"/>

il sistema non mi da errori quando salvo, i valori che seleziono vengono effettivamente memorizzati per cui la base è corretta. Poi, come scritto sopra, il risultato 'estetico' è tutt'altro che comprensibile.
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

Configurare un "menu a tendina" 2 Anni 7 Mesi fa #24607

  • G.Conte
  • Avatar di G.Conte
  • Offline
  • Platinum Boarder
  • Messaggi: 344
  • Ringraziamenti ricevuti 40
  • Karma: 0
Ciao, posta il codice python, questo credo sia corretto. Il problema è che la form ti mostra il record con l'id, quindi penso che l'errore sta nel codice python.
Dinamiche Aziendali
www.dinamicheaziendali.it
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

Configurare un "menu a tendina" 2 Anni 7 Mesi fa #24612

  • helpdesk
  • Avatar di helpdesk
  • Offline
  • Fresh Boarder
  • Messaggi: 13
  • Karma: 0
Grazie per la pazienza ma qui sono impreparato, non so cosa e dove andare a cercare. Suppongo che sia un file .py abbinato al form res.partner.form, external ID base.view_partner_form, ma ho fatto passare i vari menu senza trovare qualcosa di simile. Ho anche cercato nella cartella odoo, ci sono svariati file res_partner.py nella cartella addons ma è il classico ago in un pagliaio. I nomi dei campi (x_responsible e x_address_type) non figurano in nessun file .py
Qui mi serve una guida passo passo :rtfm: , Odoo è la versione 9.0c
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

Configurare un "menu a tendina" 2 Anni 7 Mesi fa #24614

  • G.Conte
  • Avatar di G.Conte
  • Offline
  • Platinum Boarder
  • Messaggi: 344
  • Ringraziamenti ricevuti 40
  • Karma: 0
Ciao, la strada migliore e quella per avere quello che ti serve, è creare un piccolo moduletto dove in un file .py vai a creare una classe che eredita 'res.partner' e dove vai a creare i due campi che ti servono.
Esempio:
class PartnerExtended(models.Model):
    _inherit = 'res.partner'

    x_responsible_id = fields.Many2one('res.partner', string='Responsabile')
    x_address_type_id = fields.Many2one('tabella_address_type', string='Address Type')

E crei un file xml dove erediti la form 'res.partner.form' e ci aggiungi i due campi x_responsible_id x_address_type_id
Dinamiche Aziendali
www.dinamicheaziendali.it
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.
  • Pagina:
  • 1
  • 2
Tempo creazione pagina: 0.134 secondi

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

Protected by R Antispam