Domino 9 und frühere Versionen > ND6: Entwicklung

@Promt Fehlermeldung

<< < (3/4) > >>

macom111:
Also,

hier nochmal das ganze mit einer TestDB im Anhang (ich denke, das ist wohl das beste) und der richtigen Erklärung:

Unter anderm gibt es 4 Felder:
Name, Typ: Autoren, Berechnet beim anlegen
User1, Typ: Namen, Bearbeitbar
User11; Typ: Namen, Berechnet - @SetField ("User11"; User1)
Genehmigt: Typ: Namen, Bearbeitbar

Es gibt 2 Aktionen:

Senden Antragsteller -    Funktioniert einwandfrei!


Senden Vorgesetzter -

Im Feld „User1“ trägt der Antragsteller den Namen des Empfängers (Vorgesetzer) ein und klickt dann auf „Senden Antragstellter“.

Der Empfänger (Vorgesetzter), trägt im Feld „Genehmigt“ seinen Namen ein und klickt auf „Senden Vorgesetzter“. Die Mail sollte zurück an den Absender gehen (Feld "Name").

Die Fehlermeldung: Falscher Datentyp für Operator oder @Funcktion: Zahl erwartet 

Lasse ich die Anweisung

@If (User11 != User1; @Return (@Prompt ([Ok]; "Info"; "Sie sind nicht Unterschriftsberechtigt, da Sie nicht der richtige Empfänger dieser Mail sind !"));

weg, funktioniert´s.

Wo bitte mache ich den Fehler?

Vielen Dank schon mal für Eure Hilfe.

Gruß Siggi

koehlerbv:
Wo ist denn in der Zeile (ohne die es klappt) zum @If der Else-Zweig? Schweinerei, das der R6-Designer das abnimmt, aber ...

@If (User11 != User1; @Return (@Prompt ([Ok]; "Info"; "Sie sind nicht Unterschriftsberechtigt, da Sie nicht der richtige Empfänger dieser Mail sind !"); "");
wäre syntaktisch korrekt.

Bernhard

macom111:
Stehe gerade im Badezimmer beim Umziehen und dabei kommt mir ein schrecklicher Gedanke:  ???

Und tatsächlich.... meine Vermutung hat sich bestätigt:

In der Aktion Vorgesetzter stehht

@If (User11 != User1; @Return (@Prompt ([Ok]; "Info"; "Sie sind nicht Unterschriftsberechtigt, da Sie nicht der richtige Empfänger dieser Mail sind !"));

_mailempfaenger := Name; SendTo;

@MailSend(_mailempfaenger; "Tobias Roth/GRUMA/DE"; ""; "Urlaubsantrag"; "Sie erhalten soeben die Bestätigung od. Ablehnung Ihres Urlaubsantrages."
      + @NewLine +
            "Bitte klicken Sie auf die Verknüpfung um das Dokument zu öffnen."; "";
      [IncludeDoclink]);
@PostedCommand([FileSave]);
@PostedCommand([FileCloseWindow]))


_mailempfaenger := Name; SendTo;
muß in der ersten Zeile stehen und nicht wie bei mir nach der @IF - Anweisung.

So was blödes auch  >:(

Danke Euch trotzdem für Eure Bemühungen!

Gruß Siggi

koehlerbv:
Irgendwie kommt hier immer mehr syntaktisch falsches zum Vorschein!


--- Code: ---_mailempfaenger := Name; SendTo;
--- Ende Code ---

Das sind zwei getrennte Formel-Terme! Das Zeichen ";" trennt Parameter (hier nicht erforderlich und daher komplett falsch).
Ich vernmute mal, dass der Inhalt der Felder "Name" und "SendTo" der Variablen "_mailempfaenger" zugewiesen werden sollen.

Und das müsste dann heissen:

_mailempfaenger := Name: SendTo;

Ich empfehle das gründliche Studium der DesignerHelp.

Bernhard

m3:
So, ich hab mir das jetzt mal im Detail herausgeholt:


--- Code: ---01 @If( User11 != User1;
02            @Return (@Prompt ([Ok]; "Info"; "Sie sind nicht Unterschriftsberechtigt, da Sie nicht der richtige Empfänger dieser Mail sind !"));
03     _mailempfaenger := Name;
04            SendTo;
05     @MailSend(_mailempfaenger; ""; ""; "Urlaubsantrag"; "Sie erhalten soeben die Bestätigung od. Ablehnung Ihres Urlaubsantrages." + @NewLine + "Bitte klicken Sie auf die Verknüpfung um das Dokument zu öffnen."; ""; [IncludeDoclink]);
06            @PostedCommand([FileSave]);
07     @PostedCommand([FileCloseWindow])
08   )
--- Ende Code ---

Dieses @IF-Konstrukt ist durchaus "valide", Bernhard, auch wenn dies a) nur durch Zufall und b) haarstäubend ist.

Es besagt nämlich aus, dass
a) Wenn User11 != User1 (Zeile 01) ist, der @Return Befehl in Zeile 02 ausgeführt wird
b) Wenn die ZUWEISUNG "_mailempfaenger := Name;" in Zeile 03 erfolgreich ist, "das Feld SendTo 'ausgeführt'" wird (Zeile 04, was immer dann auch passiert)
c) Wenn der @MailSend-Befehl in Zeile 05 erfolgreich war, wird @PostedCommand([FileSave]); (Zeile 06)ausgeführt
d) Wenn das alles nicht klappt, wird - als ELSE - @PostedCommand([FileCloseWindow]) in Zeile 07 ausgeführt.

Syntaktisch korrekt, inhaltlich komplett gaga.  ;D  ;)


Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln