# Freies Dokument - DocumentReport.rpx

Die Vorlage für das freie Dokument kann im Systemverzeichnis unter dem Namen DocumentReport.rpx gefunden werden.

### Spezifische Vorlage nach Dokumenttyp

Es kann eine eigene Vorlage nach Dokumenttyp definiert werden. Diese werden jeweils auf den Code des Dokumenttyps angewandt. (Beispiel: RE)  
Dazu muss der Name der Vorlagendatei wie in foldendem Beispiel angepasst werden.

Dokumenttyp: RE -&gt; Name der Vorlagendatei "DocumentReport<span style="color: rgb(224, 62, 45);">**\_RE**</span>.rpx"

### Spezifische Vorlage nach Dokumentsprache

Es kann eine eigene Vorlage nach Dokumentsprache definiert werden. Diese werden über den Sprachcode angewandt.

**Verfügbare Sprachen**

- "de" - Deutsch
- "fr" - Französisch
- "it" - Italienisch
- "en" - Englisch

Dazu muss der Name der Vorlagendatei wie in foldendem Beispiel angepasst werden.

Dokumentsprache Deutsch -&gt; Name der Vorlagendatei "DocumentReport<span style="color: rgb(53, 152, 219);">**.de**</span>.rpx"

### Spezifische Vorlage nach Dokumenttyp und Dokumentsprache

Diese beiden Prinzipien können auch kombiniert werden, sodass eine Vorlage für italienische Rechnungen wie folgt definiert werden kann.

"DocumentReport**<span style="color: rgb(224, 62, 45);">\_RE</span><span style="color: rgb(53, 152, 219);">.it</span>**.rpx"

### Verfügbare Felder

Folgende Felder können im Report Designer als DataSource verwendet werden. Ausser anders definiert werden diese in eine TextBox eingefügt.

##### **Achtung:** Datumsfelder

Felder welche den Typen "Date" oder "DateTime" haben, müssen im Datafield mit einer der folgenden Funktionen in einen String gewandelt werden.

- ToLongDateString() - Donnerstag, 22. Mai 2025
- ToLongTimeString() - 08:50:20
- ToShortDateString() - 22.05.2025
- ToShortTimeString() - 8:50

##### Beispiel DataSource mit Datum

"=BillDateOrDate.ToShortDateString()"

##### Mehrere Felder kombinieren

Es können mehrere Felder aneinandergekettet werden. Dafür muss zwischen den Feldern ein + gesetzt werden.  
  
**Beispiel: Eine Kombination aus Vor- und Nachname**  
= ResponsibleFirstName + " " + ResponsibleLastName

### Mandanteninformationen

- **ClientName** (string)  
    Der Name des Mandanten.
- **ClientAddress** (string)  
    Die vollständige Adresse des Mandanten.
- **ClientStreet** (string)  
    Der Strassenname der Mandantenadresse.
- **ClientHouseNumber** (string)  
    Die Hausnummer der Mandantendresse.
- **ClientPostalCode** (string)  
    Die Postleitzahl der Mandantenadresse.
- **ClientCity** (string)  
    Die Stadt der Mandantenadresse.
- **ClientCountryCode** (string)  
    Der Ländercode der Mandantenadresse (z. B. "CH" für Schweiz).
- **ClientCountryCaption** (string)  
    Der vollständige Ländernamen der Mandantenadresse.
- **ClientVat** (string)  
    Die Umsatzsteuer-Identifikationsnummer des Mandanten.
- **ClientSupplierNumber** (string)  
    Die Lieferantennummer des Mandanten.
- **ClientEmail** (string)  
    Die E-Mail-Adresse des Mandanten.

### Objektinformationen

- **ObjectCode** (string)  
    Die Objektnummer.
- **ObjectCaption** (string)  
    Die Objektbeschreibung.

### Projektinformationen

- **ProjectCode** (string)  
    Die Projektnummer
- **ProjectCaption** (string)  
    Die Projektbeschreibung

### Dokumententyp

- **DocumentTypeCode** (string)  
    Der Code, der den Dokumententyp repräsentiert.
- **DocumentTypeCaption** (string)  
    Die Bezeichnung des Dokumententyps.
- **DocumentTypeAbbreviation** (string)  
    Die Abkürzung des Dokumententyps.
- **DocumentTypeIsBill** (bool)  
    Gibt an, ob der Dokumententyp eine Rechnung ist.

### Dokumentenkennungen

- **Year** (int)  
    Das Dokumentjahr.
- **Number** (int)  
    Die Dokumentnummer.
