Automatische PDF-Dokumente mit Vi Projekt-Daten

Navigation:  Vi Projekt > Einrichtung/Konfiguration/Funktionsweise > Vorlagen/Vorlagenkonfiguration >

Dieses Thema drucken Vorheriges Thema Zurück zur Themenübersicht Nächstes Thema

 

1. Zielsetzung

 

In Vi Projekt sollen PDF-Dokumente mit darin benannten Feldern aus den Vi Projekt-Daten ausgefüllt werden können.

 

Beispiel:

In den globalen Ordnern gibt es Vorlagen für Abnahmeprotokolle. Diese werden zentral gepflegt und sind als ausfüllbare PDF-Dokumente erstellt worden.

Zwei Tage vor einer Abnahme soll ein Abnahmeprotokoll aus den globalen Ordnern in ein Projekt übernommen werden.

 

Dabei sollen Felder in der PDF-Datei wie die Projektnummer, der Projektname, der Bauort, das Abnahmedatum etc. AUTOMATISCH aus den Vi Projekt-Daten gefüllt werden, so dass im Projekt dann ein quasi vorbereitetes Abnahmedokument steht. Das Ausfüllen des PDFs soll so weit gehen, dass auch Daten im Abnahmeprotokoll automatisch gefüllt werden, wie z. B. "Keller: Ja/Nein" etc. Die Dateninhalte können dabei z. B. aus den Merkmalen im Projekt kommen, die Ihren Ursprung in der Kalkulation von ViBIM solutions / Vi Kalk haben.

 

 

2. Vorgehen

 

Um solche automatisch gefüllten PDF-Dokumente zu erzeugen, ist ein mehrstufiges Vorgehen notwendig:

 

Erstellen der PDF-Vorlagendokumente

Übernehmen der PDF-Vorlagendokumente in das Vi Projekt

Definition der Feldinhalte für die Felder in den PDF-Vorlagendokumenten

Anwendung der PDF-Vorlagendokumente

 

 

 

2.1 Erstellen der PDF-Vorlagendokumente

 

Im ersten Schritt müssen die PDF-Vorlagendokumente erstellt werden.

 

Das kann z. B. mit Libre Office erfolgen. Libre Office ist Freeware und somit kostenfrei. Hier im Folgenden wird die Erstellung mit Libre Office 4 dokumentiert.

 

 

clip0568

 

Das Programm kann man hier kostenfrei herunterladen: https://de.libreoffice.org/download/download/

 

 

clip0569

 

 

 

Um ein PDF-Vorlagen-Dokument zu erstellen, muss eine neue Datei vom Typ xml-Formulardokument erstellt werden.

 

clip0570  

 

 

In einem solchen Dokument können dann im Entwurfsmodus neben festem Text auch benannte Felder verwendet werden, um das Dokument aufzubauen.

 

clip0571

 

 

Wesentliche Elemente:

 

Textfelder

Markierfelder

Kombinationsfeld

 

clip0572

 

Textfelder werden verwendet, wenn Informationen aus Vi Projekt ausgegeben werden sollen oder wenn Eingaben im PDF-Dokument erwartet werden.

 

Markierfelder werden verwendet, wenn im Dokument Informationen als Ja/Nein interpretiert werden sollen

 

Kombinationsfelder werden verwendet, wenn ein Wert aus einer Liste ausgewählt werden soll.

 

 

Ein Beispiel könnte so aussehen:

 

clip0573

 

Wichtig ist, dass alle Felder einen Namen haben, über den die Kommunikation mit Vi Projekt läuft.

Ein Doppelklick öffnet den Eigenschaftsdialog des Feldes:

 

clip0574

 

Bitte vermeiden Sie bei Feldnamen die Verwendung von Umlauten oder Sonderzeichen wie z.B. „_“ etc.

 

 

Nach der Gestaltung des Dokumentes wird dieses als PDF-Dokument exportiert:

 

clip0575

 

clip0576

 

Das so exportierte Dokument ist jetzt ein PDF-Dokument.

 

Speichern Sie die im odt-Format erzeugte Basis-Datei für zukünftige Layout-Änderungen des Formulars ab.

WICHTIG: Für eine künftige Bearbeitung muss das Dokument auf „Im Entwurfsmodus öffnen“ geöffnet werden. (Formular > Im Entwurfsmodus öffnen).

 

 

 

