Skip to Content
Odoo Menu
  • Prijavi
  • Try it free
  • Aplikacije
    Finance
    • Knjigovodstvo
    • Obračun
    • Stroški
    • Spreadsheet (BI)
    • Dokumenti
    • Podpisovanje
    Prodaja
    • CRM
    • Prodaja
    • POS Shop
    • POS Restaurant
    • Naročnine
    • Najem
    Spletne strani
    • Website Builder
    • Spletna trgovina
    • Blog
    • Forum
    • Pogovor v živo
    • eUčenje
    Dobavna veriga
    • Zaloga
    • Proizvodnja
    • PLM
    • Nabava
    • Vzdrževanje
    • Kakovost
    Kadri
    • Kadri
    • Kadrovanje
    • Odsotnost
    • Ocenjevanja
    • Priporočila
    • Vozni park
    Marketing
    • Družbeno Trženje
    • Email Marketing
    • SMS Marketing
    • Dogodki
    • Avtomatizacija trženja
    • Ankete
    Storitve
    • Projekt
    • Časovnice
    • Storitve na terenu
    • Služba za pomoč
    • Načrtovanje
    • Termini
    Produktivnost
    • Razprave
    • Odobritve
    • IoT
    • Voip
    • Znanje
    • WhatsApp
    Third party apps Odoo Studio Odoo Cloud Platform
  • Industrije
    Trgovina na drobno
    • Book Store
    • Trgovina z oblačili
    • Trgovina s pohištvom
    • Grocery Store
    • Trgovina s strojno opremo računalnikov
    • Trgovina z igračami
    Food & Hospitality
    • Bar and Pub
    • Restavracija
    • Hitra hrana
    • Guest House
    • Beverage Distributor
    • Hotel
    Nepremičnine
    • Real Estate Agency
    • Arhitekturno podjetje
    • Gradbeništvo
    • Estate Management
    • Vrtnarjenje
    • Združenje lastnikov nepremičnin
    Svetovanje
    • Računovodsko podjetje
    • Odoo Partner
    • Marketinška agencija
    • Law firm
    • Pridobivanje talentov
    • Audit & Certification
    Proizvodnja
    • Tekstil
    • Metal
    • Pohištvo
    • Hrana
    • Brewery
    • Poslovna darila
    Health & Fitness
    • Športni klub
    • Trgovina z očali
    • Fitnes center
    • Wellness Practitioners
    • Lekarna
    • Frizerski salon
    Trades
    • Handyman
    • IT Hardware & Support
    • Sistemi sončne energije
    • Izdelovalec čevljev
    • Čistilne storitve
    • HVAC Services
    Ostali
    • Neprofitna organizacija
    • Agencija za okolje
    • Najem oglasnih panojev
    • Fotografija
    • Najem koles
    • Prodajalec programske opreme
    Browse all Industries
  • Skupnost
    Learn
    • Tutorials
    • Dokumentacija
    • Certifikati
    • Šolanje
    • Blog
    • Podcast
    Empower Education
    • Education Program
    • Scale Up! Business Game
    • Visit Odoo
    Get the Software
    • Prenesi
    • Compare Editions
    • Releases
    Collaborate
    • Github
    • Forum
    • Dogodki
    • Prevodi
    • Become a Partner
    • Services for Partners
    • Register your Accounting Firm
    Get Services
    • Find a Partner
    • Find an Accountant
    • Meet an advisor
    • Implementation Services
    • Sklici kupca
    • Podpora
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +1 (650) 691-3277
    Get a demo
  • Določanje cen
  • Pomoč

Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:

  • CRM
  • e-Commerce
  • Knjigovodstvo
  • Zaloga
  • PoS
  • Projekt
  • MRP
All apps
You need to be registered to interact with the community.
All Posts People Badges
Ključne besede (View all)
odoo accounting v14 pos v15
About this forum
You need to be registered to interact with the community.
All Posts People Badges
Ključne besede (View all)
odoo accounting v14 pos v15
About this forum
Pomoč

Odoo 11: Wrong values when using widget float_time in qweb report

Naroči se

Get notified when there's activity on this post

This question has been flagged
float_timeWidgetsqweb-reportodoo11community
2 Odgovori
6295 Prikazi
Avatar
TK

I am customizing the attendance model and made a wizard that displays a table with an overview of worktime, begin, end and overtime. 

Fields worktime, begin, end and overtime are all fields.Float()

I am using widget='float_time' to display them in the form view of the model. 






I wanted to create a report of that overview that is displayed as qweb-html and can be printed if necessary. 

I created an xml template and used 

It seemed to work because the end field was printed like 18:21.

I compared the form view and the qweb view and discovered that the values are different. 

Some values are just one minute below or above the form view value (ok the rounding seems to work differently) but others are completely nonsense. 

Especially the field overtime differs a lot. 

Form view: -06:40  qweb: -07:19

the correct value that I calculated by hand is -06:40 meaning a float value of -6.66666


