Autor Thema: Mail an Grupppe und einzelne Person senden  (Gelesen 1586 mal)

Offline scout2001

  • Frischling
  • *
  • Beiträge: 7
  • Geschlecht: Männlich
Mail an Grupppe und einzelne Person senden
« am: 11.11.08 - 16:31:42 »
Hallo Forum!

Ich hab da mal wieder ein mehr oder weniger kleines Problem.
Und zwar erstelle ich in einer Datenbank ein Dokument und dieses soll/kann nach einer Änderung an bestimmte Personen verschickt werden. Dies sind zum einen Personen aus dem Adressverzeichnis und zum anderen auch Personen, welche in einer Gruppe zusammengfasst sind. Diese Gruppe wird vom Datenbankverantwortlichen erstellt. Die Verwaltung der Gruppe habe ich wie folgt gelöst:
eine Ansicht mit 2 Spalten. erste Spalte = Gruppenname und zweite Spalte die zugeordneten Personen in kanonischer Schreibweise.
Um nun eine Mail an die Gruppe zu versenden nutze ich die Formel @Transform:
_Adressat := @Transform(_Adressat;"_x";@DbLookup("":"NoCache";"":"";"benutzer";_x;2;[FailSilent]));
so kann ich durch den/die Gruppennamen auf die einzelnen Personen zugreifen.
Dies funktioniert auch alles tadellos. Auch das Versenden der Mail klappt eigentlich fehlerfrei. Solange ich entweder NUR direkt Personen aus dem Adressverzeichnis verwende, oder NUR die selbsterstellten Gruppe.
Soll nun allerdings eine Mail an Beispielsweise 2 Gruppen und 3 Personen gesendet werden, so versucht Notes die Gruppen im Adressbuch zu finden. Leider ohne Erfolg.

Was habe ich getan? Eine Abfrage beim Sendeversuch, ob er Empfänger in der Ansicht der Gruppen in der ersten Spalte zu finden ist. Ist dies der fall, so soll der Empfänger, wie oben beschrieben mit Transform aufgesplittet werden, ansonsten, soll der Empfänger(Einzelperson) so übernommen werden.
Das ganze noch hübsch in eine @For-Schleife gepackt, damit auch alle Einträge der Liste abgearbeitet werden, aber nein.. es tuts nich...
Beim Senden kommt dann für die Gruppe, dass sie nicht im Adressbuch gefunden werden kann. Die "normale" Person wird dabei fehlerfrei verarbeitet...

Wenn jetzt einer von Euch Rat weiß, dann bitte immer her damit. Bin nämlich langsam am Verzweifeln.
« Letzte Änderung: 13.11.08 - 11:00:34 von scout2001 »
Wer Rechtschreibfehler findet, darf sie gerne behalten, sammeln und tauschen. Sie dürfen jedoch nicht verkauft, für kommerzielle Zwecke genutzt oder zum Download angeboten werden.

Offline LN4ever

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 505
  • Geschlecht: Männlich
Re: Mail an Grupppe und einzelne Person senden
« Antwort #1 am: 11.11.08 - 16:45:55 »
Schau dir einmal an, was TRANSFORM macht, wenn es auf einen Fehler trifft. Dann kommst du selbst auf die Lösung. Wenn du Namen und Gruppen mischst, triffst du bei der TRANSFORM-Auflösung nämlich auf jeden Fall auf einen Fehler. FAILSILENT beduetet NICHT, daß kein Fehler auftritt oder @ISERROR den Rückgabewert @FALSE hat, sondern nur, daß nicht gemeckert wird.

Vor ein paar Tagen habe ich in einem ähnlichen Fall die Formel dazu auch mitgegeben.

Gruß

Norbert
Situs vilate in isse tabernit.

Offline scout2001

  • Frischling
  • *
  • Beiträge: 7
  • Geschlecht: Männlich
Re: Mail an Grupppe und einzelne Person senden
« Antwort #2 am: 11.11.08 - 17:02:38 »
Schon einmal vielen Dank für deine schnelle Antwort.
Darüber werde ich jetzt wohl noch ein bisschen grübeln müssen, wie ichs denn jetzt am besten umsetzte.

Gruß
scout2001
Wer Rechtschreibfehler findet, darf sie gerne behalten, sammeln und tauschen. Sie dürfen jedoch nicht verkauft, für kommerzielle Zwecke genutzt oder zum Download angeboten werden.

Offline scout2001

  • Frischling
  • *
  • Beiträge: 7
  • Geschlecht: Männlich
Re: Mail an Grupppe und einzelne Person senden
« Antwort #3 am: 12.11.08 - 07:47:02 »
So bin ich leider auch nicht weiter gekommen, denn das @Transform mache ich ja erst nach einer Abfrage, ob der Gruppenname überhaupt in der Liste der Gruppe existiert. Ansonsten, soll ja ohnehin schon die Person so übernommen werden und es dürften so keine verschiedenen Typen sein.

in etwa so:
@If(@IsMember(_Adressat;_Gruppe);
   _Adressat := @Transform(_Adressat;"_x";@DbLookup("":"NoCache";"":"";"benutzer";_x;2;[FailSilent]));
   _Adressat)
Gruß
scout2001
« Letzte Änderung: 12.11.08 - 07:49:56 von scout2001 »
Wer Rechtschreibfehler findet, darf sie gerne behalten, sammeln und tauschen. Sie dürfen jedoch nicht verkauft, für kommerzielle Zwecke genutzt oder zum Download angeboten werden.

Offline scout2001

  • Frischling
  • *
  • Beiträge: 7
  • Geschlecht: Männlich
Re: Mail an Grupppe und einzelne Person senden
« Antwort #4 am: 12.11.08 - 08:31:24 »
Habs jetzt so gelöst:

_Adressat := @Transform(_Adressat;"_x";@If(@IsMember(_x;_Gruppe);@DbLookup("":"NoCache";"":"";"benutzer";_x;2;[FailSilent]);_x))

und siehe da, es läuft!  ;D
Wer Rechtschreibfehler findet, darf sie gerne behalten, sammeln und tauschen. Sie dürfen jedoch nicht verkauft, für kommerzielle Zwecke genutzt oder zum Download angeboten werden.

Offline LN4ever

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 505
  • Geschlecht: Männlich
Re: Mail an Grupppe und einzelne Person senden
« Antwort #5 am: 12.11.08 - 14:27:59 »
Hallo,

wenn ich dir diese Formel gegeben hätte, dann hättest du sie verwendet, hättest gesehen, daß sie das gewünschte Ergebnis liefert und wärest glücklich und zufrieden gewesen, aber du hättest nicht die innere Funktionsweise von @Transform begriffen und verinnerlicht.

Jetzt hat es etwas länger gedauert, und es hat auch etwas Schweiß gekostet, aber du hast verstanden, wie TRANSFORM funktioniert. Und das ist wichtig, weil du beim nächsten ähnlich gelagerten Problem dieses Lösungsschema aus dem Fundus deines verinnerlichten Wissens hervorholen und anwenden kannst.

Gruß

Norbert
Situs vilate in isse tabernit.

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz