Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: JD am 29.11.02 - 10:53:37
-
So mal wieder was neues von mir ;D
Wenn ich per Javaagent ein Dokument erstelle ist das ja per Backend erzeugt, wenn dieses Dokument nun aber im CLient angeschaut werden soll findet er keine Makse dazu, auch klar.
Man müsste nun ein Feld Form übergeben mit dem namen einer Maske.
Was passiert aber jetzt wenn ich z.B. in der Maske 4 Richtextfelder befüllen will, beim erstellen der Maske aber nur 2 angelegt habe???
Kann ich per Backend in der Maske die zwei neuen Richtextfelder erzeugen oder ist das unmöglich??
-
mit LotusScript geht das, ob's mit Java geht??
Ausserdem gibt's in LotusScript noch die Möglichkeit, dem Dokument eine Form zuzuweisen und sie berechnen lassen (ComputeWithForm).
Aber in Java?
Was machst Du denn da mit Java? Wieso eigentlich Java? (nur der Neugierde wegen, habe mich noch nicht rangetraut.)
-
Hihi die ComputeWithForm methode gibbet auch in Java, habe ich gesehen, aber wie müsste ich jetzt vorgehen???
Java, weil ich das in der Uni gelernt habe unabhängig von Notes und die Syntax mir geläufiger ist als von Lotus Script. Habe halt knallhart Objektorientiert angefangen und hatte vorher keine VB Erfahrung etc. Schade ist halt nur, das man nur Backend coden kann, aber prinzipiel kann man ja auch den awt dazu nutzen.
-
kopiert aus Hilfe-DB... sieht aber fast gleich aus wie die LS Variante. Da wird das Feld Form neu gesetzt mit dem Maskennamen und dann kommt später mal "computewithform".
import lotus.domino.*;
public class JavaAgent extends AgentBase {
public void NotesMain() {
try {
Session session = getSession();
AgentContext agentContext = session.getAgentContext();
// (Your code goes here)
Database db = agentContext.getCurrentDatabase();
Document doc = db.createDocument();
doc.replaceItemValue("Form", "Main Topic");
// doc.replaceItemValue("Subject", "Subject of document");
doc.replaceItemValue("Body", "Text of document.");
if (doc.computeWithForm(false, false)) {
System.out.println("Saving document ...");
doc.save(true, true); }
else
System.out.println("Document not saved ...
no subject");
} catch(Exception e) {
e.printStackTrace();
}
}
}
-
Hmmmm wenn ich jetzt dem Dokument eine Maske zuweise geht das, aber allerdings nur mit feldern die in der maske schon definiert sind, mit welcher methode kann ich in masken felder hinzufügen???
Das er halt bei Bedarf zwei Richtextfelder der maske hinzufügt wenn es vom agenten ausgeht.
-
Habe das jetzt umgangen, ich erzeuge einfach Richtextfelder die nicht angezeigt werden und füge diese an ein bestehendes Richtextfeld an. So geht das dann 8) *freu*
Aber ich glaube computeWithForm speichert nur die dokumente mit den informationen der "neuen" Maske nicht umgekehrt.
Also die Informationen des neuen Dokumentes in die Maske.
Sollte es die Möglichkeit in die andere Richtung geben, bitte bescheid sagen ;)