Datei in Feld speichern und bei Bedarf öffnen

2. April 2014 19:54

Hallo,

eine endlos lange Suche (hier, Google & Co.) - ohne die Lösung zu finden - hat mich zur Registrierung in diesem tollem Community veranlasst.
Nach Jahren der Abstinenz als Entwicklerin (ich habe vieles mittlerweile vergessen und das Stadium der Anfängerin nicht wirklich verlassen) stehe ich nun bei meinem neuen (auch tollem) Arbeitgeber (aktuell leider kein MS Wartungsvertrag, weil Partnerlos, neuer Partner wird gesucht) vor einem Problem, welches ich trotz intensivster Recherche nicht lösen kann. Ich will nicht ausschließen, dass ich mögliche Lösungen aber auch nicht verstanden habe.

Ich soll mehrere Felder auf der Debitorenkarte erstellen, in denen jeweils eine über den Windows Explorer ausgewählte Datei (z. B. PDF, DOCX) gespeichert und bei Bedarf geöffnet werden kann.
Ähnlich dem Bild auf der Firmendaten-Page, eine Datei auswählen und "schwupps" wird das Logo angezeigt. In meinem Fall soll nicht das Logo angezeigt werden, sondern der Dateiname inkl. Dateiendung. Klickt man das Feld an (alternative Lösungen sind auch möglich), in dem der Dateiname steht, öffnet sich z. B. der Adobe Reader und zeigt den Inhalt der PDF-Datei an.

Ich hoffe sehr, dass ich in diesem Forum Unterstützung bei der Lösung erhalte.

Gruß
Ango

Re: Datei in Feld speichern und bei Bedarf öffnen

2. April 2014 21:05

Hallo Ango,

schau Dir mal die Codeunit 419 FileManagement an. Die wirst Du brauchen. Von Interesse dürfte für Dich auch die Tabelle 5062 Attachment sein, das ist die Struktur in NAV die genau für sowas da ist. Und die Codeunit 5052 AttachmentManagement.
In NAV2013R2 könnte das aber noch etwas schwieriger sein - Buttons gibt es ja an sich nicht mehr, nur noch PageActions. Die intuitivste Variante wäre wohl dafür ein AddIn zu benutzen, das auf der Page als ein Field eingebunden ist, aber das ist nun wirklich nicht mehr einfach. Es kann durchaus sein das man das als AddIn auch kaufen kann... was evtl. auch eine Lösung ist.

LG Jens

Re: Datei in Feld speichern und bei Bedarf öffnen

3. April 2014 08:43

Hallo Jens,

danke für dein Tipp. Ich habe ich vorab sehr intensiv u. a. auch mit den von Dir CUs und Tables auseinandergesetzt und bin daraus nicht schlau geworden. Ich durfte und habe heute morgen Kontakt zu einem NAV-Partner aufgenommen und erhoffe mir zeitnah eine Lösung zu erhalten. Eine Datei in ein Feld zu speichern scheint ja nicht gerade einfach zu sein :-(.

Gruß
ANGO

Re: Datei in Feld speichern und bei Bedarf öffnen

3. April 2014 10:37

Hallo,

schau dir dazu die "Aktivitätenprotokollposten" Page/Tabelle an.

Du kannst auch (wäre sogar besser) wenn du die Dateien dann auch in die "Attachment" Tabelle ablegst. Die Funktionen dazu sind alle da.

Du musst ja das Rad nicht neu erfinden ;-)


Gruß
Aydin

Re: Datei in Feld speichern und bei Bedarf öffnen

3. April 2014 17:05

Ich glaube keiner muss dir sagen, das dass schöne an der Programmierung ist, das es für eine Herausforderung zig Lösungen gibt.
In deinem Fall stellt sich die relativ schnell die Frage was denn alles für Dateien eingebunden werden sollen - Nur PDF's oder auf Word, Excel usw? Und wenn ja, sollen die alle in einem Feld stehen? Insofern wäre es erst einmal wichtig die konkrete Anforderung zu kennen um konkrete Hilfestellungen oder Lösungsansätze auszutauschen. Rein programmierseitig haben die Herren vor mir schon die wichtigsten Objekte genannt, wobei ich mich an einen anderen Post von dir erinnere in dem du sagtest das ihr NAV 2013 R2 einsetzt. Das wiederum bedeutet, dass sich dort einige Dinge geändert haben. Für deine Anforderung würde sich beispielsweise auch eine .Net Programmierung anbieten, da in NAV 2013 die sog. "Automation" Variablen weg gefallen sind und man es dadurch sehr viel einfacher hat AddIn's umzusetzen.

Viele Grüße und viel Erfolg.

Re: Datei in Feld speichern und bei Bedarf öffnen

3. April 2014 23:14

Eventuell wäre hier auch, je nach Vorhaben, ZetaDocs Express für NAV 2013 interessant.

Re: Datei in Feld speichern und bei Bedarf öffnen

4. April 2014 12:56

