Skip to Content
Menu
This question has been flagged
2 Replies
22200 Rodiniai

Hi

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


Thanks for advance !

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


Portretas
Atmesti

how to do this in odoo 12

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

Portretas
Atmesti
Related Posts Replies Rodiniai Veikla
1
rugp. 17
10018
1
rugs. 15
4067
2
kov. 15
4468
0
gruod. 24
1700
1
birž. 23
3788