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
  • 3

ARGOMENTO: Cambiare valore ad un campo

Cambiare valore ad un campo 6 Anni 9 Mesi fa #7136

  • IvanB
  • Avatar di IvanB
  • Offline
  • Senior Boarder
  • Messaggi: 63
  • Karma: 0
Buongiorno a tutti.
Mi rivolgo a voi, dato che non sono molto "esperto".
Ho un campo booleano (invisibile), il cui valore di default e "False".
Vorrei in caso di modifica di uno qualunque dei campi della "form", venisse impostato a "True".
Ho pensato di utilizzare un metodo "on_change".
Potrebbe andar bene? se si, come si può implementare?
Altrimenti c'è qualche altro sistema?

Grazie a chiunque possa aiutarmi.
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

Re:Cambiare valore ad un campo 6 Anni 9 Mesi fa #7137

  • archetipo
  • Avatar di archetipo
  • Offline
  • Platinum Boarder
  • Messaggi: 331
  • Ringraziamenti ricevuti 5
  • Karma: 8
si il campo on_change è perfetto per quello

onchanhe="nome_della_funzione"

e nella funzione nel file py deve esserci un return tipo
controlli.... poi
val={'value':{'nome_del_tuo_campo':True}}
return val
ciao
Alessio Gerace
github.com/archetipo
Ultima modifica: 6 Anni 9 Mesi fa da archetipo.
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

Re:Cambiare valore ad un campo 6 Anni 9 Mesi fa #7138

  • IvanB
  • Avatar di IvanB
  • Offline
  • Senior Boarder
  • Messaggi: 63
  • Karma: 0
Grazie, Questo è parecchio utile.
Tuttavia non volevo mettere l'"on_change" su un campo "field", ma sul campo "form" dell'XML. qualcosa tipo:
<form string="xyz" on_change="onchange_abc()">

perché:
1) vorrei che il valore cambiasse, qualunque campo del "form" compili l'utente
2) non ho bisogno, ne di passargli valori, nè di riceverli, dato che l'unica cosa che occorre fare è cambiare quel campo.
Come potrei procedere, in questo caso?
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

Re:Cambiare valore ad un campo 6 Anni 9 Mesi fa #7139

  • archetipo
  • Avatar di archetipo
  • Offline
  • Platinum Boarder
  • Messaggi: 331
  • Ringraziamenti ricevuti 5
  • Karma: 8
Di fatto un campo string non può avere l'evento on_change proprio perchè string è statico, quindi
qui c'è un incongruenza di pricipio.

quindi i casi sono 2

se devi solo controllare che il form sia stato visualizzato o utilizzato puoi comunque chiamare una funzione on_change legata ad un field che sai che cambia senza nessun parametro

oppure potresti usare un button.
Alessio Gerace
github.com/archetipo
Ultima modifica: 6 Anni 9 Mesi fa da archetipo.
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

Re:Cambiare valore ad un campo 6 Anni 9 Mesi fa #7140

  • NicoTheBrush
  • Avatar di NicoTheBrush
  • Offline
  • Platinum Boarder
  • Messaggi: 1952
  • Ringraziamenti ricevuti 156
  • Karma: 46
Nel tuo caso vedrei meglio l'override del metodo write dell'oggetto, devi scrivere qualche riga di codice python nell'oggetto però...
In pratica OpenERP ogni volta che crei un record dell'oggetto chiama il metodo "create", nelle successive modifiche chiama il metodo "write" qui puoi aggiungere il cambio campo e chiamare, con la funzione super, la funzione write originale dell'oggetto.
In questo caso non devi mettere l'on_change dappertutto e soprattutto non devi farlo per tutte le viste che potrebbero chiamare l'oggetto...
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

Re:Cambiare valore ad un campo 6 Anni 9 Mesi fa #7141

  • IvanB
  • Avatar di IvanB
  • Offline
  • Senior Boarder
  • Messaggi: 63
  • Karma: 0
Grazie, questo è già più il mio caso:
"controllare che il form sia stato visualizzato o utilizzato".

in questo caso, dove imposto l'"on_change" ? in un "<field>", "<group>", o dove?
e dalla tua risposta, capisco che, a questo punto, il "return val", non serve, o sbaglio?
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.
  • Pagina:
  • 1
  • 2
  • 3
Tempo creazione pagina: 0.144 secondi

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

Protected by R Antispam