2.2 Übernehmen der PDF-Vorlagendokumente in Vi Projekt

 

Vi Projekt hat für solche PDF-Vorlagendokumente eine eigene Dokumentenklasse, die PDF-Vorlagen.

 

clip0577

 

PDF-Vorlagen werden in Vi Projekt anhand der Dateiendung PDFV erkannt. Um jetzt das aus LibreOffice exportierte PDF-Dokument als PDF-Vorlage in Vi Projekt ablegen zu können, muss das exportierte PDF-Dokument in der Dateinamenserweiterung/Dateiendung geändert werden: Aus dem PDF wird eine PDFV-Datei.

Die Windows-Meldung kann ignoriert werden bzw. können Sie die PDFV-Dateien einmalig auch mit einem pdf-Leseprogramm (z.B. Acrobat Reader®) verknüpfen.

 

clip0578

 

Eine so umbenannte Datei kann dann per Drag + Drop ins Vi Projekt übernommen werden. Es reicht aus, diese Datei in den persönlichen Posteingang zu ziehen. Anhand der Dateiendung wird das Dokument auch in der Klasse der PDF-Vorlagen abgelegt.

 

Weisen Sie für die weitere Nutzung der Vorlage die entsprechenden Gruppen zu. Nur so ist diese Vorlage als „Neues Dokument“ für die berechtigten Nutzer auswählbar.

 

clip0579

 

 

2.3 Definition der Feldinhalte für die Felder in den PDF-Vorlagendokumenten

 

Die Feldinhalte für die dynamischen Felder im PDF-Vorlagendokument müssen dann in den Stammdaten definiert werden. Dazu gibt es einen Stammdatenbereich unter Daten > Stammdaten > Vorlagen/Auswertungen > PDF Feldinhalte

 

clip0580

 

Je nach Feldtyp müssen in der Definition der PDF-Feldinhalte unterschiedliche Einstellungen vorgenommen werden. Folgende Feldtypen stehen zur Verfügung:

 

Textfelder

Markierfelder

Listenfelder

 

 

Textfelder

 

Textfelder werden aus den Vi Projekt-Daten gefüllt. Analog zur Listenkonfiguration können die Feldinhalte aus verschiedenen Bereichen gewählt werden.

 

clip0581

 

Fester Text -> der Text wird vorgegeben

Feld der Klasse „Projekt“ -> Datenfeld aus der Datentabelle „Projekt“

Feld der Klasse „Vorgang“ -> Datenfeld aus der Datentabelle „Vorgang“

Feld der Klasse „Adresse“ -> Datenfeld aus der Datentabelle „Adresse“

Projektbeteiligte -> Ausgabe einer Adresse über die funktionellen Rollen

Terminlistenfeld -> Ausgabe eines Termins aus dem Bauzeitenplan

Merkmal -> Ausgabe eines Merkmalswertes des Projektes

 

 

Die Definition eins Feldes zur Ausgabe eines Projektbeteiligten sieht so aus:

 

clip0582

 

Die Verbindung zu den Daten wird über die Nummer der funktionellen Rolle hergestellt, das Ausgabeformat kann im Feld Ausgabeformat (Adresse) gewählt werden.

 

Für ein Merkmal sieht die Einstellung wie folgt aus:

 

clip0583

 

 

Für ein Terminlistenfeld sieht das dann so aus:

 

clip0584

 

Die Verbindung zu den Daten wird über den Namen des Terminlistenfeldes hergestellt, das Ausgabeformat kann im Feld Ausgabeformat (Datum) gewählt werden.

 

 

 

 

 

 

Markierfelder

 

Markierfelder sind Checkboxen, die im PDF-Dokument an-/ausgeschaltet werden können. Sie haben keinen vordefinierten Inhalt. Die Definition sieht folgendermaßen aus:

 

clip0585

 

 

Listenfelder

 

Listenfelder sind Comboboxen, d.h. hier kann die Auswahl aus einem von mehreren Werten erfolgen. Der Inhalt der Listenfelder wird in den Stammdaten der PDF-Feldinhalte definiert. Die Definition sieht wie folgt aus:

 

clip0586

 

Der Initialwert für das Listenfeld wird als Feldinhalt gesetzt, die auszuwählenden Werte in der Liste Inhalte Auswahlliste (bearbeitbar über Erweitertes Bearbeiten).

 

clip0587

 

 

 

 

3. Anwendung der PDF-Vorlagendokumente

 