Question 1) Where is the calculation difference ? What function is used by the form view and what function is used by the qweb view ?

I only found /web/static/src/js/fields/field_utils.js where there is a formatFloatTime() and a parseFloatTime() function. 


Question 2) Why are the qweb values sometimes completely wrong? 


Yes, I made sure that the field values are completely identical. I even displayed the float values in the qweb report and could validate that they are correct. It is "only" a formatting issue.

0
Avatar
Opusti
TK
Avtor

test

TK
Avtor

I finally found the answer and if somebody comes across this ...here you are ...

There are indeed two places where conversion is made:

#####################################################

Form view: Javascript method in /web/static/src/js/fields/field_utils.js

#####################################################

function formatFloatTime(value) {

var pattern = '%02d:%02d';

if (value < 0) {

value = Math.abs(value);

pattern = '-' + pattern;

}

var hour = Math.floor(value);

var min = Math.round((value % 1) * 60);

if (min === 60){

min = 0;

hour = hour + 1;

}

return _.str.sprintf(pattern, hour, min);

###########################

QWeb view:

In module base/ir/ir_qweb/fields.py

###########################

class FloatTimeConverter(models.AbstractModel):

""" ``float_time`` converter, to display integral or fractional values as

human-readable time spans (e.g. 1.5 as "01:30").

Can be used on any numerical field.

"""

_name = 'ir.qweb.field.float_time'

_inherit = 'ir.qweb.field'

@api.model

def value_to_html(self, value, options):

hours, minutes = divmod(value * 60, 60)

return '%02d:%02d' % (hours, minutes)

It seems that Math.round and Math.floor behaves differently compared to python divmod function. At least I had huge differences.

Avatar
TK
Avtor Best Answer

Thanks for your answer Karthikeyan if I understand it right, you say there is no difference using the widget in form view and in qweb, but I had different results. There must be a difference. 

Unforunately, I am not used to debugging of javascript otherwise I could follow the code step by step as I do in python code. 


Reply to comment:

If there is a difference while printing in excel where does this come from? Please explain if you know.

0
Avatar
Opusti
Begineer

Yeah, the difference will arise only if you print that in excel report

Avatar
Begineer
Best Answer

Hi,

    I guess you figured its a formatting issue,

In form view you have used the widget float_time,  to convert the float value into time format (HH:MM)

Same goes while generating a qweb ,  

span t-field="o.your_float_field" t-options= '{"widget": "float_time"}'


I couldn't open and close span tag , make sure you do.

Hope it helps,

Thanks


0
Avatar
Opusti
Enjoying the discussion? Don't just read, join in!

Create an account today to enjoy exclusive features and engage with our awesome community!

Prijavi
Related Posts Odgovori Prikazi Aktivnost
Print values of field variables declared inside html content Odoo11? Solved
html qweb-report odoo11community
Avatar
Avatar
Avatar
Avatar
7
nov. 18
13360
Odoo stays in the loading screen after report is generated
report bug qweb-report odoo11 odoo11community
Avatar
Avatar
3
jan. 23
7163
Qweb Report : which font display proper output when print PDF in DOT-MATRIX printer ? [ODOO V11 CE]
printer linux_system qweb-report odoo11community dot-matrix
Avatar
Avatar
1
sep. 20
7071
while print pdf report it takes too much loading time.
loading wkhtmltopdf qweb-report odoo11community printpdf
Avatar
Avatar
1
dec. 19
6735
Conversion from float_time to float
float_time
Avatar
Avatar
Avatar
2
nov. 24
8963
Community
  • Tutorials
  • Dokumentacija
  • Forum
Open Source
  • Prenesi
  • Github
  • Runbot
  • Prevodi
Services
  • Odoo.sh Hosting
  • Podpora
  • Nadgradnja
  • Custom Developments
  • Izobraževanje
  • Find an Accountant
  • Find a Partner
  • Become a Partner
About us
  • Our company
  • Sredstva blagovne znamke
  • Kontakt
  • Zaposlitve
  • Dogodki
  • Podcast
  • Blog
  • Stranke
  • Pravno • Zasebnost
  • Varnost
الْعَرَبيّة Català 简体中文 繁體中文 (台灣) Čeština Dansk Nederlands English Suomi Français Deutsch हिंदी Bahasa Indonesia Italiano 日本語 한국어 (KR) Lietuvių kalba Język polski Português (BR) română русский язык Slovenský jazyk slovenščina Español (América Latina) Español ภาษาไทย Türkçe українська Tiếng Việt

Odoo is a suite of open source business apps that cover all your company needs: CRM, eCommerce, accounting, inventory, point of sale, project management, etc.

Odoo's unique value proposition is to be at the same time very easy to use and fully integrated.

Website made with

Odoo Experience on YouTube

1. Use the live chat to ask your questions.
2. The operator answers within a few minutes.

Live support on Youtube
Watch now