Skip to Content
Menu
This question has been flagged
5 Replies
11798 Zobrazenia

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
Zrušiť

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
Zrušiť
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
Zrušiť
Related Posts Replies Zobrazenia Aktivita
1
mar 25
707
0
júl 17
2617
0
mar 15
3272
1
jún 23
2443
0
nov 19
4101