Sofern diese Daten dann vollständig angelegt sind, erfolgt die Umwandlung eines PDF-Vorlagendokuments in ein PDF-Dokument mit ausgefüllten Daten bei verschiedenen Aktionen in Vi Projekt:

 

Wird ein PDF-Vorlagendokument (z. B. aus einem globalen Ordner) in einen Dokumentenordner eines Projektes verschoben und wird bei der Vergabe auf diesen Ordner zugegriffen, so steht in der Vergabe (Standard-Leistungsverzeichnis, Lieferanten-Leistungsverzeichnis) ein ausgefülltes PDF zur Verfügung.

Wird ein solches Dokument in einen Ordner gestellt, der für die Bereitstellung der Daten für das Baustellenportal verwendet wird, so steht dieses ausgefüllte (und weiter ausfüllbare) PDF-Dokumente im Baustellenportal zur Verfügung.

Über die Workflowaktion „Kopiere Ordnerinhalte“ werden im Projekt ausgefüllte (und weiter ausfüllbare) PDF-Dokumente erzeugt.

 

 

Vergabe:

 

Auf der Seite Anhangdokumente werden die ausgefüllten (und weiter ausfüllbaren) PDF-Dokumente angezeigt:

 

Standard-Leistungsverzeichnis :

clip0588

 

 

Lieferanten-Leistungsverzeichnis:

clip0589

 

(Hinweis: im gezeigten Beispiel fehlen noch Datenzugriffe auf den Bauort).

 

Dieses ausgefüllte PDF-Dokument wird dann auch z. B. bei der E-Mail-Beauftragung eines Subunternehmers als E-Mail-Anhang verwendet.

 

 

E-Mail:

 

clip0590

 

 

E-Mail-Anhang als PDF:

 

clip0591

 

 

 

Baustellenportal:

 

In gleicher Weise wird ein ausgefülltes (und weiter ausfüllbares Dokument) für die Übergabe an das Baustellenportal erzeugt:

 

clip0592

 

 

 

 

Workflowaktion „Kopiere Ordnerinhalte“:

 

 

Über diese Workflowaktion werden alle Dokumente aus der Klasse PDF-Vorlage beim Verschieben ausgefüllt und mit den Vi Projekt-Daten versehen, so dass im Zielordner ausgefüllte (und weiter ausfüllbare Dokumente) Dokumente stehen.

 

 

Hinweis: das manuelle Verschieben einer PDF-Vorlage in einen Projekt-Ordner löst KEIN Ausfüllen des Dokumentes aus!

 

 

 

Makro-Code:

 

Sollten Sie von dem Makro „GetImportDocClass“ eine benutzerspezifische Version einsetzen, so ist diese Version mit dem Standard abzugleichen:

 

-------------------------------------------------------------------------------------------------

INT GetImportDocClass( STRING FileName, STRING &ClassName )

 

IF( StrIsEmpty( ClassName ) )

IF( StrCompareNoCase( FileGetFileExt( FileName, FALSE ), ".doc" ) == 0 )

ClassName = "WordText";

ELSEIF( StrCompareNoCase( FileGetFileExt( FileName, FALSE ), ".rtf" ) == 0 )

ClassName = "RichText";

ELSEIF( StrCompareNoCase( FileGetFileExt( FileName, FALSE ), ".eml" ) == 0 )

ClassName = "EMail";

ELSEIF( StrCompareNoCase( FileGetFileExt( FileName, FALSE ), ".pdf" ) == 0 )

ClassName = "PDF";

ELSEIF( StrCompareNoCase( FileGetFileExt( FileName, FALSE ), ".bmp" ) == 0 ||

StrCompareNoCase( FileGetFileExt( FileName, FALSE ), ".jpg" ) == 0 ||

StrCompareNoCase( FileGetFileExt( FileName, FALSE ), ".tif" ) == 0 )

ClassName = "Bild";

ELSEIF( StrCompareNoCase( FileGetFileExt( FileName, FALSE ), ".txt" ) == 0 )

ClassName = "Notiz";

ENDIF

ENDIF

 

VIframeGetImportDocClass( FileName, ClassName );

 

RETURN( 1 )

-------------------------------------------------------------------------------------------------

 

Der Makroaufruf „VIframeGetImportDocClass( FileName, ClassName );“ ist zwingend erforderlich, damit PDFV als Dateiendung richtig erkannt wird.