[gelöst] Dateien per Windowsdialog

8. Dezember 2009 01:27

Hallo mal wieder,

Wie plaziere ich das Tabellenfeld?
----Speichere die Änderungen der Tabelle und gehe in die Form „Customer Card“ (ID: 21). Dort platzieren wir das gerade neu angelegte Tabellenfeld.----

Wenn ich einfach ein Textfeld einfüge und das entsprechend anpasse kassiere ich zum Schluß eine Fehlermeldung

[color=#FF0000]( Markiere nun das Feld und gehe über „Ansicht“ in den „C/AL-Code“ und dort dann in den „OnAssistEdit“-Trigger. In diesem Trigger müssen drei lokale Variablen angelegt werden. Gehe hierzu über „Ansicht“ in die „C/AL Locals“ und lege die folgenden Variablen an:

1.DialogMgt vom DataType Codeunit und Subtype „Common Dialog Management“
2.DialogDefaultFileType vom DataType Option (OptionString: „ ,Text,Excel,Word,Custom”)
3.DialogAction vom DataType Option (OptionString: „Open,Save”)


Im Trigger an sich muss der folgende C/AL-Code hinterlegt werden:

"Contract Document":=
DialogMgt.OpenFile(
'Vertragsdokument auswählen',
"Contract Document",
DialogDefaultFileType::Custom,
'PDF-Dateien (*.pdf)|*.pdf|Alle Dateien (*.*)|*.*',
DialogAction::Open);

Speichere die Form.
[/color]
Speichere die Änderungen der Tabelle und gehe in die Form „Customer Card“ (ID: 21). Dort platzieren wir das gerade neu angelegte Tabellenfeld.
Zuletzt geändert von Geier am 12. Dezember 2009 16:47, insgesamt 3-mal geändert.

Re: Dateien per Windowsdialog

8. Dezember 2009 09:42

Hallo Geier,

dein Quelltext ist leichter zu lesen und zu verstehen, wenn du ihn zwischen so genannte Code-Tags setzt. Insbesondere deine Formatierungen werden so auch beibehalten.

Daher bitten wir dich, vor und nach deinem Quelltext diese Code-Tags einzufügen. Beispiel:


[code]Dein Quelltext[/code]

Gruß, Mikka
MSDynamics.de-Team

Re: Dateien per Windowsdialog

8. Dezember 2009 09:47

Hallo Geier,

ich weiß nicht genau was das Ziel sein soll?
Ein neues Feld kannst du recht leicht über das Fieldmenü auswählen und plazieren (hat den Vorteil, das die SourceExpr gleich gefüllt ist). Alternativ eine Textbox plazieren und der SourceExpr das neue Feld zuweisen.

Warum der Dateidialog? Soll in dem Neuen Feld der Pfad zu einer PDF Datei stehen, der per AssistEdit ausgewählt werden kann?

Wie lautet die Fehlermeldung?

Re: Dateien per Windowsdialog

8. Dezember 2009 10:10

Was will uns der Autor bloß sagen?¿? :roll:

Re: Dateien per Windowsdialog

8. Dezember 2009 11:20

Ich deute es so:
Es ist ein neues Feld erstellt worden, welches einen Dateipfad speichern soll. Hierfür wurde der OnAssistEdit-Trigger auf der Form ausprogrammiert. Das Ganze läuft aber bei Benutzung auf einen Fehler.

Re: Dateien per Windowsdialog

8. Dezember 2009 12:11

Natalie hat geschrieben:Ich deute es so:
Es ist ein neues Feld erstellt worden, welches einen Dateipfad speichern soll. Hierfür wurde der OnAssistEdit-Trigger auf der Form ausprogrammiert. Das Ganze läuft aber bei Benutzung auf einen Fehler.



Hallo Natalie, genau das ist es :)


mikka hat geschrieben:Hallo Geier,

ich weiß nicht genau was das Ziel sein soll?
Ein neues Feld kannst du recht leicht über das Fieldmenü auswählen und plazieren (hat den Vorteil, das die SourceExpr gleich gefüllt ist). Alternativ eine Textbox plazieren und der SourceExpr das neue Feld zuweisen.

