Autor Thema: Werte an neues Dokument übergeben  (Gelesen 2526 mal)

Offline gschmid

  • Frischling
  • *
  • Beiträge: 16
Werte an neues Dokument übergeben
« am: 05.08.05 - 15:57:45 »
Hallo zusammen,

wie übergebe ich eigentlich am geschicktesten Werte an ein neues Dokument, das ich von einem anderen aus erzeuge (mit @Command([Compose]...)?
Ich habe mir jetzt mal mit Umgebungsvariablen beholfen (@Environment), aber das geht sicherlich auch eleganter, oder?

Danke,
Gunnar

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Werte an neues Dokument übergeben
« Antwort #1 am: 05.08.05 - 16:05:59 »
Das Environment ist hier ganz schlecht - das müllt die NOTES.INI zu.

Die einfachste (und natürlich auch eingeschränkteste) Variante ist die Maskenproperty "Felder übernehmen Werte aus gewähltem Dokument". Hierfür dann in den Feldern die Feldnamen des Dokuments, das gewählt wurde, oder Formeln, die sich darauf beziehen, einsetzen.

HTH,
Bernhard

Offline gschmid

  • Frischling
  • *
  • Beiträge: 16
Re: Werte an neues Dokument übergeben
« Antwort #2 am: 05.08.05 - 16:20:44 »
Zunächst mal danke für die schnelle Antwort!

Das heißt dann aber, dass das neue Dokument wissen muss, wie die Felder im aufrufenden Dokument heißen, oder?


Umgebungsvariable war nur Behelfslösung, ist schon klar.

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Werte an neues Dokument übergeben
« Antwort #3 am: 05.08.05 - 16:29:01 »
Das heißt dann aber, dass das neue Dokument wissen muss, wie die Felder im aufrufenden Dokument heißen, oder?

Ja, sicher  ;) Du musst das ja auch wissen, sonst funktioniert das Ganze ja sowieso nicht.

Du kannst das Ganze natürlich auch mit LS machen und eine Routine in einer ScriptLib dafür verwenden: Aus gewähltem Dokument Itemwerte merken, neues Dokument erzeugen mit den erforderlichen Feldern, dann mit den gemerkten Werten die gewünschten Zielitems belegen und das neue Dokument FrontEnd öffnen. So mache ich das in der Regel, wenn mir (wie meist bei solchen Sachen) @functions nicht ausreichen.

Bernhard

Offline gschmid

  • Frischling
  • *
  • Beiträge: 16
Re: Werte an neues Dokument übergeben
« Antwort #4 am: 05.08.05 - 17:30:08 »
Nunja, wenn ich jetzt ein Dokument aus verschiedenen anderen Masken heraus erstellen können möchte, müssten die Felder dann auch noch alle gleich heißen - schon ziemlich lästig, oder?
Ich hätte mir halt gewünscht, dass man einem Compose-Command einfach Parameter als Name-Value-Paare mitgeben kann, die das so erzeugte Dokument dann verwenden kann, wenn es will.

Aber gut, dann bastel ich mal weiter...

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Werte an neues Dokument übergeben
« Antwort #5 am: 05.08.05 - 17:39:49 »
Nunja, wenn ich jetzt ein Dokument aus verschiedenen anderen Masken heraus erstellen können möchte, müssten die Felder dann auch noch alle gleich heißen - schon ziemlich lästig, oder?

Das wäre in der Regel guter Stil, wenn "gleiche" Felder auch gleiche Namen tragen und ist eigentlich best practices. Ich finde das alles andere als lästig, besonders, wenn ich gleiche Inhalte aus unterschiedlichen Dokumenttypen in einer Ansicht darstellen will.

Ich hätte mir halt gewünscht, dass man einem Compose-Command einfach Parameter als Name-Value-Paare mitgeben kann, die das so erzeugte Dokument dann verwenden kann, wenn es will.

Compose mit Parametern ist nicht. Und Du stehst da ja wieder vor exakt dem gleichen Problem: Du musst nach Deiner "nicht lästigen" Vorgehensweise jeweils andere Parameter wegen unterschiedlichen Feldnamen übergeben. Abgsehen davon, kannst Du diese Abfragen ja immer noch im neu erstellten Dokument vornehmen.
Gerade für sowas ist aber LS besser - da kannst Du Dir ja Dein eigenes "Compose" erstellen als Function.

Das prinzipielle Design Deiner Applikation scheinst Du Dir aber nochmal überlegen zu müssen.

Bernhard


Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: Werte an neues Dokument übergeben
« Antwort #6 am: 05.08.05 - 18:56:13 »
Es spricht wirklich nichts dagegen hier ein kleines Skript zu erstellen.
Code
' Pseudocode als billigVersion. 
'Nicht getestet. 
' kann der eine oder andere "missclick" (wie ich als Internet Go Spieler sagen würde) drin sein. So ähnlich wie Tippfehler
' Views, Variablennamen, etc. anpassen! 
on error goto Fehler
Dim s as new NotesSession
Dim db as Notesdatabase
Dim vw As NotesView
Dim docVonDemGelesen as NotesDocument 'besseren Variablenbezeichner, please
Dim docNew As NotesDocument
Dim uiws as new NotesUiWorkspace
Dim uidoc As NotesUidocument

set db = s.currentDatabase
set vw = db.getView("viewWoDokumentAusDemGelesen")
set docAusDemGelesen = vw.getDocumentByKey("WertUmDokumentInAnsichtZuFindenErsteSpalteSortiert")
set docNew = db.createDocument
docNew.Form ="MaskennameDesZuErzeugendenDokuments" ' vergisst man leicht
docNew.DeinFeld = docAusDemGelesen.FeldInDokumentAusDemGelesen(0)
set uiws = new NotesUiWorkspace
call uiws.editDocument (true, docNew, false)


undWeg:
exit sub
Fehler: 
msgBox "Fehler hinter Schaltfläche: " & Error$ & "(" & Cstr(err) & ") in Zeile: " & Cstr(Erl)
goto undWeg

%rem
 Disclaimer: Hätte ich das für mich geschrieben wären da noch ein paar "most unexpected trick moves" (wie ich als Internet-Go-Spieler sage) drin, aber so ist es mehr 30-kyo-freundlich :-)
%end rem

Ist echt nicht so schwierig und kriegt man keine Pickel von.
LotusScript lehnt sich ja an Basic an und Basic wurde dafür erfunden, um es Anfängern einfach zu machen. Imho muss da nicht so rumgezetert werden. Ein bischen LotusScript ist nun wirklich nicht die Welt.
Axel
« Letzte Änderung: 05.08.05 - 19:01:47 von kennwort »
Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz