On 10/09/07 18:11 +0200, [EMAIL PROTECTED] wrote: > > Bonjour, > > j'ai deux champs dans une vue, chacun est de type fields.many2one. > Je veux qu'en s�lectionnant une valeur dans l'une, le contenu de la seconde > soit filtr� ou rempli � ce moment l�. > > Comment faire ? > J'ai partiellement r�ussi mais ya un probl�me avec le client : > > mon code de vue (les deux champs uniquements) : > > <field name="employee_id" select="1" > on_change="onchange_employee_id(employee_id)"/> > <field name="sale_order_line" select="1" /> > > > mon code sur l'action de la premi�re combo : > > def onchange_employee_id(self, cr, uid, ids, emp): > if not emp: > sale_order_line_ids={} > else: > sql="" > sql+="SELECT > to_char(order_line_id, '999'),order_line_id " # on a besoin de 2 > champs pour le DICO > sql+="FROM > sale_order_line_employee,sale_order_line " > sql+="WHERE > sale_order_line_employee.order_line_id=sale_order_line.id " > sql+="AND > employee_id="+str(emp)+";"; > print sql > cr.execute(sql) > res = cr.fetchall() > sale_order_line_ids = dict(res) > > print sale_order_line_ids > > > > return > {'value':{'sale_order_line': sale_order_line_ids}} > > au moment d'ouvrir la deuxi�me liste qui a �t� filtr�, voil� ce que dit le > client comme message d'erreur : > > > File > > "/home/remy/local/dev/cvs_cpn/CL3.4.0.1/bin/widget/view/form_gtk/many2one.py", > > line 197, in display > > res = model_field.get_client() > > File "/home/remy/local/dev/cvs_cpn/CL3.4.0.1/bin/widget/model/field.py", > > line 147, in get_client > > return self.internal[1] > > KeyError: 1 > > Traceback (most recent call last): > > File > > "/home/remy/local/dev/cvs_cpn/CL3.4.0.1/bin/widget/view/form_gtk/many2one.py", > > line 132, in sig_activate > > value = self._view.modelfield.get() > > File "/home/remy/local/dev/cvs_cpn/CL3.4.0.1/bin/widget/model/field.py", > > line 142, in get > > return self.internal[0] or False > > KeyError: 0 > > > > > avez-vous une id�e d'o� �a vient ? >
Il ne faut retourn� qu'une seul valeur par champ, et pour les many2one, la valeur doit avoir la forme (id, name) -- C�dric Krier Tiny sprl Chauss�e de Namur, 40 B-1367 G�rompont Belgique Tel: +32 81 81 37 00 Fax: +32 81 73 35 01 Web: http://www.tiny.be
pgpceoftp3rLw.pgp
Description: PGP signature
_______________________________________________ Tinyerp-users mailing list http://tiny.be/mailman/listinfo/tinyerp-users