Autor Thema: Mailbenachrichtigung mit 5er geht, mit 6er nicht  (Gelesen 1295 mal)

Offline mgeidl

  • Aktives Mitglied
  • ***
  • Beiträge: 224
  • Geschlecht: Weiblich
  • Ich liebe dieses Forum!
Mailbenachrichtigung mit 5er geht, mit 6er nicht
« am: 28.02.06 - 11:18:53 »
Hallo,

ich hab folgendes Problem: Ich hab eine Urlaubsdatenbank, in der der Mitarbeiter seinen Urlaub beantragt und dann über einen Hotspot das Dokument mit DokLink an den Abteilungsleiter zur Genehmigung per Mail sendet.

Damit der User nicht immer in die Datenbank rein muß, hab ich die Mail-Schablone dahingehend modifiziert, daß über eine Schaltfläche, die ein @Command([Compose];...... ausführt, das Dokument gleich aufgerufen wird.

Unter dem 5er Client hat alles reibungslos funktioniert. Mit dem 6er Client wird die Mail-Benachrichtigung nur dann geschickt, wenn ich das Dokument aus der Datenbank selbst heraus aufrufe. Sobald ich´s über die Schaltfläche mach, werden alle Aktionen ausgeführt, nur das Senden der Mail nicht.

Bitte um eure Hilfe. DANKE

Marietta

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.885
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: Mailbenachrichtigung mit 5er geht, mit 6er nicht
« Antwort #1 am: 28.02.06 - 11:23:12 »
tja, da wirst Du wohl Opfer der neuen Ausführungsreihenfolge von Befehlen in R6.

Genau das sind die Dinge, die man vor der Migration von R5 auf R6 hätte prüfen müssen, denn genau hier hat sich vieles geändert ...

Aber genug "kluggeschi..en"...

Poste mal Deinen Kompletten Code, dann können wir Dir auch sagen, wo es Dir die Reihenfolge verdreht...

Gruß
Tode

Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Offline mgeidl

  • Aktives Mitglied
  • ***
  • Beiträge: 224
  • Geschlecht: Weiblich
  • Ich liebe dieses Forum!
Re: Mailbenachrichtigung mit 5er geht, mit 6er nicht
« Antwort #2 am: 28.02.06 - 12:23:03 »
Hallo,

neue Reihenfolge?? Hier die Befehle, die ausgeführt werden:

@Command([ViewRefreshFields]);

tmpdoppelt:=@DbLookup( "": "NoCache" ;"":"";"doppelt";doppelt;1);
@If(@IsError(tmpdoppelt);"";@Prompt([Ok];"Fehler";"Eine Abwesenheit für diese Personalnummer und Datum wurde bereits eingetragen!"));

@If(Abwesenheit="Sonderurlaub" & Begründung="";@SetField("Begründung";@Prompt([OkCancelEdit]; "Pflichtfeld"; "Geben Sie eine Begründung für Ihre Abwesenheit ein!";""));Abwesenheit="unbez. Urlaub zu Lasten DN" & Begründung="";@SetField("Begründung";@Prompt([OkCancelEdit]; "Pflichtfeld"; "Geben Sie eine Begründung für Ihre Abwesenheit ein!";""));


@If(@IsError(tmpdoppelt);@MailSend(GenehmigungDurch;"";"";"Urlaubsantrag/Abwesenheitsmeldung für "+Name;"";"";[IncludeDoclink]);""));
@If(@IsError(tmpdoppelt);@PostedCommand([FileSave]);"");
@If(@IsError(tmpdoppelt);@Command([FileCloseWindow]);"")

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.885
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: Mailbenachrichtigung mit 5er geht, mit 6er nicht
« Antwort #3 am: 28.02.06 - 13:33:40 »
und wo ist in diesem code das Compose ?

nur mal so als Tipp nebenbei: Du machst Dir die Sache in der Programmierung wesentlich einfacher, wenn Du mit @Return arbeitest:

Diese Zeile:
@If(@IsError(tmpdoppelt);"";@Prompt([Ok];"Fehler";"Eine Abwesenheit für diese Personalnummer und Datum wurde bereits eingetragen!"));

einfach so erweitern:

@If(@IsError(tmpdoppelt);"";@Return( @Prompt( [Ok];"Fehler";"Eine Abwesenheit für diese Personalnummer und Datum wurde bereits eingetragen!")));

dadurch sparst Du Dir in die Folge alle @Ifs die auf @IsError... abfragen, weil Der Code durch das @Return an der Stelle abbricht...

AUch wenn das Compose im Code- Segment fehlt, vermute ich einen falschen Formel- Kontext:

Die Maske wird zwar "composed", aber der Code greift noch auf die Daten aus der Mail- DB zurück (also z.B. das dort gerade markierte Dokument). Dort gibt es höchstwahrscheinlich kein Feld "GenehmigungDurch", weshalb der @Mailsend fehlschlägt. Probiers mal mit

@UpdateFormulaContext

Gruß
Tode
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Offline Untitled

  • Senior Mitglied
  • ****
  • Beiträge: 364
    • Musiker24.ch - Musiker und Bands finden
Re: Mailbenachrichtigung mit 5er geht, mit 6er nicht
« Antwort #4 am: 28.02.06 - 13:36:53 »
Code
@If(@IsError(tmpdoppelt);@PostedCommand([FileSave]);"");
@If(@IsError(tmpdoppelt);@Command([FileCloseWindow]);"")

Also was ich gerade auf den ersten Blick sehe ist hier, dass das Fenster zuerst geschlossen wird und dann gespeichert. @PostedCommand wird doch immer am Ende ausgeführt, egal wo es steht.

Oder irre ich mich da jetzt?  ::)

Grüsse
Moritz

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.885
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: Mailbenachrichtigung mit 5er geht, mit 6er nicht
« Antwort #5 am: 28.02.06 - 13:42:31 »
Theoretisch hast Du recht @Untitled, wenn da nicht bestimmte "Restriktionen" in der Ausführungsreihenfolge wären:

1. FileCloseWindow und ToolsRunMacro (und einige weitere) laufen immer erst NACH der kompletten Ausführung des Codes, egal ob mit @Posted oder ohne...

In R6 ist das ganze ein wenig geändert worden, so dass man sich MEHR auf die Reihenfolge im Code verlassen kann und weniger auf solche Ausnahmen achten muss, bei vielen Befehlen gibt es dafür aber einen neuen Befehl, um das zu tun (z.B. ToolsRunMacro = RunAgent)

Das ist ein Grund, weshalb man Datenbanken, die unter R5 entwickelt wurden, sorgfältig testen sollte, bevor man sie nach R6 migriert, auch wenn mir das nie jemand glaubt, wenn ich bei Fragen "wie date ich schnell auf R6 ab...." darauf hinweise...

Gruß
Tode
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz