@SetField funktioniert im Web nicht? Was tun?

  • Moin,
    versuche über eine Aktion ein Feld zu füllen:


    Code
    @SetField("status";"verliehen");


    Jedoch scheint die @Setfield funktion nicht vom Web unterstützt zu werden.


    Kann ich das irgendwie anders realisieren...?


    Gruß :-?

  • hi,
    er führt folgendes aus... oder auch nicht ;)


    <code>
    @Command([EditDocument]);
    @SetField("status";"verliehen");
    @Command([FileSave]);
    @Command([FileCloseWindow]);</code>


    wenn ich nach dem speichern refreshe hat er es nicht übernommen.


    im notes funktioniert das ganze.

  • Wenn Du das FileCloseWindow weglaesst, wird bei mir der Feldwert sofort gesetzt. ansonsten muss ich das Dokument erst neu oeffnen um die Aenderung zu sehen.

  • Zitat

    HTTP Web Server: Lotus Notes Exception - @Function is not valid in this context


    die Fehlermeldung von Firefox. Also ich habe die Maske zum lesen geöffnet und klicke dann auch die Aktionsschaltfläche.


    ***EDIT***
    Hab grad nochmal mit meinem Ausbilder gesprochen. Er meinte, ich solle den Code


    @Command([EditDocument]);
    @SetField("status";"verliehen");
    @Command([FileSave]);



    in einen Agenten packen und den Agenten auf dem Server aufrufen, weil der Browser das @SetField nicht unterstützt.


    agt_verleihen_web:
    @Command([EditDocument]);
    @SetField("status";"verliehen");
    @Command([FileSave]);


    Die Aktionsschaltfläche führt folgendes aus:
    @Command([ToolsRunMacro]; "agt_verleihen_web")



    jedoch klappt das auch nicht:


    Zitat

    Error 500: HTTP Web Server: Lotus Notes Exception - Unsupported trigger and search in the background or embedded agent

  • hmm,
    es kommt zumindest keine fehlermeldung mehr.


    aber funktionieren tut das ganze immer noch nciht so recht.
    ich will mit dem agenten folgendes machen:


    FIELD verleihdatum := verleihdatum;
    FIELD verleiher := verleiher;
    FIELD id_ausleihvorgang := id_ausleihvorgang;
    FIELD status := status;
    FIELD rueckgabedatum := rueckgabedatum;


    @Command([EditDocument]);
    @SetField("status";"verliehen");
    @SetField("verleihdatum";@Text(@Now));
    @SetField("verleiher";@Name([CN];@UserName));
    @SetField("id_ausleihvorgang";vorgangsnummer);
    Select @All;



    Er soll quasi in den Bearbeitungsmodus gehen, die Felder umändern und gut ist. Die Felder ändert er, jedoch geht er nicht in den Bearbeitungsmodus, sodass ich die änderung nicht speichern kann (speichern button nur, wenn dokument im bearbeitungsmodus...)

  • scheinbar kann er niciht in den editiermodus gehen und gleichzeitig feldwerte setzen.


    habe jetzt 2 button von gemacht. einer hat die funktion bearbeiten und einer hat die funktion feldwerte füllen.


    thx

  • Es gibt eine Maskeneigenschaft mit der man das Dokument direkt in den Editiermodus setzen kann, vielleicht ist das was? Dann hast du jedenfalls einen Button gespart ;)
    Darf der User das Dokument nicht bearbeiten, kommt dennoch keine Fehlermeldung...

  • das ist die Lösung ;)


    by http://www.atnotes.de:


    Zur Klärung:
    Berechnete Felder werden im Web als Text dargestellt und nicht als <input>.
    Wenn Du das Quellfeld im Web ausblendest über die HideWhen properties, so wird das Feld nicht ins Web gerendert ( ausser im Formular ist angehakt, dass alle Felder im Web verfügbar sind ).


    Wenn das Feld nicht als <input> gerendert wird, wird es beim Submit natürlich auch nicht mitgeliefert.


    Möglichkeit 1:
    Du versteckst das Feld via CSS - Style : { display:none;}


    Als Durchganshtml müsste dann bei value="field_1" das Feld stehen oder ein Computed Text, welcher den Wert von field_1 berechnet.


    Möglichkeit 2:
    Du verwendest anstatt eines Agenten, Javascript um das Feld zu ändern.