Autor Thema: Agent mit @mailsend  (Gelesen 9294 mal)

Offline addict84

  • Frischling
  • *
  • Beiträge: 13
Agent mit @mailsend
« am: 29.07.15 - 08:24:04 »
Guten Morgen Community,
ich bin neu hier und wende mich gleich mit einer (für mich großen) Problemstellung an euch.
In der Forumssuche habe ich leider keine Antworten gefunden.

Also ich nutze in einer DB eine bestimmte Maske um Informationen zu sammeln und allen Mitarbeitern zur Verfügung zu stellen. Außerdem möchte ich das ein bestimmter Kreis bei einem neuen Dokument per Mail mit informiert wird (mit DokLink). Soweit so gut. Der Agent läuft auch, aber jedesmal wenn ich an dem Agenten etwas ändere (z.b. die Empfänger), sendet er für alle Dokumente an alle Empfänger erneut ein Mail.
Es scheint mir fast, als hätte er vergessen dass er das schon mal gemacht hat.
Außerdem sendet er auch gelöschte (obwohl ich das vermeintlich ausgeklammert habe)

Dokumentenauswahl:  Benutzt Maske 'Knowledgebase-Eintrag'
Aktion: @MailSend("Max Muster/";"";"";"Neuer Knowledgebase-Eintrag";"";"Es liegt ein neuer oder geänderter Knowledgebase-Eintrag vor " + @NewLine +"Thema: " + Kurzbeschreibung + @NewLine; [IncludeDoclink]);
SELECT (LÖSCHDATUM = "")
Trigger: Nachdem Dokum. erstellt oder geändert wurden

Für euch ist es bestimmt eine recht einfache Sache, aber ich kann mir beide Phänome nicht erklären (also das alle gesendet werden sobald ich etwas ändere und das gelöschte auch mit dabei sind (gelöschte sind aber nur bei der"ersten Runde" mit dabei wenn ich danach etwas ändere undweroder lösche, werde ich darüber nicht informiert, was auch so sein soll))


ps. sorry für den Roman ;-)

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Re: Agent mit @mailsend
« Antwort #1 am: 29.07.15 - 08:58:39 »
Willkommen im Forum!

Als erstes würde ich den Empfänger definierbar machen (Einstellungsdokument, Profildokument o.ä.), dann brauchst Du den Agenten nicht anzufassen, wenn sich der ändert.

Ein neu gespeicherter Agent "vergisst" alles, was vorher war, deshalb würde ich mich nicht auf solche Steuerungen verlassen. Markiere die Dokumente, zu denen eine Mail gesendet wurde und berücksichtige das beim Versand. Z.B. so (ungetestet, ich würde das in Script schreiben, in diesem Jahrtausend habe ich wohl keinen Formelagenten solcher Art geschrieben)

Code
@If (Gesendet = "";@MailSend("Max Muster/";"";"";"Neuer Knowledgebase-Eintrag";"";"Es liegt ein neuer oder geänderter Knowledgebase-Eintrag vor " + @NewLine +"Thema: " + Kurzbeschreibung + @NewLine; [IncludeDoclink]); "");
FIELD Gesendet := "1"

Offline addict84

  • Frischling
  • *
  • Beiträge: 13
Re: Agent mit @mailsend
« Antwort #2 am: 29.07.15 - 16:11:46 »
Sehr gute, Danke Peter.
Das werde ich mal probieren. Mit LS kenne ich mich leider nicht aus, bin noch Laie im Bereich ;-)

Die editierbare Einstellung würde ich dann mit dblookup versuchen?!

VG
Marcel
« Letzte Änderung: 29.07.15 - 17:04:33 von addict84 »

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Re: Agent mit @mailsend
« Antwort #3 am: 29.07.15 - 17:09:10 »
@DBLookup ist eine Möglichkeit, wenn Du ein separates Dokument für Einstellungen hast / baust.

Alternativ kannst Du auch mit Profildokumenten arbeiten, @GetProfileField und @SetProfileField wären da die relevanten Formelbefehle.

Ist Geschmacksache ...

Offline addict84

  • Frischling
  • *
  • Beiträge: 13
Re: Agent mit @mailsend
« Antwort #4 am: 30.07.15 - 14:53:14 »
Profildokumente sind mir ehrlich gesagt noch recht fremd, daher würde ich da bei mir selbst eine größere Baustelle aufmachen müssen
@dblookup ist mir da aktuell lieber