- **DocumentTypeCodeYearNumber** (string)  
    Eine Zusammensetzung des <span style="color: rgb(22, 145, 121);">Dokumententypcode</span>, dem <span style="color: rgb(230, 126, 35);">Jahr</span> und der <span style="color: rgb(186, 55, 42);">Nummer</span> (z. B. "<span style="color: rgb(22, 145, 121);">RE<span style="color: rgb(230, 126, 35);">2025</span></span><span style="color: rgb(186, 55, 42);">95</span>").

### Dokumentdetails

- **Caption** (string)  
    Die Bezeichnung des Dokuments.
- **Date** (DateTime)  
    Das Dokumentdatum.
- **ExecutionDateStart** (DateTime?)  
    Der Ausführungsbeginn.
- **ExecutionDateFinish** (DateTime?)  
    Das Ausführungsende.
- **BillDate** (DateTime?)  
    Das Rechnungsdatum.
- **BillDateOrDate** (DateTime)  
    Gibt das Rechnungsdatum zurück, wenn verfügbar; andernfalls das Dokumentdatum.
- **BillReferenceNumberCode** (int?)  
    Der Referenznummercode für die Rechnung.

### Gewerk

- **MaintenanceGroupCode** (string)  
    Der Code des Gewerks.
- **MaintenanceGroupCaption** (string)  
    Die Bezeichnung des Gewerks.

### Informationen zur Stelle

- **CenterCode** (string)  
    Der Code der Stelle.
- **CenterCaption** (string)  
    Die Bezeichnung der Stelle.
- **CenterAddress** (string)  
    Die Adresse der Stelle.
- **CenterCity** (string)  
    Die Stadt der Stelle.

### Verantwortliche Person

- **ResponsibleCode** (string)  
    Der Code der verantwortlichen Person.
- **ResponsibleLastName** (string)  
    Der Nachname der verantwortlichen Person.
- **ResponsibleFirstName** (string)  
    Der Vorname der verantwortlichen Person.

### Empfängeradresse

- **ReceiverAddressNumber** (int)  
    Die Adressnummer, der Empfängeradresse.
- **ReceiverAddress** (string)  
    Die vollständige Adresse des Empfängers.
- **ReceiverAddressName** (string)  
    Der Name, der mit der Empfängeradresse verbunden ist.
- **ReceiverAddressZusatz1** (string)  
    Der Zusatz1 der Empfängeradresse.
- **ReceiverAddressStreet** (string)  
    Die Strasse der Empfängeradresse.
- **ReceiverAddressHausnummer** (string)  
    Die Hausnummer der Empfängeradresse.
- **ReceiverAddressPostalCode** (string)  
    Die Postleitzahl der Empfängeradresse.
- **ReceiverAddressCity** (string)  
    Die Stadt der Empfängeradresse.
- **ReceiverAddressCountryCode** (string)  
    Der Ländercode der Empfängeradresse.
- **ReceiverEmail** (string)  
    Die E-Mail-Adresse des Empfängers.
- **ReceiverEbill** (bool)  
    Gibt an, ob der Empfänger eine elektronische Rechnung bevorzugt.
- **ReceiverEbillEmail** (string)  
    Die E-Mail-Adresse für den Versand der elektronischen Rechnung des Empfängers.

### Zusatzadresse

- **ControllerAddressNumber** (int?)  
    Die Nummer der Zusatzadresse (nullable).
- **ControllerAddress** (string)  
    Die vollständige Zusatzadresse.

### Planer-Adresse

- **PlanerAdresseNummer** (int?)  
    Die Nummer der Planer-Adresse (nullable).
- **PlanerAdresse** (string)  
    Die vollständige Adresse des Planers.

### Bauherr-Adresse

- **BauherrAdresseNummer** (int?)  
    Die Nummer der Bauherr-Adresse (nullable).
- **BauherrAdresse** (string)  
    Die vollständige Adresse des Bauherrn.

### Eingabeinformationen

- **EingabeDateTime** (DateTime?)  
    Das Eingabedatum.
- **EingabeDatumText** (string)  
    Das Eingabedatum als kurzer Datumsstring (z. B. "22.05.2025").
- **EingabeOrt** (string)  
    Der Ort der Eingabe.

### Dokumentkategorie

- **DocumentCategoryCode** (string)  
    Der Code der Dokumentkategorie.
- **DocumentCategoryCaption** (string)  
    Die Bezeichnung der Dokumentkategorie.

### Dokumentencode

- **DocumentCodeId** (Guid)  
    Die eindeutige Kennung des Dokumentencodes.
- **DocumentCodeCode** (string)  
    Der Codewert des Dokumentencodes.
- **DocumentCodeCaption** (string)  
    Die beschreibende Bezeichnung des Dokumentencodes.

### Dokumentstatus

- **DocumentStateCode** (string)  
    Der Code des Dokumentstatus.
