Codeunit 400 Funktion addattachment

11. Mai 2011 10:49

Hallo Ihr Lieben,

Navision 2009 auf SQL Server 2005. Zugriff via Citrix. Und wir nutzen den CC :wink:

Ich möchte eine email aus Navision generieren. Das funktioniert schon ganz gut via Codeunit 400 smtp mail.
An die Email möchte ich einen Anhang anhängen. Funktioniert auch noch ganz gut.

Code:
smtp.addAttachment(fktsmtpAddAttachment);


Diesen Anhang möchte ich aber vom User selber auswählen lassen. Selbst das hab ich noch hinbekommen *Schulterklopf*
Dafür habe ich die Codeunit Common Dialog Management benutzt.

Code:
fktsmtpAddAttachment() AttachmentPath : Text[250]
AttachmentPath:= coUCommonDialogManagement.OpenFile('Choose Object set',
                          AttachmentPath,opt_DialogDefaultFileType::Custom,
                          '.fob-Dateien (*.fob)|*.FOB',
                          opt_DialogAction::Open);


Und jetzt meine Frage:

Wenn der User bei der Datei-Auswahl auf abbrechen klickt, soll Navsision fragen ob die email ohne Anhang versendet werden soll. Und das funktioniert nicht.

Ich wollte fragen, If (smtp.addAttachment(fktsmtpAddAttachment) ='') then o.ä. aber dann sagt Navision irgendwas lustiges mit VOID zu Text geht nicht.

Aber was ist denn bitteschön VOID?

Könnt Ihr mir vielleicht weiterhelfen? Was mach ich falsch?
Vielen Dank schon mal für Eure Mühen.

Juliane

Re: Codeunit 400 Funktion addattachment

11. Mai 2011 10:59

Versuche nicht, zwei Dinge auf einmal zu machen:

Code:
AttachmentPath:= coUCommonDialogManagement.OpenFile('Choose Object set',
                          AttachmentPath,opt_DialogDefaultFileType::Custom,
                          '.fob-Dateien (*.fob)|*.FOB',
                          opt_DialogAction::Open);

IF AttachmentPath = '' THEN BEGIN
  // Abfrage, ob ohne Anhang versendet werden soll
  // ...
END ELSE BEGIN
  smtp.addAttachment(AttachmentPath);
END;

Re: Codeunit 400 Funktion addattachment

11. Mai 2011 11:41

JuDra hat geschrieben:[...]
Ich wollte fragen, If (smtp.addAttachment(fktsmtpAddAttachment) ='') then o.ä. aber dann sagt Navision irgendwas lustiges mit VOID zu Text geht nicht.

Aber was ist denn bitteschön VOID?

Könnt Ihr mir vielleicht weiterhelfen? Was mach ich falsch?
Vielen Dank schon mal für Eure Mühen.

Juliane


VOID ist im Prinzip der Datentyp für keinen Datentyp bzw. für LEER, also das die Funktion keinen Rückgabewert hat.
VOID als Parameter in der Funktion bedeutet das die Funktion keinen Parameter hat, also bspw. Funktion().

In deinem obigen Beispiel vergleichst du VOID (keinen Rückgabewert) mit TEXT, daher der Fehler.

mfg,
winfy