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: [8.0] Domanda da pollo su Field / Variabile

[8] Domanda da pollo su Field / Variabile 1 Anno 5 Mesi fa #29366

  • federico.ranieri
  • Avatar di federico.ranieri
  • Offline
  • Fresh Boarder
  • Developer
  • Messaggi: 15
  • Ringraziamenti ricevuti 7
  • Karma: 1
Ciao, la domanda sul contesto nel quale viene eseguita la query è molto importante per sapere come reperire il dato del campo "name". Se come hai detto utilizzi un cron "self" non contiene i dati dell'oggetto corrente.

All'interno del cron tramite una search potresti cercare tutti i "res.partner" su cui vuoi eseguire la query. Puoi ciclare i valori ritornati dalla search per ottenere il nome del partner in questo modo:
partner_ids = self.env['res.partner'].search(Dominio)
for partner in partner_ids:
   print(partner.name)

Ovviamente poi utilizzi il name per fare ciò che vuoi con la query. Come ultima cosa se lo scopo è modificare dei record nel DB ti consiglio di usare la "create()" e la "write()".
Ricerca e Sviluppo
Hexcode
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

[8] Domanda da pollo su Field / Variabile 1 Anno 5 Mesi fa #29367

  • infospa
  • Avatar di infospa
  • Offline
  • Junior Boarder
  • Messaggi: 36
  • Ringraziamenti ricevuti 2
  • Karma: 0
Grazie per la risposta ma temo mi manchino le basi per fare quello che voglio, il codice che tu mi hai scritto lo avevo provato ma restituiva tutti i partner e quindi lo avevo scartato in quanto non risolveva il mio problema cioè di recuperare solo il valore del campo name nel form dei contatti.

Quello che devo fare è una ricerca con una stringa sql dove il valore della variabile per ricerca deve essere uguale al valore del nome del partner quando apro la sua scheda, pensavo fosse una cosa semplice e invece mi pare di capire sia un problema, il cron chiaramente non mi può funzionare in quanto non avendo aperto il form lui non può sapere quale partner ho selezionato, ma la voce nel menù altro dovrebbe avere tutte le informazioni necessarie mi manca proprio "dominio" lo metto tra virgolette perchè non so se è veramente quello che mi manca
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

[8] Domanda da pollo su Field / Variabile 1 Anno 5 Mesi fa #29368

  • gigidn
  • Avatar di gigidn
  • Offline
  • Platinum Boarder
  • Messaggi: 1925
  • Ringraziamenti ricevuti 446
  • Karma: 22
Premessa, non è detto che ho capito bene quel che vuoi fare ...

Hai un oggetto (res.partner) a cui hai aggiunto dei fields e vuoi che questi vengano popolati con una query sql.

Se è questo lo scenario, e fermo restando la verifica delle prestazioni perchè potrebbe essere un collo di bottiglia se i campi non li definisci "stored" piu' o meno (vado a memoria)

field1 = ...(compute=_mycompute")
field2 = ...(compute=_mycompute")
field3 = ...(compute=_mycompute")

@depend(name)
def _mycompute(self)

query_sql con parametro self.name
self.fiel1 = risultato1query
.......

In altre parole i fileds vanno definiti come calcolati (meglio se anche di tipo stored in questo caso o le prestazioni vanno a benedirsi) ... ti crei una funzione che li calcola su base query.
@KTec
www.ktec.it
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

[8] Domanda da pollo su Field / Variabile 1 Anno 5 Mesi fa #29369

  • infospa
  • Avatar di infospa
  • Offline
  • Junior Boarder
  • Messaggi: 36
  • Ringraziamenti ricevuti 2
  • Karma: 0
Ci siamo quasi ma il mio problema è usare per la ricerca nella query il nome del contatto ricercato

SELECT colonna1, colonna2, colonna3 FROM tabella WHERE name="ValoreDelNome del contattoCampoForm" è questo valore che non riesco a prendere
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

[8] Domanda da pollo su Field / Variabile 1 Anno 5 Mesi fa #29370

  • gigidn
  • Avatar di gigidn
  • Offline
  • Platinum Boarder
  • Messaggi: 1925
  • Ringraziamenti ricevuti 446
  • Karma: 22
La risposta è nel mio precedente messaggio. Il valore di quei fileds diventa strutturale dell'oggetto quindi indipendente dalla ricerca.

Nella funzione _compute il campo self.name rappresenta appunto il nome dell'oggetto nel quale la funzione viene eseguita. Documentati sui campi _compute di odoo ed avrai la soluzione, ma ripeto quello che ho detto prima se inserisci SQL li fai attenzione alle prestazioni.
@KTec
www.ktec.it
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

[8] Domanda da pollo su Field / Variabile 1 Anno 5 Mesi fa #29372

  • Antoniov
  • Avatar di Antoniov
  • Online
  • Administrator
  • Messaggi: 1555
  • Ringraziamenti ricevuti 283
  • Karma: -115
Caro @infospa,

ti chiedo la cortesia di leggere le risposte che ti vengono fornite e fare uno sforzo per comprenderle.
Capisco che non è facile ma ripetere la stessa domanda ogni due risposte potrebbe classificare questo thread alla pari di spam.

Ti è stato detto e ripetuto da più persone, che il nome del contatto corrente dipende dall'ambiente da cui lanci la query.
Di conseguenza il codice cambia se usi la query in un azione oppure in bottone oppure in un wizard, eccetera.

Scusami,
ma non è utile a te fare domande senza che le risposte ti aiutino a comprendere meglio Odoo.

Grazie
Questo indirizzo email è protetto dagli spambots. È necessario abilitare JavaScript per vederlo. - Presidente eletto dell'associazione
Questo indirizzo email è protetto dagli spambots. È necessario abilitare JavaScript per vederlo.
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.
Tempo creazione pagina: 0.134 secondi

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

Protected by R Antispam