- **DocumentStateCaption** (string)  
    Die Bezeichnung des Dokumentstatus.
- **CrbDocumentState** (CrbDocumentState)  
    Der CRB-spezifische Dokumentstatus.

### Bankinformationen

- **BankCode** (string)  
    Der Code der Bank.
- **BankCaption** (string)  
    Die Bezeichnung der Bank.
- **BankIban** (string)  
    Die IBAN der Bank.
- **BankQrIban** (string)  
    Die QR-IBAN der Bank (für QR-Code-Zahlungen).
- **BankQrTnrBesr** (int)  
    Die QR-Teilnehmernummer oder BESR-Referenz der Bank.
- **BankUseTextAsBill** (bool)  
    Gibt an, ob der Banktext als Rechnung verwendet werden soll.
- **BankBillText** (string)  
    Der Text, der für die Bankrechnung verwendet wird.

### Texteigenschaften

- **StartTextRtf** (string) **(RichTextBox)**  
    Der Vortext des Dokuments im RTF-Format.
- **StartTextRtfReplaced** (string) **(RichTextBox)**  
    Der Vortext mit ersetzten Platzhaltern.
- **EndTextRtf** (string) **(RichTextBox)**  
    Der Schlusstext des Dokuments im RTF-Format.
- **EndTextRtfReplaced** (string) **(RichTextBox)**  
    Der Schlusstext mit ersetzten Platzhaltern.

### Finanzinformationen

- **Vat** (string)  
    Die Mehrwertsteuer.
- **Currency** (string)  
    Die Währung (z. B. "CHF").
- **BetragNetto** (decimal)  
    Der Nettobetrag des Dokuments.
- **BetragKonditionen** (decimal)  
    Der Konditionenbetrag, berechnet als BetragBrutto - BetragNetto.
- **BetragVorMwst** (decimal?)  
    Der Betrag vor Mehrwertsteuer.
- **BetragMwst** (decimal?)  
    Der Mehrwertsteuerbetrag.
- **BetragBrutto** (decimal)  
    Der Bruttobetrag des Dokuments.

### Gläubigerinformationen

- **CreditorName** (string)  
    Der Name des Gläubigers.
- **CreditorAddressLine1** (string)  
    Die erste Zeile der Gläubigeradresse.
- **CreditorAddressLine2** (string)  
    Die zweite Zeile der Gläubigeradresse.
- **CreditorHouseNr** (string)  
    Die Hausnummer der Gläubigeradresse.
- **CreditorPostalCode** (string)  
    Die Postleitzahl der Gläubigeradresse.
- **CreditorCity** (string)  
    Die Stadt der Gläubigeradresse.
- **CreditorCountryCode** (string)  
    Der Ländercode der Gläubigeradresse.

### Schuldnerinformationen

- **DebtorName** (string)  
    Der Name des Schuldners.
- **DebtorAddressLine1** (string)  
    Die erste Zeile der Schuldneradresse.
- **DebtorAddressLine2** (string)  
    Die zweite Zeile der Schuldneradresse.
- **DebtorHouseNr** (string)  
    Die Hausnummer der Schuldneradresse.
- **DebtorPostalCode** (string)  
    Die Postleitzahl der Schuldneradresse.
- **DebtorCity** (string)  
    Die Stadt der Schuldneradresse.
- **DebtorCountryCode** (string)  
    Der Ländercode der Schuldneradresse.

### Referenzinformationen

- **UnserZeichenCode** (string)  
    Der Code der Person in "unser Zeichen".
- **UnserZeichenVorname** (string)  
    Der Vorname der Person in "unser Zeichen".
- **UnserZeichenNachname** (string)  
    Der Nachname der Person in "unser Zeichen".
- **IhrZeichen** (string)  
    Der Wert für "Ihr Zeichen".
- **IhrZeichenAbteilung** (string)  
    Die Abteilung für "Ihr Zeichen".
- **IhrZeichenEmail** (string)  
    Die E-Mail für "Ihr Zeichen".
- **KontaktTelefon** (string)  
    Die Kontakttelefonnummer.
- **AuftragReferenzNummer** (string)  
    Die Auftrags-/Referenznummer.
- **AuftragDatum** (DateTime?)  
    Das Auftragsdatum.
- **AusfuehrungBeginnDatumZeit** (DateTime?)  
    Der Ausführungsbeginn.
- **AusfuehrungEndeDatum** (DateTime?)  
    Das Ausführungsende.
- **AusfuehrungOrt** (string)  
    Der Ausführungsort.
- **Arbeitsbeschreibung** (string)  
    Die Arbeitsbeschreibung.
- **Zahlungsperiode** (int)  
    Die Zahlungsfrist in Tagen.