Warum der Dateidialog? Soll in dem Neuen Feld der Pfad zu einer PDF Datei stehen, der per AssistEdit ausgewählt werden kann?

Wie lautet die Fehlermeldung?


Hallo Mikka,
also ich will eigentlich das in der Projektkarte ein neues Feld erscheint, das ich anklicken kann und dann einen Dateipfad hinterlegen kann (z.B zu den Projektdaten die auf der Netzwerkplatte sind PDF´s, Jpeg´s usw...) Dies soll sich Navision auch merken. Also pro Projektkartei ein anderer Pfad den man aber selber eingeben kann.

Die Fehlermeldung sagt mir jedesmal das in d. SourceExpr
"Contract Document" nicht passt. Ich habe dann mal probiert noch die "< >" hinzuzufügen, dann meldet er eine andere Fehlermeldung das er einen Wert erwartet....

viele grüße


-----------------------
:)

Re: Dateien per Windowsdialog

8. Dezember 2009 12:37

Dann dürfte das Feld mit dem Namen "Contract Document" wohl nicht existieren. Allerdings wäre die Fehlermeldung im Wortlaut nicht schlecht.

Das, was du da vorhast, müssten dir die Links des Standards aber schon anbieten, oder nicht?

Re: Dateien per Windowsdialog

8. Dezember 2009 12:47

...
Also ich habe den Namen "Contract Document" in der Table 18 Customer angelegt gehabt...
wie meinst du Links des Standards?

Re: Dateien per Windowsdialog

8. Dezember 2009 12:49

Öffne mal eine Projektkarte und klick dann auf die Büroklammer oben im Menu :)

Re: Dateien per Windowsdialog

8. Dezember 2009 13:07

ahh :) das ist gut, mmh aber ich kann dort nur direkt ausgewählte Dateien anschauen bzw. öffnen, die Jungs wollen aber leider den Ordnerinhalt komplett sehen da Sie da sehr viele eingescannte Unterlagen und Bilder hinterlegen... Gibt es da eine Möglichkeit? Also was ich bereits dank eurer Hilfe geschafft hatte, ist im Hauptmenü einen Button zu hinterlegen der mir den Gesamten Projektordner auf der Netzwerkplatte öffnet. Wenn ich den Allerdings einfach in das Projektfenster reinsetzen würde, habe ich noch das Problem das ich nicht weiß wie ich hinterlegen kann das der Benutzer den Pfad selber anlegen kann und dieser dann speziell für das Projekt auch fest gespeichert ist.... Ich glaube ich schreibe zu durcheinander, hoffe mich versteht noch jemand? :->

Dazu noch ein Bild
Im linken Bild ist meine Hauptmaske, ich klicke auf Datenarchiv, dadurch wird eine ausführbare Datei ausgeführt die den Befehl hat in das Verzeichnis auf der Netzwerkfestplatte zugehen. Dann habe ich mein Gesamten Projektordner offen. Aber wie gesagt brauche ich das gleiche für jedes einzelne Projekt (also z.B.: Projekt II-09-001 = z:\Projekte\II-09-001 Teststraße\ ; in Projekt II-09-002 müßte dann die Verlinkung auf einen anderen Ordner zugreifen. Der User soll das eben nur selber ändern können ohne mich, und Navision sich das merken ;) )
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Re: Dateien per Windowsdialog

8. Dezember 2009 13:50

mmh, gerad was überlegt rein theoretisch könnte ich für jedes Projekt eine ausführbare Datei erstellen die dann über die "Büroklammer" geöffnet werden kann und dadurch dann das entsprechende Verzeichnis aufgeht. Aber geht das wirklich nicht leichter? Bin über jede Idee dankbar :-?

Re: Dateien per Windowsdialog

8. Dezember 2009 14:26

Geier hat geschrieben:Ich glaube ich schreibe zu durcheinander, hoffe mich versteht noch jemand?

Ich zumindest nicht :wink:

Geier hat geschrieben:... habe ich noch das Problem das ich nicht weiß wie ich hinterlegen kann das der Benutzer den Pfad selber ...

Verzeichnis anlegen :greenarrow: viewtopic.php?f=40&t=7622&p=39404&hilit=mkdir#p39404

Re: Dateien per Windowsdialog

8. Dezember 2009 14:59

;-> danke, les ich mir heute abend mal in Ruhe durch, mal schauen ob ich das hinbekomme ^^

Re: Dateien per Windowsdialog

9. Dezember 2009 09:41

...wollte nur Rückinfo geben, habe es leider nicht hinbekommen. Werde mir was anderes Überlegen :->

Re: Dateien per Windowsdialog

9. Dezember 2009 11:05

Geier hat geschrieben:die Jungs wollen aber leider den Ordnerinhalt komplett sehen da Sie da sehr viele eingescannte Unterlagen und Bilder hinterlegen... Gibt es da eine Möglichkeit?


Also ich würde mir überlegen, ob ich da selber was stricke oder auf was fertiges zurückgreife. Für mich klingt das nach DMS. Ist ja auch unter http://www.msdynamics.de/viewtopic.php?f=40&t=8969 gerade in Diskussion.

Volker

Re: Dateien per Windowsdialog

9. Dezember 2009 13:38

:-> ok, habe ne andere Lösung aber bekomme ich auch nicht hin hehe.

Also ich habe von einem befreundeten Unternehmen die Datebase einsehen dürfen. Die haben genau sowas aber keiner weiß mehr wie das gemacht worden ist. Ich habe mir entsprechende Feld kopiert und bei mir in der Projektkkarte eingefügt. Natürlich meckert Navision nun:

"Sie haben eine unbekannte Variable angegeben.
Folder
Definieren Sie die Variable unter "C/AL Globale Variablen"

Soweit ist mir das schon klar, also bin ich über den Objektdesigner in die Datenbase der anderen Firma und habe mir alles anzeigen lassen Forms, Table, Report etc.. aber nirgends ist der Name Folder. (Textkonst. habe ich bereits angelegt)

Hier erstmal das Innenleben


Code:
<Control1000000084> - OnActivate()

<Control1000000084> - OnDeactivate()

<Control1000000084> - OnFormat(VAR Text : Text[1024];)

<Control1000000084> - OnBeforeInput()

<Control1000000084> - OnInputChange()

<Control1000000084> - OnAfterInput(VAR Text : Text[1024];)

<Control1000000084> - OnValidate()

<Control1000000084> - OnAfterValidate()

<Control1000000084> - OnLookup(VAR Text : Text[1024];) : Boolean

<Control1000000084> - OnDrillDown()
// LSHANF c01
CurrForm.SAVERECORD;

FolderMgt.OpenFolder(Folder);
// LSHEND c01

<Control1000000084> - OnAssistEdit()
// LSHANF c01
FolderMgt.RUNMODAL;
FolderMgt.SetProperties(Text50001);
IF FolderMgt.IsOK THEN
  Folder := FolderMgt.GetFolderName;
// LSHEND c01


Wo kann sich das noch verstecken?
:?:

Re: Dateien per Windowsdialog

9. Dezember 2009 14:10

Folder scheint mir eine lokale oder globale Variable vom Typ Text zu sein.
Wenn es ein Tabellenfeld wäre, hättest du es ja im Tabellendesign gefunden.

Wobei mich diese Reihenfolge hier sehr stutzig macht:
Code:
FolderMgt.RUNMODAL;
FolderMgt.SetProperties(Text50001);

Und das funktioniert angeblich ...? Faszinierend ...

Re: Dateien per Windowsdialog

9. Dezember 2009 14:13

.. jep habe es extra da getestet, Er merkt sich die Verlinkung für das Projekt und man kommt dann direkt in den Ordner...
diese 500001 habe ich auch gefunden, da steht nur text drin "Bitte Pfad eingeben" und auf Englisch halt nochmal...