Danke für die vielen Anregungen. Es fehlt mir im Moment aber leider noch Wissen und Erfahrung um diesen Punkt ohne detaillierte Unterstützung umsetzen zu können. Die genannten Codeunits und Beispiel helfen mir leider aus vorgenannten Grund nicht weiter.
Natürlich wäre die vollständige Lösung für mich aus zwei Gründen ideal. Erstens damit der Zeitdruck weg ist und für mich zweitens noch wichtiger damit ich ausgehend von einer Lösung diese studieren und daraus weiter lernen kann.

Udo hat geschrieben:In deinem Fall stellt sich die relativ schnell die Frage was denn alles für Dateien eingebunden werden sollen - Nur PDF's oder auf Word, Excel usw? Und wenn ja, sollen die alle in einem Feld stehen? Insofern wäre es erst einmal wichtig die konkrete Anforderung zu kennen um konkrete Hilfestellungen oder Lösungsansätze auszutauschen.

:?: PDF, XLS, XLSX, DOT, DOC, DOCX und ca. 20 weitere Dateiendungen. Ist es nicht eigentlich egal, um welche Dateiendung es sich handelt? Solange das entsprechende Standardprogramm zum Öffnen auf dem Mitarbeiter-PC installiert ist, sollte es doch kein Problem geben, oder?
Udo hat geschrieben:Insofern wäre es erst einmal wichtig die konkrete Anforderung zu kennen

:?: Damit ich die Anforderung besser darstellen kann, muss ich dich jetzt aber fragen, was an meiner bisher beschriebenen Anforderung unklar ist? :-|

Mir steht ein Budget zur Lösungsumsetzung zur Verfügung. Sollte jemand die Lösung wissen und diese gegen Bezahlung aushändigen können, so lasse ich gerne mit mir darüber reden. Natürlich habe ich weiterhin die Hoffnung in dieser Community eine kostenfreie Hilfestellung zu bekommen.

Gruß
ANGO

Re: Datei in Feld speichern und bei Bedarf öffnen

4. April 2014 12:57

Udo hat geschrieben:Und wenn ja, sollen die alle in einem Feld stehen?

Pro Feld eine Datei

Re: Datei in Feld speichern und bei Bedarf öffnen

4. April 2014 14:02

ANGO hat geschrieben:
....neuen (auch tollem) Arbeitgeber (aktuell leider kein MS Wartungsvertrag, weil Partnerlos, neuer Partner wird gesucht) vor einem Problem, welches ich trotz intensivster Recherche nicht lösen kann...

Ich soll mehrere Felder auf der Debitorenkarte erstellen, in denen jeweils eine über den Windows Explorer ausgewählte Datei (z. B. PDF, DOCX) gespeichert und bei Bedarf geöffnet werden kann.


Grüezi Angela,

Benützt ihr in euerer Firma auch wirklich NAV 2013 R2?

Falls ja, dann ist die Lösung auch per Standard lösbar:

1. Debitorpage öffnen für z.B. Debitor 4711
2. Oben links Reiter Start anwählen, dann in diesem Reiter rechts mit dem Mauscursor den Bereich Dateianhang anzeigen ansteuern
3. In diesem Bereich gibt es den Button Links
4. Wenn du darauf klickst, erscheint eine leere, weisse Seite
5. Auf dieser gibt es oben rechts sehr sehr klein, kaum wahrnehmbar 2 graue Zahnräder
6. Wenn du darauf klickst erscheint ein Dialog: Öffnen, Neu, Bearbeiten, Löschen
7. Bitte auf Neu klicken, es werden oben auf der leeren Seite 2 Leisten aktiviert: "Linkadresse" und Beschreibung.
8. Neben Linkadresse rechts gibts einen Rechteck mit 3 Pünktchen
9. Bitte draufklicken und per Windows Explorer PDF, WORD, EXCEL oder what ever anklicken
10. Beschreibung wird automatisch validiert vom Dateinamen.
11. Dann Button Speichern rechts in der Mitte anklicken
12. Et voila schon hast du die Dateien hinterlegt
13. Diese kannst du später per Öffnen angezeigt bekommen.
14. Eine Komfortprogrammierung könnte evtl. sein: ein FlowField auf der Debitorkarte, welches anzeigt, ob überhaupt Links auf Dateien bei dem gerade ausgewählten Debitor hinterlegt sind.

Die andere Frage, die ich mir stelle ist, warum dein neuer Arbeitgeber dir nicht einen "What is New NAV 2013" Kurs bei z.B. Impuls Academy AG bezahlt?
Die Kosten hierfür sind gering verglichen mit den Lizenz-, Berater- und Supportkosten, welche man einem alten NAV-Partner fürs Gesamtprojekt bereits bezahlt hat bzw. dem neuen Partner noch bezahlen wird.
Anm: NAV ist kei DateV oder LexWare, die Musik spielt erst ab 100.000 € für ein paar User und einfachere Geschäftsprozesse, welche man mit dem Standard NAV abdeckt.

