Zum Inhalt springen
Odoo Menü
  • Anmelden
  • Jetzt gratis testen
  • Apps
    Finanzen
    • Buchhaltung
    • Rechnungsstellung
    • Spesenabrechnung
    • Tabellenkalkulation (BI)
    • Dokumente
    • E-Signatur
    Vertrieb
    • CRM
    • Vertrieb
    • Kassensystem – Shop
    • Kassensystem – Restaurant
    • Abonnements
    • Vermietung
    Websites
    • Website-Builder
    • E-Commerce
    • Blog
    • Forum
    • Livechat
    • E-Learning
    Lieferkette
    • Lager
    • Fertigung
    • PLM
    • Einkauf
    • Wartung
    • Qualität
    Personalwesen
    • Mitarbeiter
    • Personalbeschaffung
    • Abwesenheiten
    • Mitarbeiterbeurteilung
    • Personalempfehlungen
    • Fuhrpark
    Marketing
    • Social Marketing
    • E-Mail-Marketing
    • SMS-Marketing
    • Veranstaltungen
    • Marketing-Automatisierung
    • Umfragen
    Dienstleistungen
    • Projekte
    • Zeiterfassung
    • Außendienst
    • Kundendienst
    • Planung
    • Termine
    Produktivität
    • Dialog
    • Genehmigungen
    • IoT
    • VoIP
    • Wissensdatenbank
    • WhatsApp
    Apps von Drittanbietern Odoo Studio Odoo Cloud-Plattform
  • Branchen
    Einzelhandel
    • Buchladen
    • Kleidergeschäft
    • Möbelhaus
    • Lebensmittelgeschäft
    • Baumarkt
    • Spielwarengeschäft
    Essen & Gastgewerbe
    • Bar und Kneipe
    • Restaurant
    • Fast Food
    • Gästehaus
    • Getränkehändler
    • Hotel
    Immobilien
    • Immobilienagentur
    • Architekturbüro
    • Baugewerbe
    • Immobilienverwaltung
    • Gartenarbeit
    • Eigentümervereinigung
    Beratung
    • Buchhaltungsfirma
    • Odoo-Partner
    • Marketingagentur
    • Anwaltskanzlei
    • Talentakquise
    • Prüfung & Zertifizierung
    Fertigung
    • Textil
    • Metall
    • Möbel
    • Speisen
    • Brauerei
    • Firmengeschenke
    Gesundheit & Fitness
    • Sportklub
    • Brillengeschäft
    • Fitnessstudio
    • Therapeut
    • Apotheke
    • Friseursalon
    Handel
    • Handyman
    • IT-Hardware & -Support
    • Solarenergiesysteme
    • Schuster
    • Reinigungsdienstleistungen
    • HLK-Dienstleistungen
    Sonstiges
    • Gemeinnützige Organisation
    • Umweltschutzagentur
    • Plakatwandvermietung
    • Fotostudio
    • Fahrrad-Leasing
    • Software-Händler
    Alle Branchen ansehen
  • Community
    Lernen
    • Tutorials
    • Dokumentation
    • Zertifizierungen
    • Schulung
    • Blog
    • Podcast
    Bildung fördern
    • Bildungsprogramm
    • Scale-Up! Planspiel
    • Odoo besuchen
    Software anfragen
    • Herunterladen
    • Editionen vergleichen
    • Releases
    Zusammenarbeiten
    • Github
    • Forum
    • Veranstaltungen
    • Übersetzungen
    • Partner werden
    • Dienstleistungen für Partner
    • Buchhaltungsfirma registrieren
    Services anfragen
    • Partner finden
    • Buchhalter finden
    • Einen Experten treffen
    • Implementierungsservices
    • Kundenreferenzen
    • Support
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +1 (650) 691-3277
    Eine Demo erhalten
  • Preiskalkulation
  • Hilfe

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

  • CRM
  • e-Commerce
  • Buchhaltung
  • Lager
  • PoS
  • Projekte
  • MRP
All apps
Sie müssen registriert sein, um mit der Community zu interagieren.
Alle Beiträge Personen Abzeichen
Stichwörter (Alle anzeigen)
odoo accounting v14 pos v15
Über dieses Forum
Sie müssen registriert sein, um mit der Community zu interagieren.
Alle Beiträge Personen Abzeichen
Stichwörter (Alle anzeigen)
odoo accounting v14 pos v15
Über dieses Forum
Hilfe

[v18] multiple report sheets for one project

Abonnieren

Erhalten Sie eine Benachrichtigung, wenn es eine Aktivität zu diesem Beitrag gibt

Diese Frage wurde gekennzeichnet
developmentconfigurationservicev18
1 Antworten
861 Ansichten
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
Verwerfen
Avatar
Cybrosys Techno Solutions Pvt.Ltd
Beste Antwort

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
Verwerfen
Diskutieren Sie gerne? Treten Sie bei, statt nur zu lesen!

Erstellen Sie heute ein Konto, um exklusive Funktionen zu nutzen und mit unserer tollen Community zu interagieren!

Registrieren
Verknüpfte Beiträge Antworten Ansichten Aktivität
Override price list with quote
development configuration v18
Avatar
Avatar
Avatar
Avatar
3
Mai 25
1386
Dynamic Dashboard Background and Text on Dark/Light Theme Switch in Odoo 16 sh
development configuration
Avatar
Avatar
1
Nov. 25
286
Bulk PDF download error
development configuration
Avatar
0
Okt. 25
537
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
Sept. 25
1094
Google Calendar Sync - Odoo Calendar
development configuration
Avatar
Avatar
Avatar
3
Aug. 25
2019
Community
  • Tutorials
  • Dokumentation
  • Forum
Open Source
  • Herunterladen
  • Github
  • Runbot
  • Übersetzungen
Dienstleistungen
  • Odoo.sh-Hosting
  • Support
  • Upgrade
  • Individuelle Entwicklungen
  • Bildung
  • Buchhalter finden
  • Partner finden
  • Partner werden
Über uns
  • Unsere Firma
  • Markenwerte
  • Kontakt
  • Karriere
  • Veranstaltungen
  • Podcast
  • Blog
  • Kunden
  • Rechtliches • Datenschutz
  • Sicherheit
الْعَرَبيّة 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 ist eine Suite von Open-Source-Betriebsanwendungen, die alle Bedürfnisse Ihres Unternehmens abdecken: CRM, E-Commerce, Buchhaltung, Lager, Kassensystem, Projektmanagement etc.

Das einzigartige Wertversprechen von Odoo ist, dass es gleichzeitig sehr einfach zu bedienen und voll integriert ist.

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