Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: ERVO am 28.07.05 - 15:23:54

Titel: DocumentUniqueID
Beitrag 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
Titel: Re: DocumentUniqueID
Beitrag von: hampa am 28.07.05 - 15:33:35
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
Titel: Re: DocumentUniqueID
Beitrag von: ERVO am 28.07.05 - 15:47:07
Das Problem liegt in der Speicherung der UNID des Kundendokuments im Dokument "Auftrag".
Titel: Re: DocumentUniqueID
Beitrag von: klaussal am 28.07.05 - 15:51:44
Sieh doch mal in der Hilfe nach unter "Werte übernehmen".

Auszug:
Zitat
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.
Titel: Re: DocumentUniqueID
Beitrag von: hampa am 28.07.05 - 15:57:01
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

Zitat
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
Titel: Re: DocumentUniqueID
Beitrag von: ERVO am 28.07.05 - 17:56:52
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.
Titel: Re: DocumentUniqueID
Beitrag von: koehlerbv am 28.07.05 - 18:19:17
Warum schreibst Du Dir eigentlichen keinen Agent, der für alle Kunden-Dokumente ohne UNID eben diese nachträgt ?

Bernhard
Titel: Re: DocumentUniqueID
Beitrag von: ERVO am 29.07.05 - 17:14:10
mit dem agenten isses am einfachsten, schon erledigt  :)

Danke an alle Beteiligten