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: Filtrare in campo many2one non solo per nome?

Filtrare in campo many2one non solo per nome? 3 Anni 3 Giorni fa #23408

  • gbonline
  • Avatar di gbonline
  • Offline
  • Senior Boarder
  • Messaggi: 45
  • Ringraziamenti ricevuti 1
  • Karma: 0
Salve
in una form, quando è presente un field many2one, digitanto i caratteri si filtrano i risultati per "name" e si raggiunge il record cercato.

Vorrei sapere se esiste un modo per poter filtrare anche per altri campi non solo per "name"?
Ad esempio, ho esteso il modello Res.partner, aggiungendo un campo Card_number,
ed ora sto realizzando un wizard nel quale la ricerca del partner mi piacerebbe
poterla fare anche per card_number oltre che per name.
C'è qualche idea in merito a questa possibilità?

Stavo provando con un codice come questo che riporto, in cui creo una vista con name combinato da card_code e name originari per cui potrei poi ottenere il filtro ricerca desiderato, ma ho l'inconveniente che quando mostro il wizard, il campo parent_id della form , mostra un elenco vuoto !!
Avete suggerimenti da fornire?
class tempo_partner(orm.Model):
    _name = "arema.tempo.view"
    _auto = False
    _columns = {
        'name': fields.char('Name', size=50),
    }

    def init(self, cr):
        tools.drop_view_if_exists(cr, 'arema_wizard_check_view')

        cr.execute(""" CREATE VIEW arema_wizard_check_view AS
                            select id, concat(card_code , ' ', name) as name from res_partner where is_company=False and LENGTH(card_code)=16
                    """)
tempo_partner()

class arema_wizard(orm.TransientModel):
    _name="arema_wizard"
    _columns = {
        "partner_id": fields.many2one('arema.tempo.view', string='Partner')
    }
arema_wizard()
Ultima modifica: 3 Anni 2 Giorni fa da gbonline.
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

Filtrare in campo many2one non solo per nome? 3 Anni 1 Giorno fa #23422

  • G.Conte
  • Avatar di G.Conte
  • Offline
  • Platinum Boarder
  • Messaggi: 344
  • Ringraziamenti ricevuti 40
  • Karma: 0
Ciao, dimmi se ho capito quello che vuoi fare..Tu vuoi semplicemente creare un filtro per un field che crei tu?? Se è si la cosa è semplice, ti crei un file xml dove erediti la vista che ti interessa e li vai a creare il filtro..
Dinamiche Aziendali
www.dinamicheaziendali.it
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

Filtrare in campo many2one non solo per nome? 3 Anni 1 Giorno fa #23426

  • gbonline
  • Avatar di gbonline
  • Offline
  • Senior Boarder
  • Messaggi: 45
  • Ringraziamenti ricevuti 1
  • Karma: 0
Ciao G.Conte
hai presente la funzionalità di un field many2one quando si è in fase di inserimento/modifica di un record?
il campo m2o permette di digitare alcuni caratteri e con questi screma i risultati dell'elenco a discesa , con l'aggiunta di 2 opzioni "Cerca ancora" e " Crea..." . La funzionalità normale prevede la ricerca nel campo "name" del record
A me interessa replicare la funzionalità della digitazione e recupero del record solo che oltre al campo "name" vorrei che tenesse in considerazione anche un altro campo, in questo caso "card_code" che invece ho aggiunto io a res_partner.

In pratica vorrei realizzare un campo selezione con la possibilità di digitare un certo numero di caratteri che filtrano man mano i record da mostrare.

Usando Odoo 7, il campo di tipo selection non mi permette di digitare i caratteri e mostra la lista di tutti i partner.

Penso che si possa fare aggiungendo la fz name_get e name_search a res_partner, ma questo implica un che il comportamento della ricerca venga modificato a livello complessivo, cosa che devo evitare assolutamente.

Passando da una view sql pensavo che potesse essere la chiave di volta, ma le prove col codice allegato non sono state buone, forse perchè erano ormai le 7 di sera......

Oggi mi sono accorto che il _name del modello e il nome della view sql non coincidono per cui ovviamente nella form non riesco a vedere nulla . Domani provo a correggere ........
Ultima modifica: 3 Anni 1 Giorno fa da gbonline.
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

Filtrare in campo many2one non solo per nome? 3 Anni 1 Giorno fa #23427

  • G.Conte
  • Avatar di G.Conte
  • Offline
  • Platinum Boarder
  • Messaggi: 344
  • Ringraziamenti ricevuti 40
  • Karma: 0
Ciao, io pensavo che usavi la versione 8, sulla versione 7 non ti posso proprio aiutare
Dinamiche Aziendali
www.dinamicheaziendali.it
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

Filtrare in campo many2one non solo per nome? 3 Anni 1 Giorno fa #23436

  • gbonline
  • Avatar di gbonline
  • Offline
  • Senior Boarder
  • Messaggi: 45
  • Ringraziamenti ricevuti 1
  • Karma: 0
Grazie lo stesso
ma anche una soluzione per la versione 8 può andare.

Comunque il riferimento many2one ad un modello creato su una view sql da errore in openerp:
ProgrammingError: referenced relation "arema_tempo_view" is not a table

per cui l'esempio che ho postato all'inizio non può funzionare

Qualche idea?
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

Filtrare in campo many2one non solo per nome? 2 Anni 11 Mesi fa #23441

  • eLBati
  • Avatar di eLBati
  • Online
  • Platinum Boarder
  • Messaggi: 1766
  • Ringraziamenti ricevuti 186
  • Karma: 38
gbonline ha scritto:
Salve
in una form, quando è presente un field many2one, digitanto i caratteri si filtrano i risultati per "name" e si raggiunge il record cercato.

Vorrei sapere se esiste un modo per poter filtrare anche per altri campi non solo per "name"?
Ad esempio, ho esteso il modello Res.partner, aggiungendo un campo Card_number,
ed ora sto realizzando un wizard nel quale la ricerca del partner mi piacerebbe
poterla fare anche per card_number oltre che per name.
C'è qualche idea in merito a questa possibilità?

Ciao,
guarda il metodo ORM name_search

Un esempio di utilizzo, su account.account:
github.com/odoo/odoo/blob/7.0/addons/account/account.py#L575
Lorenzo Battistini
github.com/eLBati

TAKOBI
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.
Ringraziano per il messaggio: gbonline
  • Pagina:
  • 1
  • 2
Tempo creazione pagina: 0.139 secondi

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

Protected by R Antispam