Das Notes Forum

Domino 9 und frühere Versionen => ND7: Entwicklung => Thema gestartet von: A+S am 22.05.08 - 10:20:15

Titel: Agent bekommt nur leere Werte
Beitrag von: A+S am 22.05.08 - 10:20:15
Hallo Zusammen,

ich habe ein Problem mit einem Agenten, an dem ich schon fast am verzweifeln bin. Und zwar habe ich in einer Maske einen Button, der das Dokument über einen Agenten speichert und schließt und dann noch einen 2. Agenten ausführt. Wenn der 2. Agent gestartet wird bekommt er aber nur leere Werte aus dem Dokument. Das habe ich mit @Prompt überprüft. Ich habe hier mal in verkürzter Form die Agenten aufgeführt:

Klick auf Button:
@Command([ToolsRunMacro];"(Confirm NC New)");
@Command([ToolsRunMacro];"(SendNotifications)")

Agent 'Confirm NC New':
.
.
.

@SetField("Action";Actual);
@SetField("NeedCost";Cost);
@SetField("Needtoplan";plan);
@SetField("Request";fstatus);
@SetField("RaisedBy";Name);
@SetField("DateRaised";Date);
@SetField("Status";StatusNow);
@If(QN1=QN2;@SetField("QualityNotif";QN1);@SetField("QualityNotif";QN1 : QN2));

@Command([FileSave]) ;
@Command([FileCloseWindow]);

Agent 'SendNotifications':
@If(@GetField("Notif_Sent")="0";
@Do(
@MailSend(@GetField("QualityNotif");"";"";"A new NC has been raised for your action";"Action required :" +NC_Nature+@NewLine+"Please click on the link to action"+@NewLine;"";[IncludeDoclink]);
@SetField("Notif_Sent";"1")
);
@Prompt([Ok];"";@GetField("Notif_Sent")));

In SendNotifications gibt es mehrere solcher Blöcke. Er springt aber immer in den 'else'-Teil weil das Feld 'Notif_Sent' leer ist(was die Prompt dann auch anzeigt). 'Notif_Sent' hat aber als Vorgabewert "0" in der Maske und der Wert steht auch in dem Feld wenn ich das Dokument erneut öffne. Brauche Hilfe! ???

Gruß,
Kai
Titel: Re: Agent bekommt nur leere Werte
Beitrag von: DAU-in am 22.05.08 - 10:40:11
Notif_Sent ist ein Textfeld oder ein Zahlenfeld?

Erzeugst du das Dokument, in dem Notif_Sent sich befindet, im Backend? Der Defaultwert wird dann nämlich erst beim ersten Öffnen im Frontend belegt.

grüsse

Dau-in

P.S: WIR arbeiten heute!
Titel: Re: Agent bekommt nur leere Werte
Beitrag von: A+S am 22.05.08 - 10:48:36
Genau, wir arbeiten heute!