Re: Datei in Feld speichern und bei Bedarf öffnen

4. April 2014 20:14

Freestyler hat geschrieben:Benützt ihr in euerer Firma auch wirklich NAV 2013 R2?

Microsoft Dynamics NAV 2013 R2, 7.1.36310.0
Das UR5 und den nachfolgenden Platform Hotfix habe ich selber implementiert.

Freestyler hat geschrieben:Falls ja, dann ist die Lösung auch per Standard lösbar:

Vielen Dank für dein Engagement und die ausführliche Beschreibung für eine Dateiverlinkung im Standard. Die Anforderung muss aber zwingend als in NAV importierte Datei umgesetzt werden. :-?

Freestyler hat geschrieben:Die andere Frage, die ich mir stelle ist, warum dein neuer Arbeitgeber dir nicht einen "What is New NAV 2013" Kurs bei z.B. Impuls Academy AG bezahlt?

Der Kurs ist sicherlich als globaler Einstieg OK - im Moment für mein Problem leider nicht hilfreich. Leider gibt es auch keinen 2013 R2 Kurs. Darüber hinaus gibt es keine deutschen Kursunterlagen. Was MS sich hier leistet ist unterirdisch!

Freestyler hat geschrieben:NAV ist kei DateV oder LexWare

Stimme ich voll zu. Unternehmen, die den Wert eines richtigen ERP-Systems nicht erkennen wollen, sollen zu Lexware gehen :!:

Nachfolgend ein Screenshot, der unsere Anforderung einmal bildhaft darstellt.
ANGO_1 - Kopie.png
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Re: Datei in Feld speichern und bei Bedarf öffnen

5. April 2014 10:00

Hallo Ango,

in Attachment kann man die Datei als BLOB speichern, das geht schon. In CU419 hast Du die Funktionen die man so braucht um in den verschiedenen Clients zu überleben, und die ausgewählte Datei vom Client zum Service Tier zu übertragen und zurück. Der Dateidialog kommt auf OnDrillDown(), das Aufrufen der Datei auf OnAssistEdit. Für interessant halte ich noch die Logik, die man braucht um anhand der Dateiendung entweder ein vom Client vorgegebenes Programm oder aber ein von NAV vorgegebenes (auf dem Client) zu öffnen. Ich denke die Datenstrukturen dazu fehlen noch, und eine Methode in der Registry nachzuschauen was denn die Einstellungen des Clients sind auch. Kennt da jemand was, eine .net Komponente die man einbinden kann?

LG Jens

Re: Datei in Feld speichern und bei Bedarf öffnen

5. April 2014 10:45

ANGO hat geschrieben:
....Die Anforderung muss aber zwingend als in NAV importierte Datei umgesetzt werden....

Freestyler hat geschrieben:NAV ist kei DateV oder LexWare

Stimme ich voll zu. Unternehmen, die den Wert eines richtigen ERP-Systems nicht erkennen wollen, sollen zu Lexware gehen :!:

Nachfolgend ein Screenshot, der unsere Anforderung einmal bildhaft darstellt.
ANGO_1 - Kopie.png


Zu 1: "...zwingend als in NAV importierte Datei...": ok, so wie ich das verstehe, will man ein paar Mausklicks sparen.
Wäret ihr unser Kunde, würde ich euch eine Offerte über 4 STD Programmierung für ca. 800€ zzgl. MwSt. zuschicken.
Zu 2: finde ich gut, dass du das mit Lexware genauso siehst, die logische Konsequenz wäre IMHO, dass dir dein Chef die Schulungen zu NAV Programming 1 + 2 bei z.B. Impuls bezahlt.
Zu 3: Dort lernst du fortgeschrittenes Programmieren mit NAV, u.a. auch mit .NET und OCX-Komponenten umzugehen oder auch wie man als Programmierer mit BLOB-Dateien umgeht.
Sonst bleiben dir noch die kostenlose Bsp auf http://www.navision24.de oder die Programmierforen auf mibuso.com, die ich persönlich nutze, um mir Basiswissen anzueignen.
Zu 4: Dein Screenshot zeigt aus meiner bescheidenen Fernsicht heraus ein Komfortfeature, welches evtl. für euere Firma nicht Prio 1 ist?
Wie gesagt, wenn es dein Chef eilig hat, dann sollte er dir Schulungen zahlen.

Langfristig könnte sich das für ihn auszahlen:
(1) Dich als vollwertige Entwicklerin ausbilden
(2) Die grosse NAV-Entwicklerlizenz für 25'000€ kaufen
(3) Unabhängig werden von einem allfälligen NAV-Partner
(4) Dich langfristig an das Unternehmen binden und immer eine kompetente NAV-Expertin als Ansprechpartnerin haben :-)

EDIT: gerade ist mir aufgefallen, dass Natalie eine nützliche Linkliste zu Programming hat:

viewtopic.php?f=19&t=15213