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.

4

How to format a date while printing in rml or in openoffice report

By
vivek
on 6/12/13, 3:39 AM 5,666 views

Hi,

Can anyone tell me how to print a date in a desired format in openerp reports. I use both rml and openoffice for reporting

Default Date format in form

 12/06/2013

Default Date format while printing in reports

 2013/06/12

My Desired Format

 12-June-2013

Thanks for your time

9

Sudhir Arya (SA)

--Sudhir Arya (SA)--
10150
| 6 8 8
Ahmedabad, India
--Sudhir Arya (SA)--

Working as an OpenERP/Odoo developer and a Team Leader 

Top 5 Odoo contributor On Stackoverflow

LinkedIn

Blog

Stackoverflow

Sudhir Arya (SA)
On 6/12/13, 3:49 AM

Write following code in report py:

import time
from datetime import datetime

'get_my_date': self.get_my_date, #Add this line in self.localcontext.update dictionary

def get_my_date(self, date):
    return time.strftime('%d') + '-' + datetime.strptime(date, '%d-%m-%Y').strftime('%b').upper() + '-' + time.strftime('%Y')

Call this method from your rml file:

<para style="P2"> [[ get_my_date(your_date) ]] </para>

Thanks sudir, How do i do this with regard to openoffice report i.e when i design a report in openoffice.

vivek
on 6/12/13, 5:00 AM

You can write [[ get_my_date(your_date) ]] code in sxw file also but you must have to write given method in report py file.

Sudhir Arya (SA)
on 6/12/13, 5:07 AM

Yeah, but there's a problem in there sudir, There's a default sxw file in every module is not considered while printing. It's taken a copy when i take it and in the copy we've modified the above line and sent it to server. Nothing gets printed. Kindly guide me.

vivek
on 6/12/13, 5:29 AM

Either you can make changes in rml or first change in sxw, then convert it in rml and replace original rml with you new rml.

Sudhir Arya (SA)
on 6/12/13, 6:49 AM

hi where to put 'get_my_date': self.get_my_date, code if i want to change format of date in meeting custom report in crm module

Hany Mansour
on 3/18/14, 9:08 AM

I already have written it in comment that you have to put it in "self.localcontext" in your report py file.

Sudhir Arya (SA)
on 3/19/14, 2:11 AM
3
Rebel
On 6/12/13, 6:50 AM

If you are adding the fields through the openoffice report editor, try this:

[[ formatLang(o.date_start,date_time=True) ]] (for date + hours) or [[ formatLang(o.date_start,date=True) ]] (date)

Just replace "date_time" with your field. Take heed: this will not show it like your desired format, but it will be better than the default output.

For a better solution, follow Sudhir's instructions.

2
Raminder Pal Singh
On 6/12/13, 7:53 AM

use [[ time.strftime('%d-%B-%Y') ]]

thank you for this answer, do you know how to add customer's contact person to report ?

Ahmed elbarbary
on 10/23/14, 2:48 AM

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: 6/12/13, 3:39 AM
Seen: 5666 times
Last updated: 3/16/16, 12:13 PM