Hoppa till innehåll
Odoo Meny
  • Logga in
  • Prova gratis
  • Appar
    Ekonomi
    • Bokföring
    • Fakturering
    • Utgifter
    • Kalkylark (Affärsanalyser)
    • Dokument
    • Underskrifter
    Försäljning
    • CRM
    • Försäljning
    • Kassasystem Butik
    • Kassasystem Restaurang
    • Prenumerationer
    • Uthyrning
    Hemsida
    • Hemsidesverktyg
    • E-handel
    • Blogg
    • Forum
    • Livechatt
    • Utbildning
    Försörjningskedja
    • Lager
    • Produktion
    • Produktens livscykel (PLM)
    • Inköp
    • Underhåll
    • Kvalitet
    HR
    • Anställda
    • Rekrytering
    • Ledighet
    • Utvärderingar
    • Rekommendationer
    • Fordon
    Marknadsföring
    • Sociala medier
    • E-postmarknadsföring
    • Sms-marknadsföring
    • Evenemang
    • Automatiserad marknadsföring
    • Enkäter
    Tjänster
    • Projekt
    • Tidrapporter
    • Fältservice
    • Kundtjänst
    • Planering
    • Tidsbokningar
    Produktivitet
    • Diskutera
    • AI
    • IoT
    • VoIP
    • Kunskap
    • WhatsApp
    Community-appar Odoo Studio Odoo Cloud
  • Branscher
    Butiker
    • Bokaffärer
    • Klädbutiker
    • Möbelaffärer
    • Mataffärer
    • Byggvaruhus
    • Leksaksaffärer
    Restaurang & Hotell
    • Barer och pubar
    • Restauranger
    • Snabbmatsrestauranger
    • Gästhus
    • Dryckesdistributörer
    • Hotell
    Fastigheter
    • Fastighetsbyråer
    • Arkitektfirmor
    • Byggföretag
    • Fastighetsägare
    • Trädgårdsmästare
    • Bostadsrättsföreningar
    Hitta en konsult
    • Redovisningsbyrå
    • Odoo Partner
    • Reklambyråer
    • Advokatbyråer
    • Rekrytering
    • Revisioner och certifieringar
    Produktion
    • Textilproduktion
    • Metallproduktion
    • Möbelproduktion
    • Livsmedelsproduktion
    • Bryggerier
    • Företagsgåvor
    Hälsa och fitness
    • Sportklubbar
    • Optiker
    • Träningscenter
    • Friskvård
    • Apotek
    • Frisörsalonger
    Hantverk
    • Hantverkare
    • IT-utrustning och kundtjänst
    • Solceller, solpaneler och solenergi
    • Skomakare
    • Städföretag
    • VVS-tjänster
    Övrigt
    • Ideella föreningar
    • Miljöförvaltningar
    • Uthyrning av reklamtavlor
    • Fotografer
    • Cykeluthyrning
    • Återförsäljare av mjukvara
    Upptäck alla Branscher
  • Community
    Utbildning
    • Instruktionsvideor
    • Dokumentation
    • Certifiering
    • Utbildningar
    • Blogg
    • Podcast
    Lär dig med oss
    • Workshops
    • Företagsspelet Scale Up!
    • Studiebesök hos Odoo
    Mjukvaran
    • Ladda ner
    • Jämför utgåvor
    • Versionsinformation
    Samverkan
    • GitHub
    • Forum
    • Evenemang
    • Översättningar
    • Bli en partner
    • Partnertjänster
    • Registrera din redovisningsbyrå
    Våra tjänster
    • Partners
    • Revisorer
    • Träffa en rådgivare
    • Implementering
    • Kundrecensioner
    • Kundtjänst
    • Uppgraderingar
    GitHub Youtube Twitter Linkedin Instagram Facebook Spotify
    +1 (650) 691-3277
    Boka en demo
  • Priser
  • Hjälp
Du måste vara registrerad för att kunna interagera med communityn.
Alla inlägg Personer Utmärkelser
Etiketter (Visa alla)
odoo accounting v14 pos v15
Om detta forum
Du måste vara registrerad för att kunna interagera med communityn.
Alla inlägg Personer Utmärkelser
Etiketter (Visa alla)
odoo accounting v14 pos v15
Om detta forum
Hjälp

Is it possible to generate reports with dynamic columns?

Prenumerera

Få ett meddelande när det finns aktivitet på detta inlägg

Denna fråga har flaggats
reportingreport
1 Besvara
12099 Vyer
Avatar
Yakito

