Entwicklung Berichte

Eigene Berichte mit QWeb erstellen.

Ansicht

Bericht als Webseite anzeigen

Eine Übersicht der wichtigsten Berichte und deren URL:

NameURL
Angebot / Auftrag/report/html/sale.report_saleorder/$ID
Angebotsanfrage/report/html/purchase.report_purchasequotation/$ID
Arbeitsraport (Rechnungsstellung)/report/html/account_sale_timesheet_report.timesheet_report/$ID
Arbeitsrapport (Verkauf)/report/html/account_sale_timesheet_report.report_sale/$ID
Attendance and Leave/report/html/hr_employee_attendance_report.res_users/$ID
Barcode EAN-13/report/barcode/?type=EAN13&value=0769503968353width=600&height=150
Barcodes (PDF)/report/html/stock.label_transfer_template_view_pdf/$ID
Bordereau/report/html/report/html/mint_system.stock.report_bordero.basis57/$ID
Fertigungsauftrag/report/html/mrp.report_mrporder/$ID
Kaufvertrag/report/html/purchase_requisition.report_purchaserequisitions/$ID
Lieferschein/report/html/stock.report_deliveryslip/$ID
Lieferschein (Aufgabe)/report/html/forestry_timesheet.report_project_task_deliveryslip/$ID
Lohnabrechnung/report/html/hr_payroll.report_payslip_lang/$ID
Packvorgänge/report/html/stock.report_picking/$ID
QR-Rechnung/report/html/l10n_ch.qr_report_main/$ID
QR-Rechnung Header/report/html/l10n_ch.qr_report_header/$ID
Rahmenauftrag/report/html/sale_blanket_order.report_blanketorder/$ID
Rechnung mit Zeitnachweis/report/html/account_sale_timesheet_report.report_invoice_with_timesheets/$ID
Rechnungen/report/html/account.report_invoice/$ID
Rechnungen mit Zahlung/report/html/account.report_invoice_with_payments/$ID
Vorschau externer Bericht/report/html/web.preview_externalreport/$ID
Vorschau interner Bericht/report/html/web.preview_internalreport/$ID
Zeitnachweis/report/html/account_sale_timesheet_report.timesheet_report/$ID

TIP

Bestimmte Bericht können mehrere Dokumente anzeigen. Für die HTML-Anzeige können Sie die Dokument-IDs Komma-getrennt übergeben: /report/html/stock.report_deliveryslip/3,4,5

Berichte als HTML anzeigen

Alle von Odoo generierten Berichte können unter einer bestimmten URL als HTML angezeigt werden. Diese URL besteht aus dem technischen Berichtsnamen und der ID des anzuzeigenden Dokuments. Dazu ein Beispiel anhand des Lieferscheins.

Öffnen Sie einen Lieferschein via Lager > Vorgänge > Transfers und merken Sie sich die folgenden Elemente der angezeigten URL: /web#id=3&action=348&model=stock.picking&view_type=form&cids=1&menu_id=208

Navigieren Sie nun zu Einstellungen > Technisch > Aktionen > Berichte. Filtern Sie die Liste nach dem Name des Berichts oder dem Modellname.

Wählen Sie den Bericht aus und notieren Sie den Vorlagenname des Berichts.

Nun haben Sie alle Elemente um den Bericht als HTML anzuzeigen. Geben Sie die folgende URL ein: /report/html/stock.report_deliveryslip/3

Verwaltung

Benutzerdefinierter Bericht erstellen

In diesem Szenario möchten wir für Dokumente einen Bericht generieren.

Öffnen Sie Einstellungen > Technisch > Berichtswesen > Berichte und erstellen Sie einen neuen Bericht mit diesen Attributen:

  • Name: Kundenstandards
  • Modellname: documents.document
  • Papierformat: A4
  • Berichtstyp: PDF
  • Vorlagenname: documents.report_customer_standards

Navigieren Sie nun nach Einstellungen > Technisch > Benutzer-Interface > Ansichten und erstellen Sie eine neue Ansicht gemäss Ansicht erstellen mit diesen Attributen:

Ansichtsbezeichnung: mint_system.documents.report_customer_standardsModell: documents.document
Sequenz: 50
Ansichtstyp: QWeb
Architektur:

<t t-name="report_customer_standards">
  <t t-call="web.html_container">
	  <t t-call="web.internal_layout">
  		<div class="page">
  				
		<table class="table o_report_block_table">
          <thead>
            <tr>
              <th>
                <span>Name</span>
              </th>
            </tr>
          </thead>
          <tbody>
            <tr t-foreach="docs" t-as="o">
              <td>
                <span t-field="o.name"/>
              </td>
            </tr>
          </tbody>
        </table>
    
  		</div>
	  </t>
	</t>
</t>

Kopieren Sie die ID der Ansicht via Entwicklertools > Metadaten anzeigen und erstellen Sie eine externe ID gemäss Externe ID erfassen mit diesen Attributen:

  • Modul: documents
  • Externe Identifikation: report_customer_standards
  • Modellname: ir.ui.view
  • Datensatz-ID: $ID

Ihre Ansicht wird nun vom Bericht über den Vorlagename identifiziert. Kehren Sie zum Bericht zurück und wählen Zum Druckmenü hinzufügen

Benutzerdefinierter Bericht kopieren

In diesem Szenario wird gezeigt wie Sie einen bestehenden Bericht übernehmen und anpassen.

