Salve,
Devo personalizzare l'inserimento di una Nota Spesa, Mi è stato richiesto di inserire il conto analitico all'interno dell'intestazione della spesa e far si che rimanga lo stesso all'interno delle singole righe di spesa da inserire.
Spiego cosa ho fatto:
1) Ho creato un campo personalizzato "x_analytic_account" nel modello "hr.expense.expense";
2) Ho modificato la vista form dell'inserimento spesa facendo comparire il campo creato nell'intestazione;
3) Ho modificato la vista per far si che l'inserimento di ogni nuova riga abbia, per il campo "Conto Analitico", sempre lo stesso valore inserito nell'intestazione;
Fin qui tutto perfetto, il problema sorge se provo a modificare il campo del punto 1: Non mi aggiorna tutti i campi "Conto Analitico" già precedentemente creati, solo per i nuovi funziona bene.
Ho pensato di creare un metodo onchange che, al variare del campo del punto 1, modifica automaticamente tutti i "Conti Analitici" inseriti nelle varie righe di spesa.
PREMESSA: SONO UN SUPER PRINCIPIANTE
il metodo che ho creato all'interno della classe "hr_expense_expense" (nel file expense.py) è il seguente:
def onchange_account_id(self, cr, uid, ids, x_analytic_account, context=None):
for expense in self.browse(cr, uid, ids, context=context):
for line in expense.line_ids:
account_id = x_analytic_account
return {'value': {'account_id': account_id}}
return
nel XML:
<field domain="[('type','in',['normal','contract'])]" name="x_analytic_account" groups="analytic.group_analytic_accounting" on_change="onchange_account_id(x_analytic_account, context)"/>
Non viene effettuata nessuna modifica ne viene visualizzato alcun errore
Mi scuso per super ORRORI che probabilmente ho scritto.