Search Results for

    Show / Hide Table of Contents

    Benutzerdefinierten Rendering-Layouts hinzufügen

    Der COSMO Document Configurator verwendet RDLC-Layouts zur Darstellung von Berichten. Welches RDLC-Layout für das Rendering verwendet wird, wird durch das Enum CCS DC Rendering Layout definiert, das auf der Seite Dokumentlayout konfiguriert wird. Um benutzerdefinierte RDLC-Layouts hinzuzufügen, können Sie das Enum programmatisch erweitern, indem Sie eine Enum-Extension erstellen und die Schnittstelle "CCS DC Rendering Layout Information" wie unten beschrieben implementieren.

    Kopieren eines bestehenden RDLC-Layouts

    Wenn Sie ein benutzerdefiniertes Rendering-Layout hinzufügen möchten, empfiehlt es sich, ein vorhandenes RDLC-Layout aus dem COSMO Document Configurator zu kopieren und es an Ihre Anforderungen anzupassen. Um ein RDLC-Layout aus dem COSMO Document Configurator zu exportieren, navigieren Sie zur Seite Berichtslayouts und wählen Sie das zu exportierende Layout aus. Klicken Sie dann auf die Schaltfläche Layout exportieren, um das RDLC-Layout als Datei herunterzuladen. Die folgenden RDLC-Layouts sind in COSMO Document Configurator enthalten:

    Rendering-Layout Report ID Report Name
    A4 Hochformat Flusslayout 12032040 DC - A4 Hochformat
    A4 Hochformat Festes Layout 12032027 DC - A4 Hochformat
    A4 Querformat Festes Layout 12032028 DC - A4 Querformat
    Brief Hochformat Festes Layout 12032029 DC - Brief Hochformat
    Brief Querformat Festes Layout 12032030 DC - Brief Querformat
    Etikett (57 x 102 mm) 12032032 DC - Etikett (57 x 102 mm)

    Erweitern des Enums CCS DC Rendering Layout

    Erstellen Sie eine neue Enum-Extension und fügen Sie einen neuen Wert hinzu, der Ihr benutzerdefiniertes RDLC-Layout repräsentiert. Der Wert muss die Interfaces CCS DC Rendering Layout Information und CCS DC Rendering Layout Text Processor implementieren:

    • Als Implementierung für die Schnittstelle "CCS DC Rendering Layout Text Processor" wählen Sie entweder CCS DC Flow Layout oder CCS DC Fixed Layout, je nachdem, ob das benutzerdefinierte Layout auf einem Flusslayout oder auf einem festen/klassischen Layout basiert.
    • Als Implementierung für die Schnittstelle CCS DC Rendering Layout Information geben Sie eine Codeunit Ihrer Erweiterung an, in der dieses Interface im nächsten Abschnitt implementiert wird.
    enumextension [your object ID] [your object name] extends "CCS DC Rendering Layout"
    {
        value([your value ID]; [your value name])
        {
            Caption = 'Your value caption';
            Implementation = "CCS DC Rendering Layout Text Processor" = ["CCS DC Flow Layout" | "CCS DC Fixed Layout"],
                             "CCS DC Rendering Layout Information" = [your implementation codeunit];
        }
    }
    

    Implementieren der Schnittstelle CCS DC Rendering Layout

    Implementieren Sie in der Codeunit, die Sie in der Enum-Extension angegeben haben, das Interface CCS DC Rendering Layout Information und fügen Sie die folgenden Methoden hinzu:

    • GetRenderingLayoutBlob(RenderingLayout: Enum "CCS DC Rendering Layout"; var TempBlob: Codeunit "Temp Blob"): Boolean
      Diese Methode muss das RDLC-Layout als Blob zurückgeben. Der Parameter RenderingLayout enthält den Enum-Wert des/der benutzerdefinierten Layouts. Der Parameter TempBlob ist ein temporärer Blob, der mit dem RDLC-Layout gefüllt werden muss. Die Methode muss true zurückgeben, wenn das RDLC-Layout gefunden wurde und false, wenn nicht.
      Es ist Ihnen überlassen, wo Sie das RDLC-Layout speichern. Sie können z.B.
      • ein neues Blob-Feld in einer Einrichtungstabelle erstellen, in das Sie das RDLC-Layout über die Benutzeroberfläche hochladen und dann von dort auslesen, oder
      • das RDLC Layout in Ihrer Erweiterung inkludieren, indem Sie es mit einem Report-Objekt verknüpfen und die Methode GetDefaultLayoutBlob(ReportId: Integer; var TempBlob: Codeunit "Temp Blob"): Boolean der Codeunit CCS DC Management verwenden, um das RDLC-Layout als Blob zu erhalten.
    • GetRenderingLayoutType(RenderingLayout: Enum "CCS DC Rendering Layout"): Enum "Custom Report Layout Type"
      Diese Methode muss den benutzerdefinierten Berichtslayouttyp zurückgeben, der entweder RDLC oder Word sein kann. Da derzeit nur RDLC-Layouts unterstützt werden, muss diese Methode immer RDLC zurückgeben.
    • GetPageHeight(RenderingLayout: Enum "CCS DC Rendering Layout"): Integer
      Wenn das benutzerdefinierte RDLC-Layout auf einem festen Layout basiert, muss diese Methode die Anzahl der Zeilen pro Seite zurückgeben. Basiert das benutzerdefinierte RDLC-Layout auf einem Flusslayout, muss diese Methode 0 zurückgeben. Für die enthaltenen festen Layouts werden die folgenden Werte verwendet:
      • A4 Hochformat Festes Layout: 61
      • A4 Querformat Festes Layout: 38
      • Brief Hochformat Festes Layout: 56
      • Brief Querformat Festes Layout: 41
      • Etikett (57 x 102 mm): 25
    • GetPageWidth(RenderingLayout: Enum "CCS DC Rendering Layout"): Integer
      Diese Methode muss die nutzbare Breite des Layouts in pt zurückgeben. Für die enthaltenen RDLC-Layouts werden die folgenden Werte verwendet:
      • A4 hoch: 508
      • A4 quer: 778
      • Letter hoch: 535
      • Letter quer: 715
      • Etikett (57 x 102 mm): 158

    Erledigt. Sie können nun Ihr benutzerdefiniertes Rendering-Layout auf der Seite Dokumentlayout auswählen.

    In This Article
    Back to top 2025 © COSMO CONSULT - Data protection - Imprint