Öffnen Sie Einstellungen > Technisch > Berichtswesen > Berichte und erstellen Sie einen neuen Bericht mit diesen Attributen:

  • Name: Barcodes $COMPANY (PDF)
  • Modellname: stock.picking
  • Papierformat: A4
  • Berichtstyp: PDF

Navigieren Sie nun nach Einstellungen > Technisch > Benutzer-Interface > Ansichten, suchen Sie eine bestehende Ansicht und duplizieren Sie diese.

  • Ansichtsbezeichnung: label_transfer_template_view_$COMPANY
  • Architektur:
<t t-name="stock.label_transfer_template_view_$COMPANY">
    <t t-call="web.basic_layout">
        <t t-foreach="docs" t-as="picking">
            <t t-foreach="picking.move_lines" t-as="move">

                <t t-foreach="move.move_line_ids" t-as="move_line">
                    <div class="page">
                        <div class="label">
                            <span class="text-uppercase" t-esc="move.product_id.name"/>
                        </div>
                        <p style="page-break-before:always;" />
                    </div>
                </t>

            </t>
        </t>
    </t>
</t>

Nun exportieren Sie die Ansicht um eine XML ID zu generieren.

Setzen Sie als Ansichtsbezeichnung die XML ID, ersetzen Sie dabei __export__ mit einer anderen Bezeichner beispielsweise mint_system. Öffnen Sie den Bericht und setzen Sie als Vorlagenname die XML ID ein.

Wurde das Kontext-Menü mit der Aktion Zum Druckmenü hinzufügen erstellt, kann der Bericht entsprechend erstellt werden.

TIP

Odoo verlinkt das Ansichts- und Berichtsobjekt über die externe ID bzw. XML ID.

Bestehender Bericht für verlinktes Datenmodell verfügbar machen

In diesem Szenario wird gezeigt wie Sie einen bestehenden Bericht für ein anderes Datenmodell zur Verfügung stellen. Den Bericht Zeitnachweis-Einträge soll in diesem Beispiel auf den Rechnungen erstellt werden können.

Öffnen Sie Einstellungen > Technisch > Berichtswesen > Berichte und kopieren Sie den Bericht Zeitnachweis-Einträge mit dem Datenmodell account.analytic.line.

In der Kopie geben Sie für Modellname den Wert account.move ein und als Vorlagenname w¨áhlen account.report_timesheet ein.

Navigieren Sie nun nach Einstellungen > Technisch > Benutzer-Interface > Ansichten und erstellen Sie einen neue Ansicht account.report_timesheet

  • Ansichtsbezeichnung: account.report_timesheet
  • Ansichtstyp: QWeb
  • Architektur:
<?xml version="1.0"?>
<t t-name="account.report_timesheet">
    <t t-call="web.html_container">
        <t t-foreach="docs" t-as="doc">
			  <t t-call="hr_timesheet.report_timesheet" t-lang="doc.partner_id.lang">
		            <t t-set="docs" t-value="doc.timesheet_ids" />
	          </t>
        </t>
    </t>
</t>

Notieren Sie sich die id der erstellten Ansicht. Diese Ansicht ruft die Ansicht mit der externen ID hr_timesheet.report_timesheet auf. Damit die erstellte Ansicht vom Bericht aufgerufen werden kann, braucht es eine externe ID. Führen Externe ID erfassen mit diesen Angaben aus:

  • Modul: account
  • Externe Identifikation: report_timesheet
  • Modellname: ir.ui.view
  • Datensatz-ID: id der erstellten Ansicht

Bericht beim Drucken aus Anhang laden

Navigieren Sie nach Einstellungen > Technisch > Berichtswesen > Berichte und zeigen Sie den bericht an, den Sie nach dem ersten Druckvorgang aus dem Anhang des Dokuments laden möchten. Im Tab Erweiterte Eigenschaften aktivieren Sie Option Erneut aus Anhang laden.

Option "Als Anhangspräfix speichern" deaktivieren

Verschiedene Standardberichte werden beim Erzeugen an das Dokument angehängt. Dies geschieht aufgrund der Option Als Anhangspräfix speichern auf dem Berichts-Objekt. Rufen Sie einen Bericht unter Einstellungen > Technisch > Berichtswesen > Berichte auf und entfernen Sie im Tab Erweiterte Eigenschaften den Eintrag im Feld Als Anhangspräfix speichern.

Dateinamen für Berichte festlegen

Navigieren Sie nach Einstellungen > Technisch > Berichtswesen > Berichte und legen Sie die Dateinamen gemäss folgender Tabelle fest:

NameName des gedruckten BerichtesAls Anhangsprefix speichern
Invoice with QR'Rechnung_%s.pdf' % object.name.replace("/","_")'Rechnung_%s.pdf' % object.name.replace("/","_")
Originalrechnungen'Rechnung_%s.pdf' % object.name.replace("/","_")
QR-bill'QR-Rechnung_%s' % object.name'QR-Rechnung_%s' % object.name
Rechnung ohne Zahlung'Rechnung_%s.pdf' % object.name.replace("/","_")'Rechnung_%s.pdf' % object.name.replace("/","_")
Rechnungen'Rechnung_%s.pdf' % object.name.replace("/","_")'Rechnung_%s.pdf' % object.name.replace("/","_")

📝 Edit on GitHubopen in new window