Overslaan naar inhoud
Odoo Menu
  • Aanmelden
  • Probeer het gratis
  • Apps
    Financiën
    • Boekhouding
    • Facturatie
    • Onkosten
    • Spreadsheet (BI)
    • Documenten
    • Ondertekenen
    Verkoop
    • CRM
    • Verkoop
    • Kassasysteem winkel
    • Kassasysteem Restaurant
    • Abonnementen
    • Verhuur
    Websites
    • Websitebouwer
    • E-commerce
    • Blog
    • Forum
    • Live Chat
    • eLearning
    Bevoorradingsketen
    • Voorraad
    • Productie
    • PLM
    • Inkoop
    • Onderhoud
    • Kwaliteit
    Personeelsbeheer
    • Werknemers
    • Werving & Selectie
    • Verlof
    • Evaluaties
    • Aanbevelingen
    • Wagenpark
    Marketing
    • Social media Marketing
    • E-mailmarketing
    • SMS Marketing
    • Evenementen
    • Marketingautomatisering
    • Enquêtes
    Diensten
    • Project
    • Urenstaten
    • Buitendienst
    • Helpdesk
    • Planning
    • Afspraken
    Productiviteit
    • Chat
    • Goedkeuringen
    • IoT
    • VoIP
    • Kennis
    • WhatsApp
    Apps van derden Odoo Studio Odoo Cloud Platform
  • Bedrijfstakken
    Detailhandel
    • Boekhandel
    • kledingwinkel
    • Meubelzaak
    • Supermarkt
    • Bouwmarkt
    • Speelgoedwinkel
    Food & Hospitality
    • Bar en Pub
    • Restaurant
    • Fastfood
    • Gastenverblijf
    • Drankenhandelaar
    • Hotel
    Vastgoed
    • Makelaarskantoor
    • Architectenbureau
    • Bouw
    • Vastgoedbeheer
    • Tuinieren
    • Vereniging van eigenaren
    Consulting
    • Accountantskantoor
    • Odoo Partner
    • Marketingbureau
    • Advocatenkantoor
    • Talentenwerving
    • Audit & Certificering
    Productie
    • Textiel
    • Metaal
    • Meubels
    • Eten
    • Brewery
    • Relatiegeschenken
    Gezondheid & Fitness
    • Sportclub
    • Opticien
    • Fitnesscentrum
    • Wellness-medewerkers
    • Apotheek
    • Kapper
    Trades
    • Klusjesman
    • IT-hardware & support
    • Zonne-energiesystemen
    • Schoenmaker
    • Schoonmaakdiensten
    • HVAC-diensten
    Andere
    • Non-profit organisatie
    • Milieuagentschap
    • Verhuur van Billboards
    • Fotograaf
    • Fietsleasing
    • Softwareverkoper
    Browse all Industries
  • Community
    Leren
    • Tutorials
    • Documentatie
    • Certificeringen
    • Training
    • Blog
    • Podcast
    Versterk het onderwijs
    • Onderwijs- programma
    • Scale Up! Business Game
    • Bezoek Odoo
    Download de Software
    • Downloaden
    • Vergelijk edities
    • Releases
    Werk samen
    • Github
    • Forum
    • Evenementen
    • Vertalingen
    • Word een Partner
    • Services for Partners
    • Registreer je accountantskantoor
    Diensten
    • Vind een partner
    • Vind een boekhouder
    • Een adviseur ontmoeten
    • Implementatiediensten
    • Klantreferenties
    • Ondersteuning
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +1 (650) 691-3277
    Vraag een demo aan
  • Prijzen
  • Help

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

  • CRM
  • e-Commerce
  • Boekhouding
  • Voorraad
  • PoS
  • Project
  • MRP
All apps
Je moet geregistreerd zijn om te kunnen communiceren met de community.
Alle posts Personen Badges
Labels (Bekijk alle)
odoo accounting v14 pos v15
Over dit forum
Je moet geregistreerd zijn om te kunnen communiceren met de community.
Alle posts Personen Badges
Labels (Bekijk alle)
odoo accounting v14 pos v15
Over dit forum
Help

[v18] multiple report sheets for one project

Inschrijven

Ontvang een bericht wanneer er activiteit is op deze post

Deze vraag is gerapporteerd
developmentconfigurationservicev18
1 Beantwoorden
803 Weergaven
Avatar
hzlh

Hello!

I'm taking over this already started project which has v18, I'm pretty new to Odoo and would love some help figuring out how to do what I have in mind:

We have a modified on field module which creates on site projects linked to a sales (one sale one project). It has the client, dates, etc, and then a tab component with a couple useful things like timesheets and notes. Among those tabs, we have one to file a report that the client can sign and where you can put details on what you've done and seen on site, and add pictures.

The issue is: we need to be able to file several reports, one for each day, for cases when the project lasts more than one day.

Right now, when you click on the tab, it directly shows a form which you can file and edit.

