Skip to Content
Меню
Вам необхідно зареєструватися, щоб взаємодіяти зі спільнотою.
Це запитання позначене
2 Відповіді
22197 Переглядів

Hi

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


Thanks for advance !

Аватар
Відмінити
Найкраща відповідь

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)
     }
 });


Аватар
Відмінити

how to do this in odoo 12

Автор Найкраща відповідь

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;
    });

Аватар
Відмінити
Related Posts Відповіді Переглядів Дія
1
серп. 17
10018
1
вер. 15
4066
2
бер. 15
4466
0
груд. 24
1699
1
черв. 23
3788