Das Notes Forum
Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: ERVO am 28.07.05 - 15:23:54
-
Hallo Forum,
ich habe eine Maske für Kunden und möchte aus diesen Kundendokumenten jetzt mit einer Maske "Aufträge" neue Dokumente erstellen. Da ich keine Antwort-Dokumente verwenden möchte, hätte ich darin gern ein Feld mit der ID des Kundendokuments, um auf das Kundendokument zugreifen zu können.
Das geht auch wenn ich der Maske "Kunde" das Feld "Id" versteckt beim Erstellen berechnen lasse und die Werte übernehmen lasse. Wenn man es beim Anzeigen berechnen lässt, geht es leider nicht. :-:
Aber nun hab ich schon eine grössere Datenbasis und möchte gern, dass das auch mit den 'alten' Dokumenten geht. Da es im Web laufen soll, kann ich LotusScript mit PostOpen nicht nehmen.
Und weitere Ideen hab ich nicht
Grüsse Eric
-
Allo ERVO
Wo liegt jetzt genau Dein Problem? Weisst Du nicht, wie Du auf die bestehenden Dokumente die ID bekommst? Oder habe ich da was falsch verstanden?
Gruss Hampa
-
Das Problem liegt in der Speicherung der UNID des Kundendokuments im Dokument "Auftrag".
-
Sieh doch mal in der Hilfe nach unter "Werte übernehmen".
Auszug:
Ein Feld kann Werte aus einem anderen Dokument derselben Datenbank oder aus einem anderen Feld derselben Maske übernehmen. Ein Feld, das einen Wert von einem Feld in derselben Maske übernimmt, muss ein berechnetes Feld sein, das unter oder rechts
Dh. : in dem Ursprungsdoc ein Feld mit der UNID anlegen und das andere Doc übernimmt dann diesen Inhalt.
-
Hallo ERVO
Also. Platziere auf dem Form Aufträge Ebenfalls ein Feld mit der Bezeichen zB. "KundeUNID". Als DefaultValue nimmst Du die Bezeichnung "UNID" also den Namen des Feldes vom Kunden-Form.
Setze beim Auftrags-Dokument das Häkchen. "Formulas inherit values from selected document".
Jetzt erstellst du, z.B. mit JavaScript aus dem Kunden-Dokument heraus das Auftrags-Dokument. Das sieht dann etwas so aus.
http://www.mercury.com/products.nsf/Auftrag?OpenForm&ParentUNID=6bc72a92613fd6bf852563de001f1a25
ParentUNID = UniqueIDNumber
Where UniqueIDNumber is the document ID of the parent document, which is used in response forms or when the form property "Formulas inherit values from selected document" is selected.
Gruss Hampa
-
Also mein Problem ist nicht ganz rausgekommen. Wie man grundsätzlich Werte übernimmt weis ich, das funktioniert auch. Mit einer Schaltfläche und Formel.
Aber: Ich habe die Maske Kunden um das Feld UNID erweitert, aber alle alten Dokumente haben, dort natürlich keinen Wert drin, weil´s das Feld zum Zeitpunkt der Erstellung nicht gab.
Da hab ich mir gedacht, lassen wir den Wert doch zum Zeitpunkt des Anzeigens berechnen. Das geht aber nicht, ich vermute solche Felder werden gar nicht in der DB gespeichert.
Nächster Gedanke: In der Formel der Schaltfläche vor @Command([Compose];"Auftrag") mit @SetField("Id"; @DocumentUniqueID) und @Command([FileSave]) das Feld korrekt zu füllen. Warum das nicht geht weis ich nicht.
-
Warum schreibst Du Dir eigentlichen keinen Agent, der für alle Kunden-Dokumente ohne UNID eben diese nachträgt ?
Bernhard
-
mit dem agenten isses am einfachsten, schon erledigt :)
Danke an alle Beteiligten