Hello,

This is another of mine "is it possible" rather than "how to" questions. I need to understand the possibilities and limitations of reports before embarking into the creation of a custom module.

For this I need to understand if it is possible to create reports with X number of columns. X will come from the amenities a hotel have. So it will change depending on the hotel selected from a wizard before generating the report.

Lets say Hotel XYZ has 5 amenities I need a report with 5 columns where I will show the payments each guest made for each amenity, then Hotel YYY will have 10 amenities and I need to do the same but for all 10 amenities.

Will it be possible to code a report (I am currently using the OpenOffice plugin but any thing that work would be fine) flexible enough to do this with OpenERP?

Thanks for any tip!

0
Avatar
Avbryt
Avatar
Timo Talvitie, Vizucom Oy
Bästa svar

At least the Mako reports should be flexible enough for your needs. With them you can create HTML tables and use for loops to format the rows and columns to fit your dataset. Even though you're working with HTML and CSS to format and style the data, the result will still be a PDF file.

If you want to see a basic example of how the Mako reports work, you can download a very nice module called sale_order_webkit, it's made by camptocamp and is available at v6apps.openerp.com/addon/6581

The example deals with pulling data from a single model, but if you're working with a complex dataset and need data from many tables, you can also directly query the database with cr.execute and pass the result to be formatted with Mako. We tried this direct query approach with some timesheet-related data and it worked very well.

Edit: here's a small code snippet from a .mako file

<table>
    <tr>
        % for key,value in month_data(emp_id).iteritems():
            <td>
                ${value}
            </td>
        % endfor
    </tr>
</table>

-emp_id and month_data are attached to the report parser on the fly with self.localcontext.update(), after which they are accessible by the .mako template

class TimesheetReportParser(report_sxw.rml_parse):
    def __init__(self, cr, uid, name, context):
        super(TimesheetReportParser, self).__init__(cr, uid, name, context=context)
        emp_id = context['active_id']

        self.localcontext.update({
            'emp_id': emp_id, 
            'month_data': self._fetch_hours,
        })

-emp_id is the employee ID of the person whose timesheet report is currently being generated

-month_data's contents are provided by a _fetch_hours() function that is also defined inside the parser class, it does a cr.execute() and returns a dictionary of values related to the current employee. Those values are then printed out in a for loop in the .mako file

1
Avatar
Avbryt
Yakito
Författare

Thanks a lot! I will be testing Mako reports right now. So basically they work in the same way as building a website? That is very interesting. Thanks again

Timo Talvitie, Vizucom Oy

As far as the formatting goes, pretty much yes. I added a quick example of the .mako side to show the basic idea.

Njuter du av diskussionen? Läs inte bara, delta också!

Skapa ett konto idag för att ta del av exklusiva funktioner och engagera dig i vår fantastiska community!

Registrera dig
Relaterade inlägg Svar Vyer Verksamhet
Chaning the Reportname
reporting report
Avatar
Avatar
1
juli 24
3248
Where is the best updated info about all options in reports here?
reporting report
Avatar
Avatar
1
mars 15
4898
report in open erp through interface
reporting report
Avatar
0
mars 15
5375
when i make rml report i got an named "(<type 'exceptions.KeyError'>, KeyError(u'report.bi',), <traceback object at 0xb301052c>)
reporting report
Avatar
0
mars 15
5681
How many types of reports are available?
reporting report
Avatar
Avatar
1
mars 15
550
Community
  • Instruktionsvideor
  • Dokumentation
  • Forum
Öppen källkod
  • Ladda ner
  • GitHub
  • Runbot
  • Översättningar
Tjänster
  • Odoo.sh Hosting
  • Kundtjänst
  • Uppgradera
  • Anpassningsbara modifikationer
  • Utbildning
  • Revisorer
  • Partners
  • Bli en partner
Om oss
  • Vårt företag
  • Varumärkestillgångar
  • Kontakta oss
  • Jobb
  • Evenemang
  • Podcast
  • Blogg
  • Kunder
  • Juridiskt • Integritet
  • Säkerhet
الْعَرَبيّة 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 Svenska ภาษาไทย Türkçe українська Tiếng Việt

Odoo är ett affärssystem med öppen källkod som täcker alla dina företagsbehov: CRM, e-handel, bokföring, lager, kassasystem, projektledning, och så vidare.

Odoos unika värdeförslag är att samtidigt vara väldigt enkel att använda men också helt integrerad.

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