AtNotes Übersicht Willkommen Gast. Bitte einloggen oder registrieren.
26.05.12 - 10:56:45
Übersicht Hilfe Regeln Glossar Suche Einloggen Registrieren
News:
Schnellsuche:
+  Das Notes Forum
|-+  Lotus Notes / Domino 7
| |-+  ND7: Entwicklung (Moderatoren: eknori, Glombi, koehlerbv)
| | |-+  Neues Dokument über eine Maske o.ä. erstellen
« vorheriges nächstes »
Seiten: [1] 2 Nach unten Drucken
Autor Thema: Neues Dokument über eine Maske o.ä. erstellen  (Gelesen 1190 mal)
Marie
Gast
« am: 18.08.10 - 14:59:54 »

Hallo Leute,

ich habe eine Datenbank erstellt, mit der ich Angebote verwalte.
Bis jetzt habe ich die Dokumente mit Excel erstellt und dann als WK.3 importiert.
Jetzt möchte ich gerne die ohne Excel auskommen.

Die Datenbank läuft folgendermaßen.
In der Ansicht sind alle Angebote als Übersicht aufgelistet. Wenn ich nun mit Doppelklick auf ein Angebot gehe, dann öffnet sich eine Maske (Maske 1) in der alle wichtigen Details vorhanden sind.

Jetzt möchte ich über einen Button ein Neues Dokument erstellen.
Da in der Maske1 aber auch andere Daten und viel Text ist, möchte ich eine Eingabeform haben. Ich dachte an eine Maske (Maske2), muß es aber nicht unbedingt sein. So etwas wie in Excel eine Userform wärer super.

Wie gesagt, bis jetzt habe ich eine Maske2 genommen, wenn ich jetzt aberd en datensatz erstellt habe, dann taucht er auch in der Ansicht auf, sollte ich diesen jetzt aber anklicken, dann will ich ja wieder die Details in maske1 sehen, es öffnet sich aber Maske2...Huh

Hat vielleicht jemand eine Idee???

Lieben Gruß marie
Gespeichert
Axel
Moderatoren
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 8484


It's not a bug, it's Notes


« Antworten #1 am: 18.08.10 - 15:19:56 »

Wie gesagt, bis jetzt habe ich eine Maske2 genommen, wenn ich jetzt aberd en datensatz erstellt habe, dann taucht er auch in der Ansicht auf, sollte ich diesen jetzt aber anklicken, dann will ich ja wieder die Details in maske1 sehen, es öffnet sich aber Maske2...Huh

Das ist auch logisch, da das Dokument mit Maske 2 erstellt wurde.

Ansonsten verstehe ich leider im Moment nur Bahnhof, was du genau erreichen willst.

Willst du ein ganz neues Dokument erestellen oder nur Daten in ein bestehendes einfügen?

Beschreibe mal die Sache so genau wie möglich, damit es ein Außenstehender auf versteht.

Axel
 
Gespeichert

Ohne Computer wären wir noch lange nicht hinterm Mond!

Server: 6.5.x; 7.0.x; 8.5.1 auf Win2000/Win2003 (R2) 32/64bit
Clients: 6.5.x bis 8.5.1 dt. und engl. auf W2K und WinXP
Marie
Gast
« Antworten #2 am: 18.08.10 - 15:35:47 »

Hallo,

also, ich will nur ein neues Dokument erstellen, aber nicht mit der Maske1.

Ich möchte mit einer Userform oder Eingabemaske ein neues Dokument erstellen, welches in der Ansicht sichtbar ist, und dann die Details in Maske1 anzeigt.
Gespeichert
koehlerbv
Moderator
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 19053



« Antworten #3 am: 18.08.10 - 15:39:14 »

Da führen viele Wege nach Rom und sind vor allem davon abhängig, wie fit Du in der Notes-Programmierung bist: Nur Formelsprache, Anfänger oder fortgeschrittener LS-Coder?

Bernhard
Gespeichert
Marie
Gast
« Antworten #4 am: 18.08.10 - 15:55:09 »

Hallo Bernhard,

ich würde sagen ein Anfänger.

Klappt aber mit etwas übung schon recht gut...
Gespeichert
klauss
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 5141


.. ich liebe meinen Job...


WWW
« Antworten #5 am: 18.08.10 - 16:02:26 »

Anfänger(in) in Formel oder Script oder was ?
Gespeichert

klaus

Operative Hektik ist ein Zeichen von geistiger Windstille.
Die Klugen leben von den Dummen, die Dummen von der Arbeit.
Nur Kinder und einfache Leute mögen lebhafte Farben. (Goethe)
Männer sind primitiv, aber glücklich.
Frauen widerspricht man nicht - man wartet, bis sie es selbst tun.
Demokratie ist, wenn drei Wölfe und ein Schaf entscheiden, was
gefressen werden soll.
Marie
Gast
« Antworten #6 am: 18.08.10 - 16:13:06 »