I thought of adding a button on top to create a new report if needed:

  • if there's only one, keep the current display
  • if there are multiples, display them in a list which you can toggle (date, who went, is the report signed or not) to avoid having a very long page

Another point is that we need to be able to print those individually, so having the option to choose which ones to print is needed.

Is this something I can do? If yes, how can I go about it?

I've read documentation about the in field module and have a good general understanding of the tool, and a web dev background.

Thanks a lot!

0
Avatar
Annuleer
Avatar
Cybrosys Techno Solutions Pvt.Ltd
Beste antwoord

Hi,


In Odoo 18, your current setup allows only a single on-site report per project, which makes it hard to handle projects lasting multiple days. The clean solution is to create a dedicated Daily Report model and link it to your project with a one-to-many relation. This lets you add as many daily reports as needed, display them in a list if there are several, and still print each report individually.


The first step is to define a new model for daily reports. This model will store the project reference, date, technician, signed status, notes, and any attached photos:


class OnFieldReport(models.Model):

    _name = 'onfield.report'

    _description = 'On Field Daily Report'


    project_id = fields.Many2one('onfield.project', string="Project", required=True, ondelete='cascade')

    date = fields.Date(default=fields.Date.context_today, required=True)

    user_id = fields.Many2one('res.users', string="Technician", default=lambda self: self.env.user)

    signed = fields.Boolean("Signed by Client")

    notes = fields.Text("Report Notes")

    image_ids = fields.Many2many('ir.attachment', string="Photos")


Next, you extend your existing project model with a one-to-many field pointing to the reports:


class OnFieldProject(models.Model):

    _inherit = 'onfield.project'


    report_ids = fields.One2many('onfield.report', 'project_id', string="Daily Reports")



On the project form view, you add a new tab that displays the reports in both list and form view. This allows users to create new reports, quickly see existing ones, and open them individually:


<page string="Daily Reports">

    <field name="report_ids" context="{'default_project_id': active_id}">

        <tree editable="bottom">

            <field name="date"/>

            <field name="user_id"/>

            <field name="signed"/>

        </tree>

        <form>

            <sheet>

                <group>

                    <field name="date"/>

                    <field name="user_id"/>

                    <field name="signed"/>

                </group>

                <group>

                    <field name="notes"/>

                    <field name="image_ids" widget="many2many_binary"/>

                </group>

            </sheet>

        </form>

    </field>

</page>


Finally, you add a QWeb report definition so each daily report can be printed individually:


<report

    id="action_report_onfield_report"

    model="onfield.report"

    string="Daily Report"

    report_type="qweb-pdf"

    name="your_module.onfield_report_template"

    file="your_module.onfield_report_template"

/>



By moving the daily report into its own model and linking it to projects with a one-to-many relation, you can easily support multiple reports per project, keep the project form neat, and allow reports to be printed individually. This design scales well, stays user-friendly, and aligns with Odoo’s best practices for modularity and extensibility.


Hope it helps

0
Avatar
Annuleer
Geniet je van het gesprek? Blijf niet alleen lezen, doe ook mee!

Maak vandaag nog een account aan om te profiteren van exclusieve functies en deel uit te maken van onze geweldige community!

Aanmelden
Gerelateerde posts Antwoorden Weergaven Activiteit
Override price list with quote
development configuration v18
Avatar
Avatar
Avatar
Avatar
3
mei 25
1342
Dynamic Dashboard Background and Text on Dark/Light Theme Switch in Odoo 16 sh
development configuration
Avatar
Avatar
1
nov. 25
236
Bulk PDF download error
development configuration
Avatar
0
okt. 25
517
I am trying to set up a mass BOM edit. My Python code is giving forbidden opcode(s) error. Odoo 18
development configuration
Avatar
Avatar
Avatar
2
sep. 25
1037
Google Calendar Sync - Odoo Calendar
development configuration
Avatar
Avatar
Avatar
3
aug. 25
1968
Community
  • Tutorials
  • Documentatie
  • Forum
Open Source
  • Downloaden
  • Github
  • Runbot
  • Vertalingen
Diensten
  • Odoo.sh Hosting
  • Ondersteuning
  • Upgrade
  • Gepersonaliseerde ontwikkelingen
  • Onderwijs
  • Vind een boekhouder
  • Vind een partner
  • Word een Partner
Over ons
  • Ons bedrijf
  • Merkelementen
  • Neem contact met ons op
  • Vacatures
  • Evenementen
  • Podcast
  • Blog
  • Klanten
  • Juridisch • Privacy
  • Beveiliging
الْعَرَبيّة 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 een suite van open source zakelijke apps die aan al je bedrijfsbehoeften voldoet: CRM, E-commerce, boekhouding, inventaris, kassasysteem, projectbeheer, enz.

Odoo's unieke waardepropositie is om tegelijkertijd zeer gebruiksvriendelijk en volledig geïntegreerd te zijn.

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