Dateipfad und Filename in Feld speichern und öffnen

8. August 2024 14:00

Hallo,
in BC14 RTC haben wir die Tabelle Artikel um das Feld Artikelbildpfad erweitert. Es ist als Textfeld definiert.
Es beinhaltet den Pfad und den Dateiname von den jeweiligen Artikel z.B. Y:\Allgemein\Navision\Artikelbilder\ArtikelBild1.jpeg.

Im Page Trigger OnAssistEdit ist folgender Code:
Code:
KopieArtikelbildpfad := Artikelbildpfad;
Artikelbildpfad:=
  FileMgmt.OpenFileDialog(
    'Artikelbild auswählen',Artikelbildpfad,'JPG-Dateien (*.jpg)|*.jpg|Alle Dateien (*.*)|*.*');
//Diese IF-Schleife ist notwendig, damit die Einstellung wieder in das Feld Artikelbildpfad kommt,
//wenn man den Dialog öffnet und danach aber abbricht!
IF Artikelbildpfad = '' THEN
  Artikelbildpfad := KopieArtikelbildpfad;


Dadurch kann man mit dem Dateiexplorer diesen Pfad befüllen.

Im Page Trigger OnLookup ist dieser Code:
Code:
IF Artikelbildpfad <> '' THEN BEGIN
  Process := Process.Process();
  Process.Start(Artikelbildpfad);
END ELSE
  MESSAGE('Keine Datei für Artikelbild hinterlegt!!');


Dadurch wird diese Datei mit dem Standartprogramm von Windows geöffnet.

Nun bräuchte ich das in BC23. Wird verwenden BC23 On-Premises. Ich würde das aber gerne ohne Dotnet machen.

So weit ich bis jetzt herausgefunden habe, könnte das schwierig werden da der WebClient keine Zugriff auf lokale Daten bzw. Daten auf dem Fileserver hat.

Hat jemand von euch das schon gelöst bzw. wie könnte ich das machen.

Danke und lg
stony

Re: Dateipfad und Filename in Feld speichern und öffnen

8. August 2024 16:40

Was möglich ist:
am IIS ein virtuelles Directory auf den Netzwerkpfad mappen
Der jeweilige Dateipfad muss dann entsprechend als url gespeichert werden (iis servername/virtual path/+ Dateiname
dann kann die Datei mit hyperlink + Pfad im Browser geöffnet werden.