Domino 9 und frühere Versionen > Entwicklung
Notes-DB inm WEB --> Dateneingabe / Werteübergabe
Rob Green:
nicht ganz Feldvererbung wie typischerweise im klass. HTML die Weitergabe von Variablen in der URL, da Notes in der URL nur die Doc-ID des ParentDocs benötigt. Der Rest - also Zugriff auf die Feldinhalte des ParentDocs - läuft Dominoseitig intern ab. Dazu braucht man eben keine Feldinhalte in der URL weiterzugeben.
mastertom:
Jetzt hab ich mir nen Wolf probiert und stehe noch immer auf der Leitung: Ich beschreib mal:
a) Dokument mit Feldwerten befüllen
b) Andere Form geöffnet mit folgendem Code:
@Command([FileSave]);
UNID:=@Text(@DocumentUniqueID );
@URLOpen("/"+@ReplaceSubstring(@Subset(@DbName; -1);" ";"+")+"/HTML4?OpenForm&UNID="+UNID)
c:) Das Zieldokument ist so programmiert, dass es die Feldwerte vom aufrufenden Dokument übernimmt, im Notes klappt die Übernahme auch
-------------------------
Was passiert:
1) Feld im Zieldokument wird nicht wie in Notes befüllt (sollte das funktionieren???)
---------------------
Was kann ich machen?
Mit welchem Code kann ich im WebQueryOpen des Zieldokumentes auf das Ursprungsdokument und deren Felder verweisen? Bitte ein kurzer Beispielcode...
Sorry für mein "Nichtverstehen" ... und das am Wochenende ::)
Rob Green:
Vergleich das mal bitte ganz genau mit der unteren Kochanleitung vaD dem letzten Teil bzgl. der Feldformeln UND achte darauf als Paremeter "PARENTUNID=" zu verwenden...das ist nicht zu ersetzen durch "Rumpelstilzchen", sondern ein feststehender Begriff, mit dem Domino angewiesen wird, Werte zu übernehmen.
ParentUNID = EindeutigeIDNummer
wobei EindeutigeIDNummer die Dokument-ID des übergeordneten Dokuments ist, die in Antwortmasken verwendet wird, oder wenn die Maskeneigenschaft "Formeln übernehmen Werte aus gewähltem Dokument" ausgewählt ist.
Syntax
http://Host/Datenbank/MaskenUniverselleID?OpenForm&ParentUNID
Beispiel
http://www.quecksilber.com/produkte.nsf/40aa91d55cle4c8285256363004dc9e0?OpenForm&ParentUNID=6bc72a92613fd6bf852563de001f1a25
UND
Felder erstellen, die Werte übernehmen
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, muß ein berechnetes Feld sein, das unter oder rechts neben dem Feld plaziert wird, aus dem es den Wert übernimmt. Verwenden Sie den Namen des Feldes, dessen Wert verwendet werden soll, als Wert für die Feldformel. In der Maske selbst muß die Eigenschaft "Feldwerte übernehmen" nicht eingestellt sein. Um den Feldwert von einer anderen Maske zu übernehmen, muß der Benutzer eines Notes Clients diese Maske auswählen, und ein Web-Benutzer muß die Maske öffnen oder im URL-Befehl, zum Beispiel http://server/db.nsf/InheritanceForm?OpenForm&ParentUNID=6b87e303374b19148525639a00506656, darauf verweisen.
So erstellen Sie ein Feld, das Werte aus anderen Dokumenten übernimmt
Erstellen Sie Felder, die Informationen von einem anderen Dokument übernehmen, um Benutzern unnötige Eingaben zu ersparen oder zusammengehörige Dokumente konsistent zu halten. Öffnen Sie die Maske.
1. Wählen Sie "Gestaltung - Eigenschaften: Maske".
2. (Optional) Um Endbenutzern das Hauptdokument in der Dokumentvorschau des Notes Clients anzuzeigen, klicken Sie auf das Register "Vorgaben", wählen Sie "Beim Öffnen: Kontextfenster anzeigen" und anschließend "Hauptdokument".
3. Wählen Sie "Beim Erstellen: Formeln übernehmen Werte aus gewähltem Dokument".
4. Erstellen Sie die Felder, die Werte übernehmen sollten.
5. Schreiben Sie einen Standardwert oder eine Feldberechnungsformel für jedes Feld, das den Feldnamen des Hauptdokuments als Wert verwendet. Um z. B. den Wert des Feldes "VollstName" zu übernehmen, benutzen Sie "VollstName" als Formel in dem Feld, das den Wert übernimmt.
Beispiel: Adreßinformationen übernehmen
In einer Kundenkontakt-Anwendung werden Informationen in einer Briefmaske durch Übernahme aus einem Firmenprofil-Dokument kopiert. Das Firmenprofil enthält außer dem Namen und Adreßfeldern ein verborgenes Feld namens "VollstName". Die Brief-Maske übernimmt die Werte für den Namen und die Adreßfelder für den Adreßblock und benutzt das Feld "VollstName" für die Grußformel.
Wenn der Benutzer eines Notes Clients ein Firmenprofil markiert und "Erstellen Brief" wählt, sind im Brief bereits der Name und die Adresse des Empfängers sowie die korrekte Grußformel enthalten.
Wenn Web-Benutzer das Firmenprofil-Dokument öffnen und auf eine Schaltfläche klicken, um einen Brief zu erstellen, sind im Brief bereits der Name und die Adresse des Empfängers sowie die korrekte Grußformel enthalten.
mastertom:
Jetzt hat es geklappt... mein Fehler war wirklich die UNID anstelle der ParentUNID zu übergeben!! JEtzt bin ich 1000 Schritte weiter!
Vielen Dank!!!!
mastertom:
Das Einzige Problem sehe ich allerdings, dass das aufrufende Dokument zwingend eine DocID besitzten muss.. also bereits abgespeichert sein muss.
Was mache ich, wenn ich ein Dokument (z.B. via Navigator) aufrufe und gleich mit Werten belegen möchte? Muss ich dann doch eher wieder über die "Krücke" Java Scirpt gehen?
Navigation
[0] Themen-Index
[*] Vorherige Sete
Zur normalen Ansicht wechseln