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: scrivere sul record corrente tramite cr.execure

Re:scrivere sul record corrente tramite cr.execure 6 Anni 4 Mesi fa #8619

  • gagarin
  • Avatar di gagarin
  • Offline
  • Expert Boarder
  • Messaggi: 148
  • Karma: 0
Stesso errore: KeyError: <built-in function id>

in effetti id non dovrebbe essere tra apici? (esattamente come quando faccio riferimento al campo lead_id). Comunque anche mettendoli ho un errore, diverso questa volta:

KeyError: 'id'

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

Re:scrivere sul record corrente tramite cr.execure 6 Anni 4 Mesi fa #8620

  • NicoTheBrush
  • Avatar di NicoTheBrush
  • Offline
  • Platinum Boarder
  • Messaggi: 1952
  • Ringraziamenti ricevuti 156
  • Karma: 46
Riesci a riportare qui il contenuto della variabile q di 2 post fa?
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

Re:scrivere sul record corrente tramite cr.execure 6 Anni 4 Mesi fa #8621

  • gagarin
  • Avatar di gagarin
  • Offline
  • Expert Boarder
  • Messaggi: 148
  • Karma: 0
certo, ecco qui:

1) con vals[id]
...
File "/openerp/server/addons/project_timesheet/project_timesheet.py", line 222, in write
return super(task,self).write(cr, uid, ids, vals, context)
File "/openerp/server/addons/crm_todo/crm_todo.py", line 34, in write
q='update project_task set partner_id=%d where id=%d'%(opptasks.partner_id, vals[id])
KeyError: <built-in function id>

e 2) con vals

...
File "/openerp/server/addons/project_timesheet/project_timesheet.py", line 222, in write
return super(task,self).write(cr, uid, ids, vals, context)
File "/openerp/server/addons/crm_todo/crm_todo.py", line 34, in write
q='update project_task set partner_id=%d where id=%d'%(opptasks.partner_id, vals)
KeyError: 'id'

noto che ids ha un solo valore, quello dell'id del primo record della tabella project.task. vals, invece, ha un unico valore, ossia il campo lead_id .
mi sarei aspettato che in ids ci fosse l'id del record che sto salvando, mentre in vals tutti i campi del record che sto salvando.

credo ci sia un problema di fondo.. :blink:
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

Re:scrivere sul record corrente tramite cr.execure 6 Anni 4 Mesi fa #8622

  • angedras
  • Avatar di angedras
  • Offline
  • Platinum Boarder
  • Messaggi: 330
  • Ringraziamenti ricevuti 4
  • Karma: 10
prova a definire la variabile q con i doppi apici e lasciare vals con gli apici singoli
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

Re:scrivere sul record corrente tramite cr.execure 6 Anni 4 Mesi fa #8625

  • NicoTheBrush
  • Avatar di NicoTheBrush
  • Offline
  • Platinum Boarder
  • Messaggi: 1952
  • Ringraziamenti ricevuti 156
  • Karma: 46
Il tuo problema mi sa è che non è presente nel dict vals il valore id...
facendo un debug con pdb, prima di questa riga, prova a fare un print di vals e vediamo che contiene...

P.S. non credo che vals contenga un campo id, in quanto, se non ricordo male, dovrebbe contenere il dict dei campi variati, l'id viene passato in testata alla funziona con ids
Ultima modifica: 6 Anni 4 Mesi fa da NicoTheBrush.
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

Re:scrivere sul record corrente tramite cr.execure 6 Anni 4 Mesi fa #8626

  • gagarin
  • Avatar di gagarin
  • Offline
  • Expert Boarder
  • Messaggi: 148
  • Karma: 0
qui il risultato da pdb:

uid = 1
ids = [64]
vals = {'lead_id': 71}
context = {'invisible_section': False, 'lang': 'it_IT', 'project_id': False, 'tz': 'CET', 'uid': 1, 'search_default_new': 1, 'no_store_function': True, 'section_id': 1, 'search_default_section_id': 1, 'search_default_open': 1, 'stage_type': 'opportunity', 'own_values': {'self': 1}, 'department_id': False}

è come dicevi, nel dict manca id e tutto il resto.

proverò una possibile alternativa, usando un campo related nell'oggetto project.task .

grazie per l'aiuto!

:)
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.
  • Pagina:
  • 1
  • 2
  • 3
Tempo creazione pagina: 0.129 secondi

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

Protected by R Antispam