...in script...
Gespeichert
koehlerbv
Moderator
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 19053



« Antworten #7 am: 18.08.10 - 16:18:25 »

Okay, was für den Anfänger: Du kannst im QueryClose Deiner Maske 2 das Item "Form", das ja die zu verwendende Maske bestimmt, umsetzen in "Maske 1":

If Source.Document.Form (0) = "Maske1" Then
    ....
End If

Achtung - Anfängerfalle: Du kannst das nicht im scheinbar naheliegenderen QuerySave machen - das ist dort unmöglich, da das Dokument noch rein vom Frontend gesteuert wird.

Die If-Abfrage erspart Dir ... okay, das kannst Du sicherlich selbst erkennen  Wink

Bernhard
Gespeichert
Peter Klett
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 1356



« Antworten #8 am: 18.08.10 - 16:22:46 »

Wenn ich das richtig verstehe, willst Du das Dokument mit der Maske2 erstellen, aber wenn es später gelesen werden soll, soll Maske1 verwendet werden. Korrekt?

Dann würde ich beim Schließen des Dokuments (sofern dann noch die Zugriffsrechte auf das Dokument bestehen) den Inhalt des Feldes Form in "Maske1" ändern, falls er noch "Maske2" ist.

-> Ok, Bernhard war schneller. Was machst Du mit späteren Änderungen des Dokuments? Wenn Du die Änderung im Queryclose vornimmst (da gehört sie hin), musst Du das Dokument auch noch speichern.
Gespeichert
Axel
Moderatoren
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 8484


It's not a bug, it's Notes


« Antworten #9 am: 18.08.10 - 16:25:32 »

Ich möchte mit einer Userform oder Eingabemaske ein neues Dokument erstellen, welches in der Ansicht sichtbar ist, und dann die Details in Maske1 anzeigt.

Ok. Sollen in der "Userform" alle Felder von Maske1 angezeigt werden oder nur ein paar? Wie komplex ist den Maske1 (Tabs, Tabellen, Abschnitte u. ä.)?

Axel
Gespeichert

Ohne Computer wären wir noch lange nicht hinterm Mond!

Server: 6.5.x; 7.0.x; 8.5.1 auf Win2000/Win2003 (R2) 32/64bit
Clients: 6.5.x bis 8.5.1 dt. und engl. auf W2K und WinXP
Marie
Gast
« Antworten #10 am: 18.08.10 - 16:28:16 »

also, anscheinend bin ich doch blutiger Anfänger.
Ich kann das noch nicht so ganz umsetzten.

Spätere Änderungen kann ich auch in Maske1 machen.

