Skip to Content
Menú
This question has been flagged
2 Respostes
22160 Vistes

Hi

How do I get a value of field and put it in variable, so I can use it ?


Thanks for advance !

Avatar
Descartar
Best Answer

use this to get a fields value from js

var Users = new openerp.Model('res.users');
Users.query(['name', 'login', 'user_email', 'signature']) .filter([['active', '=', true], ['company_id', '=', main_company]]) .limit(15) .all().then(function (users) { // do work with users records, you can access only fields said in query
     for(i in users){
         console.log(i.name)
     }
 });

please refer this link

However a call to py function or model is done only after all js functions are executed.
if you need to use this variable, you should call the js function inside .then(function (users){ and pass your values

for example

var self = this
var Users = new openerp.Model('res.users');
Users.query(['name', 'login', 'user_email', 'signature']) .filter([['active', '=', true], ['company_id', '=', main_company]]) .limit(15) .all().then(function (users) { // do work with users records, you can access only fields said in query
     for(i in users){
         console.log(i.name)
         self.your_function(sample_var)
     }
 });


Avatar
Descartar

how to do this in odoo 12

Autor Best Answer

Thank you Mohammed

I wrote this code. First the "ResCompany" variable took the name in "res.company" but when I refresh or change the name of my company, the variable "ResCompany" take the default value which is 'Ghandi'.

Is there any explanation ?

var CompanyName = 'Ghandi';
var
Model = require('web.Model');
var
ResCompany = new Model('res.company');
ResCompany
.query(['name'])
   .filter([['id', '=', 1]])
   .first()
   .then(function (company){
        CompanyName = company.name;
    });

Avatar
Descartar
Related Posts Respostes Vistes Activitat
1
d’ag. 17
10012
1
de set. 15
4048
2
de març 15
4448
0
de des. 24
1694
1
de juny 23
3777