تخطي للذهاب إلى المحتوى
القائمة
لقد تم الإبلاغ عن هذا السؤال
5 الردود
11777 أدوات العرض

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.

الصورة الرمزية
إهمال

but the dropdown manu is an openerp field?

الكاتب

Yes it is an OpenERP field.

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

أفضل إجابة

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

الصورة الرمزية
إهمال
أفضل إجابة

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

الصورة الرمزية
إهمال
المنشورات ذات الصلة الردود أدوات العرض النشاط
1
مارس 25
705
0
يوليو 17
2609
0
مارس 15
3265
1
يونيو 23
2432
0
نوفمبر 19
4093