Ich will nur die erste Dateneingabe in Maske 2 erstellen (Es muß aber nicht zwingend eine Maske sein.

Der Umfang ist nicht so riesig. Es sind vielleicht insgesamt 25-30 Felder in die etwas eingetragen wird.
Gespeichert
Peter Klett
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 1356



« Antworten #11 am: 18.08.10 - 16:31:52 »

Es muß aber nicht zwingend eine Maske sein.
Doch
Gespeichert
TRO
Aktives Mitglied
***
Offline Offline

Beiträge: 235


« Antworten #12 am: 18.08.10 - 16:40:46 »

Ich will nur die erste Dateneingabe in Maske 2 erstellen (Es muß aber nicht zwingend eine Maske sein.

Dann packe in Maske2 ein verborgenes Feld mit dem Namen "Form" rein, berechnet, Formel "Maske1". Das ist alles. Spätestens beim Speichern wird dieses Feld neu berechnet und hat dann den Wert "Maske1". Keine Stunts mit QuerySave/QueryClose notwendig.

hth

Thomas
Gespeichert
Axel
Moderatoren
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 8484


It's not a bug, it's Notes


« Antworten #13 am: 18.08.10 - 16:47:24 »

Neben der von Bernhard aufgezeigten Möglichkeit, gibt's eine weitere. Die ist aber mit etwas mehr Aufwand verbunden, ist aber für einen Anfänger vielleicht etwas einfacher zu durchschauen.


Dim session As New NotesSession
Dim workspace As New NotesUIWorkspace
Dim db As NotesDatabase
Dim newdoc As NotesDocument
Dim dlgdoc As NotesDocument

Set db = session.CurrentDatabase
Set dlgdoc = New NotesDocument(db)

'Dialog anzeigen und wenn mit OK bestätigt wird neues Dokument mit Maske 1 angelegt.   
If workspace.DialogBox( "Maske2", True, True, False, False, False, False, "Neues Dokument", dlgdoc, True) Then

  'Neues Dokument mit Maske1 anlegen
  Set newdoc = New NotesDocument(db)
  newdoc.Form = "Maske1"
  
  'Daten aus den Dialogfeldern in die Felder der Maske 1 einfügen
  newdoc.Feldname_1 = dlgdoc.Feldname_aus_Dialog_1
  newdoc.Feldname_2 = dlgdoc.Feldname_aus_Dialog_2
...
  newdoc.Feldname_n = dlgdoc.Feldname_aus_Dialog_n

  'Neues Dokument speichern
  newdoc.Save(True, False)
End If

Axel
Gespeichert

Ohne Computer wären wir noch lange nicht hinterm Mond!

Server: 6.5.x; 7.0.x; 8.5.1 auf Win2000/Win2003 (R2) 32/64bit
Clients: 6.5.x bis 8.5.1 dt. und engl. auf W2K und WinXP
Marie
Gast
« Antworten #14 am: 18.08.10 - 16:52:54 »

Hallo Axel,

kann ich den Code als aktion über einen Button als Java Script starten?
Gespeichert
Marie
Gast
« Antworten #15 am: 18.08.10 - 16:56:03 »


    Re: Neues Dokument über eine Maske o.ä. erstellen
« Antworten #12 am: Heute um 16:40:46 »   

--------------------------------------------------------------------------------

Zitat von: Marie am Heute um 16:28:16
Ich will nur die erste Dateneingabe in Maske 2 erstellen (Es muß aber nicht zwingend eine Maske sein.


Dann packe in Maske2 ein verborgenes Feld mit dem Namen "Form" rein, berechnet, Formel "Maske1". Das ist alles. Spätestens beim Speichern wird dieses Feld neu berechnet und hat dann den Wert "Maske1". Keine Stunts mit QuerySave/QueryClose notwendig.

hth

Thomas
 
 
 
 
wenn ich dann ein Datensatz erstelle, dann erscheint er nicht mehr in der Ansicht!?!
Gespeichert
Marie
Gast
« Antworten #16 am: 18.08.10 - 16:57:36 »

 'Daten aus den Dialogfeldern in die Felder der Maske 1 einfügen
  newdoc.Feldname_1 = dlgdoc.Feldname_aus_Dialog_1
  newdoc.Feldname_2 = dlgdoc.Feldname_aus_Dialog_2
...
  newdoc.Feldname_n = dlgdoc.Feldname_aus_Dialog_n


Wenn in beiden Masken ein Feld "SFA-Nr" heißt, was muß ich denn dann hier eingeben?
Gespeichert
Axel
Moderatoren
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 8484


It's not a bug, it's Notes


« Antworten #17 am: 18.08.10 - 16:58:52 »

Hallo Axel,

kann ich den Code als aktion über einen Button als Java Script starten?

Als Aktion ja, aber nicht als JavaScript, sondern als LotusScript.

Der Code ist aber nur als Beispiel gedacht. Den musst du dir entsprechend anpassen.

Axel
 
Gespeichert

Ohne Computer wären wir noch lange nicht hinterm Mond!

Server: 6.5.x; 7.0.x; 8.5.1 auf Win2000/Win2003 (R2) 32/64bit
Clients: 6.5.x bis 8.5.1 dt. und engl. auf W2K und WinXP
Axel
Moderatoren
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 8484


It's not a bug, it's Notes


« Antworten #18 am: 18.08.10 - 17:00:34 »

Wenn in beiden Masken ein Feld "SFA-Nr" heißt, was muß ich denn dann hier eingeben?

...
newdoc.SFA-Nr = dlgdoc.SFA-Nr
...


Axel
Gespeichert

Ohne Computer wären wir noch lange nicht hinterm Mond!

Server: 6.5.x; 7.0.x; 8.5.1 auf Win2000/Win2003 (R2) 32/64bit
Clients: 6.5.x bis 8.5.1 dt. und engl. auf W2K und WinXP
koehlerbv
Moderator
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 19053



« Antworten #19 am: 18.08.10 - 17:29:55 »

Dann packe in Maske2 ein verborgenes Feld mit dem Namen "Form" rein, berechnet, Formel "Maske1". Das ist alles. Spätestens beim Speichern wird dieses Feld neu berechnet und hat dann den Wert "Maske1". Keine Stunts mit QuerySave/QueryClose notwendig.

Thomas, dieses Verfahren muss nicht unbedingt sicher sein. Aber wir sollten Marie jetzt nicht verunsichern, sie hat eh noch einen weiten Weg vor sich.

Benrhard
Gespeichert
Seiten: [1] 2 Nach oben Drucken 
« vorheriges nächstes »
Gehe zu:  


Einloggen mit Benutzername, Passwort und Sitzungslänge

Powered by MySQL Powered by PHP Powered by SMF 1.1.16 | SMF © 2006, Simple Machines Prüfe XHTML 1.0 Prüfe CSS
Impressum Atnotes.de - Powered by Syslords Solutions - Datenschutz | Partner: Tinte / Toner günstig