0

Bild Datenfeld in andere Tabelle übertragen

Liebe Ninox-Experten,

ich versuche ein Unterschriftsfeld in eine andere Tabelle zu übertragen. Mit alen anderen Feldern klappt es ohne Probleme, aber das Unterschriftsfeld erscheint immer nur mit einem Dateisymbol und der Meldung "This image failed to load", wenn ich drauf klicke. Der Dateiname scheint aber richtig in dem Feld gespeichert zu sein. Hat jemand eine Idee?

 

VG

 

Arne

8 Antworten

null
    • UweG
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Hallo Arne
    Versuche es mal so. 
    let UnterschriftName := last(split(text(<UNTERSCHRIFTFELD>), "/"));
    let vUnterschrift := shareFile(this, UnterschriftName) + "/" + UnterschriftName;
    let NewTabelle := (create Tabelle1);
    NewTabelle.(Unterschrift := importFile(this, vUnterschrift))

    • UweG
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Eleganter wäre es, wenn man die Bilder/Unterschriften zentral in einer Tabelle sammelt und von den Records der anderen Tabellen darauf zugreift über eine Verknüpfung oder per select einem dem Bild zugeordneten einmaligen ID. Damit vermeidet man das mehrfache speichern des gleichen Bildes in der Datenbank und bläht sie nicht auf.

    • Arne.1
    • vor 2 Jahren
    • Gemeldet - anzeigen

    leider acuh nur das Dateisystem im Unterschriftsfeld in der neuen Tabelle. Und beim Draufklicken "This image failed to load". Er nimmt zwar anscheinend den Dateinamen mit, nur ist das Unterschriftsbild nicht an den Datensatz angefügt. Hmmm. ..

    • Arne.1
    • vor 2 Jahren
    • Gemeldet - anzeigen

    ja, das mache ich mit Dateianhängen so. Aber das Unterschriftsfeld muss direkt auf derselben Maske ausfüllbar sein, da es auf einem Pad von Technikern benutzt wird, die nicht viel klicken wollen (können) : )

    • mirko3
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Hallo Arne. Ist es vielleicht sogar gewollt, dass Ninox die Unterschriften nicht kopieren läßt, so ähnlich wie eine Signatur? Ist nur eine Vermutung. Mirko

    • UweG
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Wenn du mit der Ninox-App arbeitest wird es nicht automatisch funktionieren.
    Das Bild ist schon in den neuen Record kopiert worden. Wenn du das Bild manuell umbenennst incl. Dateiendung ist es auch zu sehen.
    Leider gibt es noch keine Möglichkeit Inhalte von Bildfeldern per Script umzubenennen.
    Mein Script ist für die Ninox-Cloud geschrieben und dort funktioniert es auch.
    Man kann es in der 0001_Ninox_Reference unter Beispiele testen, wenn man dem Link folgt.
    In der App muss man folgendes Script nutzen:

    let UnterschriftName := last(split(text(Bild), "/"));
    let vUnterschrift := shareFile(this, UnterschriftName);
    let NewTabel1e := (create Tabelle1);
    NewTabel1e.(Bild := importFile(this, vUnterschrift))
    Anschliebend muss man den Inhalt des Bildfeldes manuelle umbenennen mit dem Wert von 'UnterschriftName' oder einem neuen Namen incl. Dateiendung. Dann sieht man das Bild auch.

    Es wird nicht funktionieren, wenn sich die Tabelle in 'Meine Datenbanken' befindet
    Wenn ausschließlich mit der App gearbeitet wird und du gleiche Bilder/Unterschriften in verschiedenen Tabellen gleichzeitig nutzen möchtest, kommst du an eine zentrale Bildverwaltung nicht vorbei.

    • UweG
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Wenn die Datenbanken nicht lokal genutzt werden und in Ninox-Cloud Teams liegen, könnte man es per RestAPI kopieren.
    Bsp.
    Ein lokales Unterschriftsfeld zum Ausfüllen.
    Wenn es gefüllt ist wird es ausgeblendet und ein Funktionsfeld statt dessen gezeigt "Jetzt übertragen".
    Auf den Klick liegt ein API-Call zum kopieren.
    Ein anderes Funktionsfeld tritt an die gleiche Stelle und zeigt die Unterschrift aus der Zentraltabelle an.
    Per API wird der Inhalt des UnterschriftFeldes in eine Zentrale Tabelle kopiert. Das muss aber auf einen Button gelegt werden, da der API-Call nicht im Trigger funktioniert, wenn die Zieltabelle in der gleichen Datenbank liegt.
    (Aussage von Günther)

    • Carsten_Losch
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Hiermit sollte es gehen: Aber nur mit Button 

    ShareBild ist dabei der Link zum Bild bzw. Unterschrift, den ich vorher über einen Button erzeugen muss, mittels trigger geht es hoffentlich bei der nächsten NINOX version... 

    Bilder ist die Tabelle mit der Unterschrift, das Script führe ich mit einem Button aus, in der Zieltabelle

    let me := this;
    let myID := ID2;
    let myImport := first(select Bilder where ID = myID).ShareBild;
    Unterschrift := importFile(this, myImport + "/" + "System" + ".png")

Content aside

  • vor 2 JahrenZuletzt aktiv
  • 8Antworten
  • 548Ansichten