Autor Thema: Notesdokument mit window.open nicht mit der Vorgabemaske der Datenbank öffnen  (Gelesen 2677 mal)

Offline thomas_k

  • Junior Mitglied
  • **
  • Beiträge: 59
Hallo miteinander,

zurzeit lässt mich ein Problem ziemlich verzweifeln und im Internet finde ich auch keine Lösung zu meinem Problem :-:

In einer XPage verwende ich den Befehl "window.open(...)", um mithilfe der URL von Notesdokumenten eben eines dieser Dokumente im Notesclient öffnen zu können. Dieses Dokument wurde davor von mir in einer SSJS-Funktion erstellt und einige Felder automatisch mit Werten befüllt.
Das heißt, der User klickt auf einen Button, im Hintergrund wird das Dokument in einer anderen Datenbank erstellt und öffnet sich im NotesClient in der alten Notesmaske.
Jedoch werden so alle Dokumente mit der Vorgabemaske der jeweiligen Notesdatenbank geöffnet. Blöderweise gibt's in vielen Datenbanken mehrere Masken und jedes Dokument soll natürlich in der passenden Maske angezeigt werden.

Daher meine Frage: Habe ich mit window.open die Möglichkeit, eine Maske mitzugeben, in welcher das Dokument geöffnet werden muss?
Wenn nein, fällt hier irgendjemanden eine andere Lösung ein?

Vielen Dank schon mal im Voraus!

LG Thomas
« Letzte Änderung: 13.09.17 - 09:41:21 von thomas_k »

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Ist in den erstellten Dokumenten das Feld "Form" gefüllt?

Offline thomas_k

  • Junior Mitglied
  • **
  • Beiträge: 59
Ja, das Feld Form hätte ich hier immer mit dem Namen der Notesmaske befüllt. Jedoch werden die Dokumente trotzdem mit der Vorgabemaske geöffnet

Offline ronka

  • Senior Mitglied
  • ****
  • Beiträge: 377
  • Was macht der hier denn, muß der überall sein ?
    • das nächste DominoCamp kommt in Juni 2023
Wenn es VIELE Masken gibt wäre es keine Lösung, aber wenn es nur wenige gibt kannst du es vielleicht über einen Ansicht mit Masken formel machen.
Sprich den Notes:// url mit den Ansicht zusammen erstellen, und damit über den Ansicht das versuchen.
das neueste von Notes und Domino auf den DominoCamp vom 19 bis 21 Juni 2023 auf www.DominoCamp.de

Offline thomas_k

  • Junior Mitglied
  • **
  • Beiträge: 59
Danke für den Vorschlag, aber leider verstehe ich das nicht ganz.
Kannst du mir das genauer oder anhand eines Beispiels erklären?

Offline ronka

  • Senior Mitglied
  • ****
  • Beiträge: 377
  • Was macht der hier denn, muß der überall sein ?
    • das nächste DominoCamp kommt in Juni 2023
in dein URL der du mit window.open und notes url öffnest steht doch neben den Datenbank und das dokument auch ein verweiss auf einen Ansicht.

Wahrscheinlich /0/, wenn du dort den Ansicht rein machst, dann könnte dort den Maskenformel in den Ansicht verwenden.

Der "Normale" URL wäre es ja notes://Server/pfad/Datenbank/Ansicht/Dokument

beim lokale Datenbank damit notes:///pfad/Datenbank/Ansicht/Dokument
das neueste von Notes und Domino auf den DominoCamp vom 19 bis 21 Juni 2023 auf www.DominoCamp.de

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.873
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
WENN Du das Feld "Form" korrekt befüllt hast, dann musst Du solche Stunts nicht machen... Bitte poste uns mal den Code, mit dem Du das Dokument erstellst (inklusive der Form- Zuweisung) und dann einen Screenshot Deiner Masken- Übersicht, der die fragliche Maske zeigt.
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Offline thomas_k

  • Junior Mitglied
  • **
  • Beiträge: 59
Das ganze soll bei einem Klick auf einem Button passieren.
Also führe ich beim onClick-Event des Buttons folgendes aus:

var doc = createMaildoc()
view.postScript("window.open('notes:///Datenbank/Ansicht/"+doc.getUniversalID()+"?EditDocument')")



createMaildoc ist eine selbsterstellte Funktion in einem Server-Javascript-Library:

function createMaildoc()
{
   var db:NotesDatabase = session.getDatabase(...);
   var doc = db.createDocument();
   doc.Doc_Name = "Mail";
   doc.Form = "Mail";
   setfields(doc);
   doc.save();
   return doc;

}


In der Funktion setfields werden einige versteckte Felder automatisch befüllt


Offline thomas_k

  • Junior Mitglied
  • **
  • Beiträge: 59
Manchmal denkt man wohl bei einer Fehlersuche zu kompliziert ;D :P
Der Fehler war wohl zu einfach und offensichtlich, um ihn selbst zu finden...

Ich muss natürlich die Felder(und auch das Feld "Form) mit appendItemValue befüllen, dann funktionierts.

Das ist mir jetzt zwar ein bisschen peinlich, aber ich bedanke mich trotzdem bei euch allen für eure Hilfe  ;)

LG

Offline ronka

  • Senior Mitglied
  • ****
  • Beiträge: 377
  • Was macht der hier denn, muß der überall sein ?
    • das nächste DominoCamp kommt in Juni 2023
Hmm, das bedeutet also das den erstellen Dokument (vorher) den feld Form überhaupt nicht hatte ?

Und deshalb mit den Vorgabemaske gezeigt würde ?
das neueste von Notes und Domino auf den DominoCamp vom 19 bis 21 Juni 2023 auf www.DominoCamp.de

Offline thomas_k

  • Junior Mitglied
  • **
  • Beiträge: 59
Genauso würd ich mir das auch erklären, ja.

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz