Skip to Content
Menú
This question has been flagged
5 Respostes
11778 Vistes

I want to execute a function that will get executed when when the view is loaded and populate a dropdown list box.

How can I do this. I have already defined the function in .py file.

Any ideas please.

Avatar
Descartar

but the dropdown manu is an openerp field?

Autor

Yes it is an OpenERP field.

So, you want to create a selection with a function?

Best Answer

Hi,

create a field type selection with a function which will create the list you need in you dropbox list (here in this example, the list of result is Month and Year in list of unit of measure, change the code for your own need):

def _sel_func(self, cr, uid, context=None):
    obj = self.pool.get('product.uom')
    ids = obj.search(cr, uid, [])
    res = obj.read(cr, uid, ids, ['name', 'id'], context)
    res = [(r['id'], r['name'])  for r in res if r['name'] == _("Month") or r['name'] == _("Year")
    return res

_columns = {
    'field_name': fields.selection(_sel_func, string='Field name'),
}

Bye

Avatar
Descartar
Best Answer

Yeah, thanks, this solutions works for me. i do that:

define in my class:

class stock_picking(osv.osv):
    _name = 'stock.picking' 
    _inherit = 'stock.picking'
    _columns = {
     'aux_almacen_orig': fields.selection(_buscar_shortname_alm,method="True", type="char", size=256, string="Almacen Origen" ),

then i define the function this way:

def _buscar_shortname_alm(self, cr, uid, context=None):
 obj = self.pool.get('stock.location')
        ids = obj.search(cr, uid, [])
        res = obj.read(cr, uid, ids, ['shortcut', 'id'], context)
        res = [(r['id'], r['shortcut']) for r in res if r['shortcut'] != False]
        return res

note: i define shorcut in my class stock location, this field only for to short the complete name in mi case, but you can change with another field that you have in your class:

class stock_location(osv.osv):
    _name = "stock.location"
    _inherit = "stock.location"
_columns = {
        'shortcut' :  fields.char('Nombre Corto',size=50),

and the XML file

<field name="aux_almacen_orig" />

and finally this is the result http://(w)(w)(w). orchidshouseperu.com/screenshots/Captura%20de%20pantalla%20de%202014-03-20%2015:52:20.png

Avatar
Descartar
Related Posts Respostes Vistes Activitat
1
de març 25
705
0
de jul. 17
2609
0
de març 15
3266
1
de juny 23
2435
0
de nov. 19
4093