Notif_Sent ist ein Textfeld.
Ob ich das Dokument im Backend öffne kann ich dir gar nicht genau sagen, weil ich ehrlich gesagt, den Unterschied zwischen Backend und Frontend nicht kenne.  :-[
Aber ich schätze du meinst, ob das Dokument von einem User erzeugt wird, der die Maske ausfüllt und  den Button dann von Hand betätigt (Frontend?). So ist auf jeden Fall der Ablauf. Hoffe das hilft weiter.
Titel: Re: Agent bekommt nur leere Werte
Beitrag von: WernerMo am 22.05.08 - 10:52:23
Hallo,

Genau, wir arbeiten heute!

Ach Ihr "Ärmsten" hatten wir das nicht schon:
http://atnotes.de/index.php?topic=40506.0

Aber denkt euch nichts, wir haben/hätten heute Feiertag, aber Dank des IBM-Bugs (in 7.0.2 FP1) darf ich heute auch arbeiten.

Gruß Werner
Titel: Re: Agent bekommt nur leere Werte
Beitrag von: DAU-in am 22.05.08 - 10:59:19
@ A&S:
Und der anwender sieht den Defaultwert dann auch eingeblendet?
Gibt es noch eine Fieldtranslation?
die "0" ist kein Aliaswert?


@Werner: Wer hat denn schon Mitleid mit den Franken?  :P
Titel: Re: Agent bekommt nur leere Werte
Beitrag von: A+S am 22.05.08 - 11:11:09
Nein, er sieht ihn nicht eingeblendet. Der Wert soll kennzeichnen, ob schon eine Benachrichtigung gesendet wurde, weil das Dokument im Laufe der Zeit mehrmals gespeichert wird und nicht jedesmal eine Benachrichtigung gesendet werden soll.

Fieldtranslation? Also ob der Wert noch in ein anderes Feld weitergegeben wird? Nein.

Aliaswert? Ich habe ihn als normalen Vorgabewert des Textfeldes eingetragen.

Oh, mann. So viele Fachbegriffe auf einmal. Bin kein wirklicher Programmierexperte, aber das brauche ich wohl nicht wirklich zu erwähnen.  ;D
Titel: Re: Agent bekommt nur leere Werte
Beitrag von: DAU-in am 22.05.08 - 11:23:51
Fieldtranslation bedeutet, dass der eingegebene Wert noch einmal verändert wird, z.B. mit einem @trim.

Blende das Feld einmal ein, ob da wirklich die "0" als Vorgabe eingetragen wird.

Ansonsten bin ich gerade am grübeln.

Das Dokument ist auch wirklich mit der Maske erstellt worden, und der Default Value war damals auch schon drin?


Titel: Re: Agent bekommt nur leere Werte
Beitrag von: WernerMo am 22.05.08 - 11:47:15
Hallo DAU-in
-Offtopic-

@Werner: Wer hat denn schon Mitleid mit den Franken?  :P
1. Bin ich gebürtiger Oberbayer
2. Da ich nun seit fast 24 Jahre in Mittelfranken lebe (also fast 50%) habe ich Franken sehr schätzen gelernt und will nicht mehr weg.
3. Wer es nicht glaubt(/en will) soll einfach zu unserm nächsten Stammtisch kommen und selber sehen. (Franken können sehr gesellig sein)
4. Wann war der letzte atnotes-Stammtisch in München? 2001? ;-)
-Offtopic end-

Gruss Werner
Titel: Re: Agent bekommt nur leere Werte
Beitrag von: A+S am 22.05.08 - 12:01:37
Also es findet keine Fieldtranslation statt. Und der Wert steht eindeutig im Feld wenn ein neues Dokument erstellt wird. Das Dokument wird auch mit definitiv mit der Maske erstellt. Der Default Value ist schon immer in dem Feld seit ich es erstellt habe. Kann es vielleicht sein, dass man in den Agenteneigenschaften etwas einstellen muss? Irgendeine Dokumentenauswahl, oder bezieht er sich immer auf das Dokument, aus dem er erstellt wurde?
Titel: Re: Agent bekommt nur leere Werte
Beitrag von: WernerMo am 22.05.08 - 12:08:34
Hallo,

kann es nicht sein, dass der zweite Agent durch das Schließen des Dokumentes (vor dem Aufruf des zweiten Agenten) den Fokus auf das Dokument verloren hat?

Gruß Werner
(und Dublin ruft nicht zurück :-(  )
[Nachtrag 12:17 Uhr - aber wenigstens eMail ist gekommen]
Titel: Re: Agent bekommt nur leere Werte
Beitrag von: A+S am 22.05.08 - 12:36:01
Das ist es! Super. Ich habe das @Command([FileCloseWindow]); jetzt rausgenommen und es funktioniert. Danke an euch beide!
Titel: Re: Agent bekommt nur leere Werte
Beitrag von: WernerMo am 22.05.08 - 17:32:02
Hallo Kai,

danke für die Rückmeldung, freut mich, dass es geholfen hat.
Manchmal hilft der Abstand doch etwas.

Viele Grüße
Werner