Odoo Help

Welcome!

This community is for beginners and experts willing to share their Odoo knowledge. It's not a forum to discuss ideas, but a knowledge base of questions and their answers.

0

HOw to store value in field readonly

By
Susi
on 7/25/16, 4:01 AM 396 views

Hi all

i have code like this

class mtc_hr_analytic_timesheet(osv.osv):

    _inherit = 'hr.analytic.timesheet'

    _columns = {

                    'approver' : fields.many2one('res.users','Approver',readonly=True),

    }


i want value in field approver store to my database. but when i use readonly its doesnt work. the value dissapear when i save.

i have use strore=True but its doesnt work.

anyone can help me how to solve this problem??


Thanks before

Can you give an example code of the contents of xyz_id ?

Susi
on 7/25/16, 5:21 AM

for example, to get the id of the ERP Manager

users_ids = self.pool.get('res.users').search(cr, uid, [])

for _id in users_ids:

if self.pool['res.users'].has_group(cr, _id, 'base.group_erp_manager')

xyz_id = _id

Tarek Mohamed Ibrahim
on 7/25/16, 5:49 AM
0
Annadurai
On 7/26/16, 5:54 AM

Hey Susi!, Hope this will work for u.. 

samp_cal1=fields.Integer(string="a")

samp_cal2=fields.Integer(string="b")

samp_cal3=fields.Integer(string="c",readonly=True)


@api.onchange('samp_cal1','samp_cal2')

def adding_samp(self):

    self.samp_cal3=self.samp_cal1+self.samp_cal2

@api.model

def create(self,vals):

    if self.samp_cal3:

        vals['samp_cal3']=self.samp_cal1+self.samp_cal2

    res = super(tokenreservation, self).create(vals)

    return res

@api.multi

def write(self,vals):

    if not self.samp_cal3:

        vals['samp_cal3'] = self.samp_cal1+self.samp_cal2

    res = super(tokenreservation, self).write(vals)

    return res

0
shameem@axon
On 7/25/16, 7:06 AM

assighn values like this



cr.execute("UPDATE  hr_analytic_timesheet SET approver = %s where id = %s ", (  your value, id of object ))

0
SREERAJ MDM
On 7/25/16, 6:03 AM

try to write the value into the field using SQL query

0
tansadio
On 7/25/16, 4:44 AM

You can update a many2one field, with either an ID or record.

You can’t put any ID or record, a check is made on the relationship to ensure data integrity

0

Tarek Mohamed Ibrahim

--Tarek Mohamed Ibrahim--
896
| 5 3 7
Gîza, Egypt
--Tarek Mohamed Ibrahim--

I am an old VFP developer on ERP

I have moved to 2p since Nov-2014 and started developing with Python on Odoo.

https://www.linkedin.com/profile/public-profile-settings?trk=prof-edit-edit-public_profile

tibrahim@2p.com.sa

Tarek Mohamed Ibrahim
On 7/25/16, 4:38 AM

 You have to set the value of this field in the create method explicitly

def create(self, cr, uid, val, context=None):
...
val['approve'] = xyz_id # this is the user id you decided that he will do the approval
res = super(you_class, self).create(cr, uid, val, context)
return res





Your Answer

Please try to give a substantial answer. If you wanted to comment on the question or answer, just use the commenting tool. Please remember that you can always revise your answers - no need to answer the same question twice. Also, please don't forget to vote - it really helps to select the best questions and answers!

About This Community

This community is for professionals and enthusiasts of our products and services. Read Guidelines

Question tools

1 follower(s)

Stats

Asked: 7/25/16, 4:01 AM
Seen: 396 times
Last updated: 7/26/16, 5:54 AM