Siirry sisältöön
Menu
Sinun on rekisteröidyttävä, jotta voit olla vuorovaikutuksessa yhteisön kanssa.
Tämä kysymys on merkitty
1 Vastaa
4119 Näkymät

i have created a sheduale action with this function

for rec in records:
quant_obj = rec.env['stock.quant']
hq_location = rec.env.ref('stock.stock_location_stock')
quant_qty_available = quant_obj._get_available_quantity(rec, hq_location)
if rec.website_block:
    rec.write({'is_published': False})
elif rec.inventory_availability == 'never':
    rec.write({'is_published': True})
else:
    if quant_qty_available <= rec.available_threshold:
        rec.write({'is_published': False})
    else:
        rec.write({'is_published': True})

it is supposed to check availability in main location and unpublish if not available.


it doent work when i try to run it manually in scheduled action screen but it work perfectly if i changed it to server action and activate it from action button,


Does any one know what am doing wrong?

Avatar
Hylkää

kindly share the erro log

Paras vastaus

Hello Mohamed,

Hope you are doing well.

Here, the records contains empty object so the loop doesn't iterate. You can use records.search([]) for fetching records and then iterate loop.

records = records.search([])
for rec in records:
quant_obj = rec.env['stock.quant']
hq_location = rec.env.ref('stock.stock_location_stock')
quant_qty_available = quant_obj._get_available_quantity(rec, hq_location)
if rec.website_block:
rec.write({'is_published': False})
elif rec.inventory_availability == 'never':
rec.write({'is_published': True})
else:
if quant_qty_available <= rec.available_threshold:
rec.write({'is_published': False})
else:
rec.write({'is_published': True})

Thanks & Regards,

Email: odoo@aktivsoftware.com

Skype: kalpeshmaheshwari

Avatar
Hylkää
Aiheeseen liittyviä artikkeleita Vastaukset Näkymät Toimenpide
1
toukok. 15
9483
1
elok. 22
7798
5
elok. 25
9737
1
heinäk. 25
360
0
heinäk. 25
394