leider funktioniert folgende Variante nicht:
(es gibt ein Einstelldokument in dem die Namen der Kollegen Max Muster und Maxi Tester als Liste stehen)

Empfänger:=@Implode(@DbLookup("":"NoCache";EinstellServer : EinstellDatenbank;"Funktionen";"Test";2);":");

@If (LÖSCHDATUM = "" & gesendet = "";@MailSend(Empfänger;"";"";"Neuer Knowledgebase-Eintrag";"Es liegt ein neuer oder geänderter Knowledgebase-Eintrag vor " + @NewLine +"Thema: " + Kurzbeschreibung + @NewLine;""; [IncludeDoclink]);"");
FIELD gesendet:="1";


Trage ich die Namen konkret in den Agenten, dann macht er auch das was er soll, über die Variable leider nicht.
Frage ich mit einem Prompt ab wie die Empfänger aussehen kommt Max Muster: Maxi Tester

mir fehlt also irgendwie die Brücke aus diesem String dann eine kompatible Form für den Versand zu erstellen

Offline TRO

  • Senior Mitglied
  • ****
  • Beiträge: 296
Re: Agent mit @mailsend
« Antwort #5 am: 30.07.15 - 15:02:54 »
Warum machst Du ein @Implode bei der Berechnung des Empfängers?
Dadurch wird doch aus der Empfängerliste ein skalarer String und taugt nicht zum Versenden.

hth

Thomas

Offline addict84

  • Frischling
  • *
  • Beiträge: 13
Re: Agent mit @mailsend
« Antwort #6 am: 30.07.15 - 15:13:28 »
Hallo Thomas,

um die Zeichenkette nachzubilden die ich manuell erstellen würde/müsste.
Aber auch ohne Implode funzt es nicht

Marcel

Offline umi

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.062
  • Geschlecht: Männlich
  • one notes to rule'em all, one notes to find'em....
    • Belsoft AG
Re: Agent mit @mailsend
« Antwort #7 am: 31.07.15 - 10:58:38 »
Moin

Beim @Mailsend sind die Empfänger entweder Text (=eine Person) oder eine TextListe (= mehrere Personen).
Beim @Implode machst Du aus der Textliste "Max Muster":"Maxi Tester" einen String
"Max Muster:Maxi Tester" .....  Der wird wohl so im Adressbuch nicht vorkommen...

Mit Script hättest Du ja einen Debugger zur Verfügung...
Gruss

Urs

<:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Jegliche Schreibfehler sind unpeabischigt
http://www.belsoft.ch
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:>

Driri

  • Gast
Re: Agent mit @mailsend
« Antwort #8 am: 31.07.15 - 11:25:44 »
Was liefert denn DBLookup zurück ? Einen Text oder eine Textliste ? Laß dir doch mal via Prompt den Wert von @Elements(Empfänger) ausgeben. Dann siehst Du zumindest, wieviele Werte enthalten sind. Wenn da 1 zurück kommt, obwohl mehrere Werte enthalten sind, liefert der Lookup nur einen String zurück.

Dem könntest Du dann via @Explode entgegenwirken.

Offline addict84

  • Frischling
  • *
  • Beiträge: 13
Re: Agent mit @mailsend
« Antwort #9 am: 31.07.15 - 12:42:23 »
Moin,

okay aber auch ohne implode gehts nicht, die Einstell-DB liefert eine Textliste, das passt also.
Script kann ich leider nicht, das hilft mir leider an der Stelle nicht wirklich.
Ich hab den Agenten jetzt erstmal mit allen Leuten manuell gefüllt, aber so richtig glücklich macht mich das nicht. Da Leider keine Fehlermeldung kommt, weiß ich nicht richtig wo ich ansetzen soll.
Hab schon die wildesten anderen Tipps aus dem Netz probiert, alles ohne Erfolg.


@prompt mit dem dblookup liefert mir zumindest den ersten Eintrag
@elements geprompt liefert mir gar nichts zurück, was ich gerade sehr seltsam finde

Offline TRO

  • Senior Mitglied
  • ****
  • Beiträge: 296
