Webinar Bau und Handwerk/GAEB Dateien
Hallo, am 14.06.22 sollte/hat ein Webinar zum Thema Bau und Handwerk stattgefunden. Leider konnte ich nicht daran teilnehmen.
Trotz mehrmaligen E-Mail-Kontakt mit den Support von Ninox habe ich keine Antwort bekommen - finde ich schon sehr enttäuschend !
Jetzt mal meine Fragen hier im Forum:
- hat jemand daran teilgenommen ?
- gibt es Unterlagen/DB/Video dazu bzw. wird eine DB noch in die Webinar-DB gestellt ?
Was mich besonders interessiert ist der Umgang/Bearbeitung von GAEB-Dateien.
71 Antworten
-
Frag doch mal direkt Axel/PlanoxPro
Er hat Freitag in einem Meeting davon berichtet.
Ich denke nicht, dass die dort vorgestellte DB kostenfrei zur Verfügung gestellt wird.
Zu den GAEB-Dateien:
Wie möchtest du diese Dateien in Ninox verwenden?
Wenn es nur um das Ablegen der Daten (Leistungsbeschreibung etc.) in Ninox geht, behelfen sich einige damit die Datei in eine Excel-Tabelle zu transformieren und anschließend als csv zu importieren.
Ich habe gerade einen n8n-Flow gebastelt, der die in ein Bildfeld abgelegte GAEB-Datei aus Ninox lädt und den Inhalt als JSON zurückgibt.
Da es sich bei den GAEB-Dateien um XML-Dateien handelt, kann man mit der Funktion parseXML(), den in ein Textfeld ablegten Inhalt, als JSON transformieren.
Dann ist es eine Fleissarbeit sich dadurch zu iterieren. Leider habe ich bisher keine gute Dokumentation zum Schema der einzelnen GAEB-Dateien (D83, D84 etc.) gefunden.
Ich drösel es über das JSON auf und versuche mich daran die Daten zu extrahieren.
Mit formatXML() kann man aus einem JSON auch wieder ein XML erzeugen. Dazu ist aber wieder eine genaue Kenntnis des zu erzeugenden Schema der GAEB-Datei notwendig. -
Erstmal vielen Dank für die Antwort. Bisher habe ich das auch mit Excel>CSV gemacht. Funktioniert soweit (mit Einschränkungen: z.B. Textlänge Kurztext/Langtext) ist aber nicht elegant. Besser wäre es natürlich über ein "Importmodul" auch aus einen Textfeld.
Mit JSON und n8n und XML-Funktionen habe ich es bisher nicht versucht, weil mir da die Kenntnisse fehlen. Aber ich kann mich ja belesen.
Darf man mal fragen wie weit man mit der o.b. Bearbeitung gekommen ist ?
-
Hier noch eine Unterlage zum GAEB mit der Beschreibung der Struktur in Version 3.3. Vielleicht hilft das ja ?
-
D83 Dateien kann ich zur Verfügung stellen in verschiedenen Varianten.
-
ich arbeite seit Jahren an LV|s habe habe immer je LV eine einzige D83 bzw. x83
-
Hier mal ein LV als D83 und x83 Version 3.2.
Die Hierachie ist 3.-stufig, kann sein dass die Einheitspreise 0,00 € sind ?
-
Hallo Uwe,
das ist das wichtigste Grundgerüst:
Position
Pos. Nr. z.B. 1.2.20…ist dreistellige Hierachie (Gewerk-Titel-Pos), kann bis zu 5-stellig sein je nach LV-Struktur
Status
Element in der Hierachie bzw. Sonderposition
Kurztext
Text bis z.B. 100 Zeichen
Langtext
der zugehörige Langtext bis 64000 Zeichen, in der x83 auch mit Bilder
Einheitspreis
in € z.B.
Menge
bis 3 Kommastellen
ME
Mengeneinheit (m, kg, km…....)
Es gibt aber noch mehr Felder die belegt werden können. Muss mal sehen ob ich da eine Erläuterung finde.
Ich arbeite in der Bauüberwachung mit Ninox. Habe mir da was zusammengebastelt. Ist u.a. ein einfaches LV mit drin. Ich räume die DB mal auf und überlasse sie Dir, aber lieber per Mail. Bin bloß zu blöd deine E-Mail-Adresse in Erfahrung zu bringen
-
Danke für die DB.
Ich merke, dass ich von der Materie Bau keine Ahnung habe.
Ich ging bisher davon aus, dass es sich bei den D83 und X83-Dateien jeweils um XML-Dateien handelt, da ich eine D83-Datei gefunden hatte, die XML Code enthielt. Bei den von dir übersandten Dateien hat nur die X83-Datei XML Code.
Ich werde mich deshalb erstmal nur auf die Xxx_Dateien beschränken und mit denen weitermachen. -
Moin.
Auszug aus Wikipedia:
... Funktionalität wird durch den „GAEB-Datenaustausch XML“, als ein standardisierter Austausch von Bauinformationen über die GAEB-Schnittstelle, realisiert. Im Jahr 2009 wurde das GAEB DA XML eingeführt. Dieses Format ist eine Weiterentwicklung von GAEB DA (1985), GAEB 90 (1990) und GAEB 2000 (1999), welche auf dem ASCII-Format basierten...
Offensichtlich sind die Dxx-Dateien im alten ASCII- und die Xxx-Dateien im neueren XML-Format.
Dangl-IT bietet einen kostenlosen Konverter für alle Versionen an:
Auf den bin ich als Mac-User angewiesen. Einfache GAEB-Viewer gibt es nämlich nur für Windows. Dieser hat auch den Vorteil, dass er umgekehrt funktioniert. Man kann also eine Excel-Datei (dafür haben die eine Vorlage) in ein beliebiges GAEB-Format konvertieren.
Die Lösung der Fa. Singhammer, die in der letzten Woche im Webinar vorgestellt wurde, soll einen GAEB-Import enthalten. Angeblich können dort X83-Dateien eingelesen werden. Das sind ja Ausschreibungen. Diese können mit den ermittelten Einheitspreisen ergänzt und als X84-Datei ausgegeben werden. Das entspricht ja einem Angebot. Es wurden jedoch sehr wenig Details genannt, man hielt sich da sehr bedeckt. Offensichtlich ist das eine Lösung, die bei Ninox eingekauft wurde - vermutlich hat Leo dort erhebliches Know How beigesteuert.
Es gibt eine Beispieldatenbank von Leo im NX-API-Team: CAMT054XML. Die liest Schweizer Bankdaten als XML ein und bringt sie über eine JSON-Umwandlung in die Ninox-Datenbank. Ich vermute, dass man das als Basis nehmen könnte.
Ich freue mich, dass das Thema hier Einzug hält. XML oder auch ASCII ist ja ein offenes Format und es muss doch möglich sein, dass wir dieses Daten in unsere Ninox-Lösungen bekommen, ohne ein teures AVA-Programm kaufen zu müssen.
-
unter folgenden Link:
GAEB-Datenaustausch - GAEB - Gemeinsamer Ausschuss Elektronik im Bauwesen
kann man xml-Schema-Dateien (XSD Datei) runterladen. Habe leider damit noch nichts zu
tun gehabt.
-
Kleiner Zwischenstand:
Ich arbeite weiterhin an dem Thema und bin jetzt dran, aus einer X83-Datei die Werte zu extrahieren und in Ninox abzulegen. Leider kann ich nur unregelmäßig daran arbeiten. Sobald es einigermaßen funktioniert, kann ich euch in das Team einladen um den Rohentwurf praxisnah anzupassen. -
Hier ist das Video nun online: https://youtu.be/lqFooGdqxfQ
-
Der Arbeitsablauf, den ich gewählt habe ist eine GAEB X83-Datei in ein Bildfeld zu kopieren und über einen n8n-Webhook diese in ein JSON zu transformieren und als Text-File an Ninox zurückzugeben. Im Anschluß parse ich das File wieder als JSON und fange an mich da durchzuiterieren.
Die im Ninox-Formular bisher gezeigten Feldinhalte werden automatisch gefüllt.
Die Hauptarbeit liegt hier im Verstehen der Struktur und da werde ich immer besser.
Was ich bisher noch nicht herausbekommen habe, ist bei Langtexten das einfügen von Leerzeilen zwischen Textabschnitten. Bisher werden sie ohne Leerzeilen in ein Textfeld geschrieben.Wenn ich es richtig verstehe, sind in den X83-Dateien keine Preise enthalten und müssen für die Angebotsabgabe erst nachträglich eingefügt werden und als X84-Datei eingereicht werden.
Sorry, für meine dummen Anmerkungen, aber ich habe mit der Baubranche nichts zu tun und bin darin absoluter Laie.
Der n8n-Flow funktioniert bisher zuverlässig.
Als Screenshots erste Auszüge, wie es aussehen kann.
Die Tabellendarstellung ist noch nicht endgültig. Es geht erstmal darum alle relevanten Daten aus der GAEB-Datei nach Ninox zu transferieren.
Ich will mal sehen, ob man den n8n-Flow auch mit Make/Integromat umsetzen kann.
-
Hallo Uwe,
wir bekommen die X83-Dateien sozusagen als Ausschreibung, ohne Einheitspreise. Einheitspreis ist der Preis, den eine Einheit der Position kostet, also z.B. eine Tonne Kies. Die Firmen geben dann für jede Position ihren Einheitspreis ein. Das wird in der X84-Datei gemacht, hier stehen also nur die Positionsnummern und der Einheitspreis. Wenn man die Ausschreibung gewinnt, kann man aus beiden Dateien dann sein Leistungsverzeichnis für die Rechnungserstellung bauen.
Leo hat den Weg über shareFile genommen. Hier ein Auszug aus seiner Beispiel-Datenbank CAMT054XML:
let myShareUrl := shareFile('CAMT054 XML'); DATEINAME := last(split(text('CAMT054 XML'), "/")); let myXML := do as server http("get", myShareUrl) end; let response := parseXML(text(myXML.result)); 'Von:' := stringToDateTime(text(response.Document.BkToCstmrDbtCdtNtfctn.Ntfctn.FrToDt.FrDtTm.@)); 'Bis:' := stringToDateTime(text(response.Document.BkToCstmrDbtCdtNtfctn.Ntfctn.FrToDt.ToDtTm.@)); let Endpoint := response.Document.BkToCstmrDbtCdtNtfctn.Ntfctn.Ntry; if cnt(Endpoint) = 1 then if Endpoint.CdtDbtInd.@ = "CRDT" then getChoice(formatJSON(Endpoint)) end else let myEND := for i in Endpoint do if text(i.CdtDbtInd.@) = "CRDT" then i end end; for j in myEND do getChoice(formatJSON(j)) end end; unshareFile('CAMT054 XML')
Nochmals vielen Dank für deine Mühen.
-
Verfolge diesen Thread sehr interessiert und finde es super, dass ihr hier versucht, gemeinsam eine Lösung zu finden, von der viele Nutzer profitieren könnten. Besonderen Dank an Uwe, der (wieder mal) viel Freizeit dafür opfert. Community at its best!
Content aside
-
2
„Gefällt mir“ Klicks
- vor 2 JahrenZuletzt aktiv
- 71Antworten
- 925Ansichten
-
11
Folge bereits