Eigene Controls auf der Dataport RequestForm platzieren

24. April 2005 19:39

Startet man in Navision einen Dataport, so stehen einem die Felder Dateiname und Import standardmäßig zur Verfügung.
Schaut man sich die RequestForm jedoch im Designer an, so findet man diese Controls nicht.
Der Grund ist, dass Navision diese Felder automatisch einblendet, solange sich keine Controls auf der RequestForm befinden.
Fügt man jedoch ein Control (z. B. eine TextBox) dort ein, so werden beim Aufruf des Dataports die Felder Dateiname und Import nicht mehr angezeigt.

Um diese Felder wieder anzuzeigen, einfach folgende Anleitung befolgen:
  1. Eine neue globale Variable Dateiname vom Typ Text[250] anlegen
  2. Eine neue globale Variable Richtung vom Typ Option mit OptionString Import,Export anlegen
  3. Eine TextBox inkl. Label hinzufügen
    Properties:
    • Control-ID: 1
    • AssistEdit: Ja
    • SourceExpression: Dateiname
    • Parent Control ID des dazugehörigen Labels: 1
  4. Eine weitere TextBox inkl. Label hinzufügen
    Properties:
    • SourceExpression: Richtung
  5. Im Trigger OnPreDataport folgenden Code einfügen:
    Code:
    CurrDataport.Filename := Dateiname;
    CurrDataport.Import := (Richtung = Richtung::Import);

Nun ist die Voraussetzung geschaffen, dass man weitere Controls auf der RequestForm platzieren kann und dennoch den Dateinamen und die Richtung auswählen kann.

[gelöst]

9. Oktober 2006 13:58

Ich habe genau so wie oben beschrieben die Felder eingbracht (allerdings in einem Report).
Wenn ich jedoch auf den AssistButton dürcke, bekomme ich keine Dateiauswahl.
Was habe ich falsch gemacht, bzw. vergessen?

mfg
Michael
Zuletzt geändert von mespelage am 9. Oktober 2006 17:02, insgesamt 1-mal geändert.

9. Oktober 2006 15:06

Die von Timo beschriebene Vorgehensweise funktioniert nur bei Dataports.

Bei Reports muss die Dateiauswahl selber programmiert werden auf dem Trigger OnAssistEdit. Es gibt dazu aber die CodeUnit 412 - Common Dialog Management (Version 4.x), die den Dateiauswahldialog zur Verfügung stellt (OpenFile)

9. Oktober 2006 17:01

Funktioniert einwandfrei

Danke an Roger

Michael

1. Oktober 2007 10:16

Gibt es definitiv keine andere Möglichkeit für die Dateiauswahl per F6 im Report OHNE automation OCS (wie on der CU 412)?

Re: Eigene Controls auf der Dataport RequestForm platzieren

7. März 2011 14:30

Hallo,

ich habe das gerade gemacht. Leider hat es danach aber keine Auswirkung mehr auf den Dateidialog, ob ich Import oder Export ausgewählt habe. Bei Export müsste eigentlich der Speichern-Dialog auftauchen und bei Import der Öffnen-Dialog. Es geht aber immer nur der Öffnen-Dialog auf.

Kann man das irgendwie ändern? Ich bräuchste aber, wenn es geht, eine Lösung ohne zusätzliche CodeUnit. Die Lösung müsste bestenfalls ab Navision 2.6 aufwärts funktionieren :wink:

Re: Eigene Controls auf der Dataport RequestForm platzieren

11. April 2012 18:19

weiß dazu inzwischen jemand, wie man den Export auf Import ändern kann?

hat das Option-Field eine bestimme ID?

Re: Eigene Controls auf der Dataport RequestForm platzieren

11. April 2012 20:40

Code:
Currdataport.IMPORT := TRUE

Gruß, Fiddi