Re: Agent mit @mailsend
« Antwort #10 am: 31.07.15 - 13:33:50 »
und was sagt @Text( @Elements() ) in Deinem Prompt?

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Agent mit @mailsend
« Antwort #11 am: 31.07.15 - 13:43:41 »
Ich würde mit dem dbLookup auch nicht auf eine Spalte zugreifen, sondern auf das wirklich zugrunde liegende Item mit der Textliste.

HTH,
Bernhard

Offline addict84

  • Frischling
  • *
  • Beiträge: 13
Re: Agent mit @mailsend
« Antwort #12 am: 03.08.15 - 11:37:28 »
@tro
der liefert dann tatsächlich auch die Zahl der Einträge im Dokument

@bernhard
das bringt leider keinen Unterschied
« Letzte Änderung: 03.08.15 - 12:05:00 von addict84 »

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Agent mit @mailsend
« Antwort #13 am: 03.08.15 - 22:29:13 »
Entweder, im Inhalt Deines Empfängerfelds steht Murks, ode Du sendest, ohne das Dokument vorher zu speichern, denn das [IncludeDocLink] würde das Senden ohne Speichern kommentarlos verhindern.

HTH,
Bernhard

Offline addict84

  • Frischling
  • *
  • Beiträge: 13
Re: Agent mit @mailsend
« Antwort #14 am: 04.08.15 - 08:40:55 »
der Agent läuft (auch mit Doc-Link) wenn ich den Namen in Klarschrift drin habe, also kann die zweite Fehlerquelle schon mal ausgeschlossen werden.
aktuell sieht das ganze Einstelldokument so aus:

Feldname: Bearbeiter
Datentyp: Textliste
Datenlänge: 18 Byte
Seq.-Num.: 9
Doppeleintrags-ID: 0
Feld-Flags: SUMMARY

"Max Muster"

Und der Agent:
Empfänger:=@DbLookup("":"NoCache";EinstellServer : EinstellDatenbank;"Funktionen";"EmpfängerInfomail";"Berater");

@If (LÖSCHDATUM = "" & gesendet = "" ;@MailSend(Empfänger;"";"";"Neuer Knowledgebase-Eintrag1";"Es liegt ein neuer oder geänderter Knowledgebase-Eintrag vor " + @NewLine +"Thema: " + Kurzbeschreibung + @NewLine;""; [IncludeDoclink]);"");
FIELD gesendet:="1";
SELECT @All


Durchsucht er vielleicht nur mein persönliches Adressbuch?

Offline ascabg

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.696
  • Geschlecht: Männlich
Re: Agent mit @mailsend
« Antwort #15 am: 04.08.15 - 09:03:34 »
hallo,

Ich habe mir jetzt nicht den biherigen Verlauf angesehen, aber, hast du denn schon einmal geprueft
was zum Zeitpunkt des Sendens in "Empfänger" enthalten ist?

Und was entaehlt "EinstellServer" und "EinstellDatenbank"?


Andreas

Offline addict84

  • Frischling
  • *
  • Beiträge: 13
Re: Agent mit @mailsend
« Antwort #16 am: 04.08.15 - 09:57:50 »
hallo andreas,

wie gesagt ich habe die Prompts probiert (in einem der Dokumente um die es geht), die passen, dort werden die Namen angezeigt.
Die Serverangaben sind Felder in der Maske die dann die Hauptdatenbank und die dazugehörige Einstelldatenbank angeben. Ich gehe davon aus, dass der Agent in der Maske nachschaut und die dann auch nutzt?!

Habe nun die Daten bank und den Server direkt im Agenten eingetragen, keine Änderung im Verhalten
« Letzte Änderung: 04.08.15 - 10:05:54 von addict84 »

Offline addict84

  • Frischling
  • *
  • Beiträge: 13
Re: Agent mit @mailsend
« Antwort #17 am: 04.08.15 - 10:31:43 »
um Betriebsblindheit ausszuschließen habe ich den Agenten nochmal neu erstellt und alle Formeln sauber aufgeschrieben (bzw. abgeschrieben) und siehe da, es funktioniert
ich gehe davon aus, dass der Fehler darin lag, dass die Server selbst nicht im Agenten sondern nur in der Maske, aus der aus der Agent gestartet wurde, enthalten waren; kombiniert mit einem Rechtschreib-/Leerzeichenfehler

Vielen Dank für eure Hilfe, jetzt läuft alles so wie es soll und ist auch noch ohne Designer editierbar, perfekt :)))

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz