0

Datei speichern unter lokalem Pfad

Hallo zusammen,

 

gibt es einen Weg (Script, Funktion), ein Attachment in einen lokalen Ordner Pfad zu speichern? Ich würde so gerne meine Rechnungen ans DMS übergeben.

Weiß da jemand was?

 

LG Bettina

39 Antworten

null
    • Datenwart
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Moin Bettina,

    ich habe das bei mir (Cloud Version) wie folgt gelöst. Ist keine 100%ige Lösung, aber es hilft schon mal. Und zwar nutze ich den Standard-Downloadordner des Browsers, um die Dateien lokal zu speichern. Du kannst den Standard Downloadordner ja auch im Browser manuell einstellen.

    Workflow wie folgt:

    • ich erstelle mit NINOX die Rechnung / Angebot / irgend eine PDF
    • die PDF lade ich direkt in ein BILD-Feld
    • ich habe ein Layout angelegt, auf dem nur das BILD-Feld angezeigt wird
    • dann habe ich einen Button "Speichern" neben dem BILD-Feld, das mir das Dokument in den Download-Ordner speichert
    • der Code für den Button  lautet printRecord(this, "BILD"), wobei BILD der Name des BILD-Feldes ist
    • nach dem Klick landet die PDF-Datei im Download-Ordner des Browsers und kann weiterverarbeitet werden
    • lässt sich erweitern, wenn man mehrere PDFs aus einer Tabelle auf diese Weise "speichern" möchte

    So kann ich mir mit Bordmitteln helfen. Es gibt auch die Möglichkeit der Integration über API (MAKE / Integromat etc.). Ist aber aufwändiger und bei vielen Aktionen kostenpflichtig.

    Gruß

    Kai 

      • UweG
      • vor 1 Jahr
      • Gemeldet - anzeigen

      Datenwart 
      Hallo Kai
      Bist du sicher, dass der Inhalt des Bildfeldes mit printRecord(this,"BILD") im Dateiformat des im Bildfeld gespeicherten Files abgelegt wird?
      printRecord() verlangt ein entsprechendes Drucktemplate um zu funktionieren und gibt nur das Dateiformat .pdf zurück.
      Wenn, wie in einem Beispiel aufgeführt kein Drucktemplate mit dem Namen 'BILD' hinterlegt ist, sollte immer eine Fehlermeldung nach betätigen des Buttons auftauchen.
      Ich lass mich aber sehr gerne vom Gegenteil überzeugen.
      Kannst du eine kleine BSp-DB hochladen, die das von dir beschriebene Prinzip zeigt.
      Den einzigen Weg, den ich bisher hatte, war über eine lokale n8n-Installation auf dem Rechner, Dateien (pdf, png, jpg, Worddokumente) lokal zu speichern.
      Gruss
      Uwe

      • Datenwart
      • vor 1 Jahr
      • Gemeldet - anzeigen

      UweG 

      Moin Uwe!

      ja, ich bin mir sicher - und füge eine Beispieldatei sowie die erzeugte PDF-Datei bei.  

      Ich nutze einen Apple iMac, die NINOX-Cloud und habe meine Druck-Engine damals vom NINOX-Support auf HTML umstellen lassen. 

      Beste Grüße

      Kai

      • UweG
      • vor 1 Jahr
      • Gemeldet - anzeigen

      Datenwart 
      Hallo Kai
      Danke für die DB.
      Es ist so, wie ich es oben geschrieben habe.
      Der Inhalt des Bildfeldes ist ein png-File. Mit printRecord() erzeugst du ein pdf-File.
      Ein Speichern des Inhaltes des Bildfeldes erfolgt nicht lokal in der Form, in der es in Ninox abgelegt ist.
      Teste es mal mit einem Word docx Dokument und versuche es nach ausführen des Buttons mit Word zu öffnen und weiter zu bearbeiten.
      Es bleibt in diesem Fall als Scriptlösung somit nur der Weg über ein Drittprogramm um in Ninox vorhandene Dateien in genau dem Format lokal auf dem Rechner zu speichern wie sie in Ninox abgelegt sind oder durch manuelles Öffnen des Bildfelds die Datei lokal herunter zu laden.

      Das ist wohl missverständlich ausgedrückt worden oder ich habe es wieder einmal falsch gelesen.

      • Datenwart
      • vor 1 Jahr
      • Gemeldet - anzeigen

      UweG 

      Moin Uwe, dass war mein Fehler - ich hatte vermeintlich gelesen, dass es eine PDF werden soll ... 

      • UweG
      • vor 1 Jahr
      • Gemeldet - anzeigen

      Datenwart Hallo Kai.
      Das ist nur ein Missverständnis, kein Fehler.
      Hätte mich gefreut, wenn es einen einfacheren Weg gegeben hätte jedwede Dateiform lokal zu speichern.

      • Datenwart
      • vor 1 Jahr
      • Gemeldet - anzeigen

      UweG Moin Uwe, okay 😀 Ich verstehe Dich in jedem Fall mehr als gut, denn ich habe bei der täglichen Arbeit mit NINOX auch so manches Feature, das ich gerne hätte, für selbstverständlich halte bzw. seit Jahren darauf hoffe bzw. nicht müde werde, NINOX drauf hinzuweisen. 

    • Bettina_Oberrauter.1
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Ja, mit Make ist das natürlich keine Kunst, aber ich hab immer ein ungutes Gefühl, wenn solche Plattformen dann eigentlich Vollzugriff auf die Datenbank haben, für so eine triviale Sache. Danke, das mit dem Download Ordner hab ich ja jetzt auch schon, ich werde das mit Macboardmittel automatisieren.

      • Michael.3
      • vor 1 Jahr
      • Gemeldet - anzeigen

      Hallo Bettina Oberrauter ,

       

      wenn Du dafür eine Lösung gefunden hast, würde ich mich sehr darüber freuen, wenn Du Deinen Lösungsansatz teilen würdest.

       

      vom Support ist mir bekannt, dass das derzeit nicht automatisiert möglich ist obwohl alles für einen manuellen Download vorhanden ist.

       

      VG

       

      Michael

    • Bettina_Oberrauter.1
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Habe ich, allerdings außerhalb von Ninox: Ich drucke die Datei im Ninox als PDF, standardmäßig ja in den Download Ordner. Der Download Ordner wird bei mir am Mac mittels Automator Script überwacht, wenn eine Datei hinzugefügt wird, die "Rechnung RE" enthält, dann verschiebe das in die Postbox meines DMS. 

      • Michael.3
      • vor 1 Jahr
      • Gemeldet - anzeigen

      Bettina Oberrauter 

       

      vielen Dank fürs Feedback. Das hilft mir leider nicht weiter. Ich muss eine CSV Datei extern ablegen können, da ich damit Überweisungsaufträge an die Bankingsoftware übertragen will.

       

      Ich werde mir Deinen Lösungsweg aber auch mal anschauen, denn dafür habe ich auch noch Ideen!

       

      VG

       

      Michael

      • UweG
      • vor 1 Jahr
      • Gemeldet - anzeigen

      Michael Der mir einzig bekannte Weg ist über eine lokale n8n oder NodeRed Installation. Bei n8n kann man aus Ninox den n8n-Webhook ansteuern und veranlassen die betreffende Datei aus Ninox zu laden und in einem lokalen Ordner auf dem Rechner abzulegen. Von dort kann über ein Aotomatisierungstool die abgelegte Datei weiterverarbeitet werden.

      • Michael.3
      • vor 1 Jahr
      • Gemeldet - anzeigen

      UweG 

       

      hallo UweG,

       

      aber nur, wenn ich nicht die Ninox App verwende, richtig?

       

      VG

       

      Michael

      • UweG
      • vor 1 Jahr
      • Gemeldet - anzeigen

      Michael Lokale App sollte auch funktionieren, wenn man darüber auf ein Ninox-Cloud Team zugreift.

      Mit der App und einer lokal gespeicherten Datenbank könnte es funktionieren, wenn man dem Webhook ein base64 File mit übergibt.

      Das habe ich aber noch nicht probiert und ist erstmal eine Hypothese.

      • Michael.3
      • vor 1 Jahr
      • Gemeldet - anzeigen

      UweG 

       

      vielen Dank für Dein Feedback.  
       

      Allerdings sind  Webhook etc alles böhmische Dörfer für mich.

       

      aber man wächst mit seinen Herausforderungen.

       

      VG

       

      Michael

      • UweG
      • vor 1 Jahr
      • Gemeldet - anzeigen

      Michael Einfach probieren.
      Grundsätzlich ist ein Webhook nichts anderes als eine Url-Adresse an die man Daten senden kann. Überwiegend werden diese Daten in form eines JSON-Objekts übersandt.
      Das Script sieht meist wie folgt aus:
      let vURL := 'Url-Webhook';
      let vDaten := {vBildName : "Bildname",
                              vBase64 : loadFileAsBase64(Bildfeld)};
      let vResponse := do as server http("POST",vURL,{},vDaten), end

      Wie gesagt, dies ist nur ein Beispiel. Ob es in n8n funktioniert muss man testen.
      Ansonsten bleibt nur das manuelle Speichern des Inhalts des Bildfeldes und die Nutzung des Automators auf dem Mac.

    • Michael.3
    • vor 9 Monaten
    • Gemeldet - anzeigen

    Hallo ,

     

    ich habe es nun endlich geschafft, mir n8n lokal zu installieren. Irgendwas habe ich auch hinbekommen:

     

    Ich habe dann einen Button mit diesem Code:

    http("GET", "http://localhost:5678/webhook-test/d5baea28-8195-4ebe-ab97-f24c5a7ad9f5")

    in Ninox angelegt und ich kann sehen, dass das Listening in n8n deaktiviert wird. Also scheint etwas zu funktionieren.

     

    Ich bin nun aber völlig überfordert damit, was ich in n8n konfigurieren muss, damit eine CSV-Datei, die ich in Ninox erzeuge und auch dort in einer Untertabelle ablege, von dort aus in das Filesystem des Betriebssystems abgelegt wird.

     

    Kannst Du mir da Input geben?

     

    Als nächstes, so habe ich das verstanden, muss dann die erzeugte Datei an die oben festgelegte URL verschickt werden, richtig?

     

    Vielen Dank,  für Dein Feedback.

     

    LG

    Michael

      • UweG
      • vor 9 Monaten
      • Gemeldet - anzeigen

       
      Hallo Michael
      Anbei eine Bsp-DB und ein n8n-Blueprint um zu zeigen wie es funktionieren könnte.
      Den n8n Flow importierst du, wenn du einen neuen Workflow erstellst, auf die 3 Punkte klickst und dann 'Import from File' auswählst. Da wählst du die JSON-Datei aus.
      Ich habe es für einen Apple-Rechner eingerichtet und lade die Datei aus einer public-Cloud DB.
      Ich habe es noch so erweitert, dass man den Ablageordner mit übergibt, wo das File abgelegt werden soll.(Ordner muss auf der Festplatte vorhanden sein).
      Du musst die Webhookadresse im n8n Flow noch anpassen und wahrscheinlich auch die Einstellungen für die Header-Authorization im Http-Node und den Ablageort der Festplatte.
      Aber da kann ich nicht weiter helfen.
      Dazu kann man Suchmaschine oder die n8n Community befragen.

      • Michael.3
      • vor 9 Monaten
      • Gemeldet - anzeigen

       , vielen DANK!

       

      ich werde mir das mal angucken und hoffe, ich bekomme es zum Laufen!

       

      Nochmals vielen Dank.

       

      Michael

      • Michael.3
      • vor 9 Monaten
      • Gemeldet - anzeigen

        noch mals danke für die Infos und Beispiele. Aber hier bin ich am Ende meines Lateins.

    • UweG
    • vor 9 Monaten
    • Gemeldet - anzeigen

    Wo hakt es?

    • Ninox_Support
    • vor 9 Monaten
    • Gemeldet - anzeigen

    Hallo Michael.

    Sorry, habe deine Antwort gelöscht, aber die nachfolgende Antwort sollt weiter helfen.

    Öffne den HTTP-Request und bei dem Eintrag 'Ninox BUG' gehst du auf den Stift.

    In dem sich öffnenden Popup trägst du statt des vorhandenen API-Key's deinen eigenen API-Key des Workspaces ein.

    Bei dem Node 'Write Binary File' trägst du unter 'File Name' den Pfad zu dem Ablageort deiner lokalen Festplatte ein inkl. dem Dateinamen.
    In dem vorgegebenen Fall, wird der Filename aus den im Webhook übertragenen Werten genommen.

    Zum testen musst du nun den Flow aktivieren mit 'execute Workflow' und anschließend aus Ninox heraus den Webhook auslösen.
    Wenn du den Flow dauerhaft laufen lassen möchtest, musst du die 'Production URL' des Webhook benutzen und nach Ninox kopieren.
    Den Eintrag in 'Path' kannst du nach deinen eigenen Vorstellungen benennen.
    Er dient der Unterscheidung verschiedener Webhooks.
    Du findest ihn in der URL wieder.

    Um den Flow permanent laufen zu lassen, den Schiebeschalter in n8n zum Workflow von Inactive auf Active schieben.
    Jetzt kann aus Ninox heraus jede Datei lokal auf der Festplatte abgelegt werden, sofern n8n lokal gestartet wurde und läuft.

      • Michael.3
      • vor 9 Monaten
      • Gemeldet - anzeigen

       

       

      hallo Support Team,

       

      vielen Dank!!

       

      jetzt nur noch eine Frage, wie bekomme ich den API Key heraus? Ich verwende eine onprem Version von Ninox.

      danke

       

      Michael

      • UweG
      • vor 9 Monaten
      • Gemeldet - anzeigen

       
      Hallo Michael.
      Den Api-Key solltest du in der Konfigurationsdatei der OnPremise-Version finden.
      Um ihn zu nutzen, muss die OnPremise über das Internet erreichbar sein.

      Genaueres ist im nachfolgenden Link zu erlesen:
      https://docs.ninox.com/en/private-cloud-on-premises/sample-configuration-file

    • UweG
    • vor 9 Monaten
    • Gemeldet - anzeigen


    Hallo
    Ich habe mal was gebaut, das ohne einen API-Key auskommt.
    Das kann man auch mit der Ninox-App verwenden um Dateien auf die Disk zu speichern.

    Ich habe es so gebaut, dass alle in einem Record hinterlegten Dateien in einem Rutsch unter ihrem gespeicherten Namen auf die lokale Disk abgelegt werden.
    Unerheblich ob es sich um eine oder mehrere Dateien handelt.
    Die gängigsten Dateiformat habe ich hinterlegt und fehlende müssten dann in den Nodes 'MimeTypeSwitchMulti' und 'MimeTypeSwitchSingle' ergänzt werden.

    Wie in einem vorherigen Post beschrieben habe ich auch den Speicherort variabel gestaltet.
    So sieht der n8n-Flow aus:

    Am Besten den Flow mit der beigefügten Ninox-DB testen.
    Hier muss nur bei beiden Nodes 'Write binary File ...' der Dateipfad für sich angepasst werden und auch in der entsprechenden Ninox-Tabelle die LocalFolder-Werte.

    Ich nutze einen Apple Rechner, und der String von mir: /Users/uweg/Desktop/ muss auf den eigenen Speicherort angepasst und auch die entsprechenden Unterordner auf der Festplatte müssen angelegt werden.
     

    Man könnte den vorhanden Flow so umbauen, dass er auch für das Speichern der Dateien auf andere Systeme wie Google oder andere Cloud-Speicherorte verwendet werden kann.

Content aside

  • vor 9 MonatenZuletzt aktiv
  • 39Antworten
  • 708Ansichten
  • 6 Folge bereits