Autor Thema: Maske übernehmen  (Gelesen 9758 mal)

Offline animate

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.540
  • Uh, I'm just gonna go find a cash machine.
    • LA2
Re:Maske übernehmen
« Antwort #20 am: 04.01.04 - 18:47:15 »
yep.

aussteigen kannst du mit

Exit Sub
Thomas

Fortunately, I'm adhering to a pretty strict, uh, drug, uh, regimen to keep my mind, you know, uh, limber.

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re:Maske übernehmen
« Antwort #21 am: 05.01.04 - 10:54:16 »
Hi,

der Code im QuerySave-Event muss so aussehen:

Sub Querysave(Source As Notesuidocument, Continue As Variant)
 
  Dim session As New NotesSession
  Dim db As NotesDatabase
  Dim view As NotesView
  Dim doc As NotesDocument
  Dim docLookup As NotesDocument
  Dim strKey As String

  If Source.IsNewDoc = true Then 'Prüfen ob es sich um ein neues Dok. handelt. Wenn ja, dann erfolgt Prüfung
    set doc = Source.Document
    Set db = session.CurrentDatabase
    Set view = db.GetView( "doppelt" )  'Verweis auf Ansicht
 
    strKey = doc.Name(0) & ", " & doc.Vorname(0) 'Suchstring zusammensetzen

    Set docLookup = view.GetDocumentByKey( strKey, True )
    If Not (docLookup Is Nothing) Then
      Messagebox "Ein Kunde mit diesem Namen ist bereits vorhanden"
      Continue = False  'Speichern verhindern
    End If
  End If

End Sub

Es reicht die Abfrage If Source.IsNewDoc = true. Wenn diese Bedingung erfüllt ist, also es sich um ein neues Dokument handelt, wird die Prüfung durchgeführt. Bei einem bestehenden Dokument passiert nichts. Es wird nur gespeichert.


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

Offline TripleH

  • Frischling
  • *
  • Beiträge: 38
  • Ich liebe dieses Forum!
Re:Maske übernehmen
« Antwort #22 am: 09.01.04 - 14:28:54 »
Hallo!

Ich hab mal wieder ein kleines neues Prob.
Und zwar hab ich ja noch immer meine Kalkulationsmaske in der Kundendaten erfasst und berechnt werden.
Die Maske wir ja in der Ansicht "doppelt" gespeichert.
So und jetzt zu meinem Prob in einer anderen Maske hab ich einen Button "Neukunden"
und wenn ich auf den drücke möcht das sich eine Ansicht aufmacht in der nur die Kunden sind die neu angelegt
wurden(also neu angelegte Dokumente).
Ausserdem wenn dann die neuen Dokumente einmal aufgerufen habe sollen sie dann automatisch aus der Liste
gelöscht werden.
Wenn man dann einen auswählt aus der Liste der Neu Kunden sollen dann die Daten aus der Kalkulationsmaske
erscheinen.
Ich denk mal möglich ist es ja genau das gleiche Dokument aufzurufen welches welches als Kalkulationsmaske schon
mal abgespeichert wurde, aber ist es auch möglich das dann z.B. die ganzen Buttons wie "speichern"
die in der Kalkulationsmaske sind dort nicht mehr erscheinen?
Kennt jemand einen Weg wie ich das realisieren kann?
Würd mir echt helfen wenn ich einmal weiß wie das geht da ich das für weitere Masken so ähnlich
auch machen muss.

Danke euch.

Gruß


Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re:Maske übernehmen
« Antwort #23 am: 09.01.04 - 22:49:22 »
Zitat
Und zwar hab ich ja noch immer meine Kalkulationsmaske in der Kundendaten erfasst und berechnt werden.
Die Maske wir ja in der Ansicht "doppelt" gespeichert.
Die Maske wird NICHT in einer Ansicht gespeichert. Hab ich oben glaub ich schon mal erwähnt. Eine Maske kann nie in einer Ansicht 'gespeichert' werden, siehe oben.

Zitat
So und jetzt zu meinem Prob in einer anderen Maske hab ich einen Button "Neukunden"
und wenn ich auf den drücke möcht das sich eine Ansicht aufmacht in der nur die Kunden sind die neu angelegt
wurden(also neu angelegte Dokumente).
Wie definierst Du "neu angelegt" ? Über einen Status? Das solltest Du wohl tun.
Dazu ein Feld "Status" erstellen in der Maske, computed when composed. Sobald sich der Status ändert, setzt Du das Feld auf "Status 2", "neu angelegt", oder wie auch immer.
Dann eine View-Selection (Ansichtsauswahl) SELECT Status = "DEIN STATUS".

Zitat
Ausserdem wenn dann die neuen Dokumente einmal aufgerufen habe sollen sie dann automatisch aus der Liste gelöscht werden.
Was verstehst Du unter "aufgerufen", meinst Du, sobald das Dok dann also auch 'nur' gelesen wird? Dann brauchst Du einen Postopen-Event-Code, angepasst auf Dein Status-Feld.

Zitat
Wenn man dann einen auswählt aus der Liste der Neu Kunden sollen dann die Daten aus der Kalkulationsmaske
erscheinen.
"Wenn man dann....." Und wo rufst Du das exakt auf? In einem Listenfeld?

Zitat
Ich denk mal möglich ist es ja genau das gleiche Dokument aufzurufen welches welches als Kalkulationsmaske schon
mal abgespeichert wurde, aber ist es auch möglich das dann z.B. die ganzen Buttons wie "speichern" die in der Kalkulationsmaske sind dort nicht mehr erscheinen?
Verstehe ich nicht ganz Deine Logik. Also Buttons verbergen geht über die Verbergen-Wenn Eigenschaften. Dort platzierst Du die Formel Deiner Wahl.

Mal ein persönlicher Rat von mir:

Sagen Dir überhaupt die Begriffe
 - berechnet beim Anlegen / computed when composed
 - View-Selection (Ansichtsauswahl)
 - Postopen
 - Listenfeld
was?

Ich befürchte nicht.
Mein Rat ist, dass Du Dir erstmal ein Einsteiger-Buch zu R5 kaufst, z.B. "Domino Designer R5 Anwendungsentwicklung mit Lotus Notes von Raimund Mann", siehe www.amazon.de

Das Buch arbeitest Du dann durch, und danach startest Du mal mit einer simplen Eigenentwicklung.

Ich habe nämlich stark das Gefühl, dass Du jetzt mit Zwang versuchst, eine Notes-DB zu entwickeln, ohne elementare Hintergründe zu kennen. Aber diese Hintergründe musst Du kennen, da kann Dir auch kein Forum helfen.

Meinen Rat, auch mal http://www.nsftools.com/misc/WhatIsNotes.htm durchzulesen, bist Du scheinbar nicht gefolgt, siehe Deine Aussage zu "Maske in Ansicht speichern". Wenn Du englisch nicht so gut kannst ist das auch kein Problem: umso mehr empfehle ich, dass Du Dir ein deutschsprachiges Einsteiger-Buch kaufst.

Sollte Dein Auftraggeber (Chef, oder wer auch immer) Druck auf Dich machen, dass Du was entwickeln musst binnen x Tage: erkläre die Situation. Notes ist keinesfalls mit Trial&Error ohne Vorkenntnisse, ohne Literatur etc. zu erlernen. Selbst ein Quereinsteiger mit viel Programmiererfahrung in anderen Sprachen muss sich erstmal mit den Notes-Eigenarten beschäftigen, vorher geht gar nichts.
Ich habe das Gefühl, Du bist zwar ehrgeizig (oder jemand macht Dir den Druck), hier was zu entwickeln auf die Schnelle, aber imo fehlen Dir einfach die Hintergründe.

Fazit: Brich bitte Dein Notes-Projekt ab, sag dem Auftraggebr Bescheid, und nimm Dir Zeit Notes kennenzulernen. Das wird mit Sicherheit belohnt; vielleicht nicht kurzfristig (Chef sauer etc.), aber spätestens mittelfristig. Du erkennst dann die Zusammenhänge, Eigenarten etc., und dann packt Dich der "Notes-Virus" und willst nur fast nur noch unter Notes entwickeln :-)

TMC
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Maske übernehmen
« Antwort #24 am: 09.01.04 - 23:19:45 »
Gut gebrüllt, TMC-Löwe.
@TripleH: Lotus Notes / Domino ist was für Profis. Denen, die sich dahin entwicklen wollen, sind wir gerne und uneigengenützig behilflich. Wenn Du also vorwärts kommen willst in diesem Umfeld: Befolge TMC's Rat und bleibe dann mit Deinen Fragen in diesem Forum.

Bernhard

PS: An "Paris-Dakar" darf man auch nicht gleich teilnehmen, nur weil man schon mal ein Auto aus der Garage gefahren hat, ohne sich dabei einen Spiegel abzureissen.

PSS: Die Aufgabenstellung Deines "Projektes" tönt eher danach, dass Notes vielleicht nicht gerade die Plattform der Wahl sein muss. Gehen tut das (definitiv), aber hier muss man offensichtlich Notes etwas beibringen, wozu es eigentlich nicht erschaffen wurde. Und hierzu erfordert es professionelles Notes-Knowhow. Genau diese augenscheinlich fehlende Überlegung ist Euer Problem.

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re:Maske übernehmen
« Antwort #25 am: 09.01.04 - 23:27:42 »
Noch ein Nachtrag:
TripleH, ich will Dich hier in keinster Weise aus dem Forum vertreiben, wir werden Dich weiterhin unterstützen, nur bringt es uns beiderseits sehr viel weiter, wenn Du Dich vorab mit dem Thema auseinandersetzt und dann Fragen stellst. Da können wir einfach viel besser helfen   :)

Also viel Erfolg.

Matthias
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline TripleH

  • Frischling
  • *
  • Beiträge: 38
  • Ich liebe dieses Forum!
Re:Maske übernehmen
« Antwort #26 am: 10.01.04 - 00:06:04 »
Hallo!
ich weiß ich stell zum Teil dumme Fragen.
Ich bin euch überaus dankbar das ihr mich ertragt.
Ja ich versuche mit Zwang ein Projekt  das mir zur Zeit ein bicßeh zu groß ist aber mit dem ich auch versuch zu lernen arbeite.
Leider hab ich nur 2 wochen für das Projekt so das ich noch nicht alles über Notes weiß. Ziel des Projektes ist es auch nicht das alles 100% läuft aber leider bin ich ein perfetionist.
Ich probiere Tag täglich und lese enorm viel zu den Themen.
Ein Buch hab ich schon bestellt da ich auch nach dem Projekt mich weiter mit Notes beschäftigen möcht um es irgendwann mal annähernd mal so gut wie ihr zu beherrschen:)
Ich hoffe ihr versthet die Hintergründe da ich auch eurer Meinung .
MFG Basti


Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re:Maske übernehmen
« Antwort #27 am: 10.01.04 - 00:21:34 »
TripleH, Deine Einstellung in Ehren bezügl. "Ziel des Projektes ist es auch nicht das alles 100% läuft " und dass Du Perfektionist bist..

Aber was machst Du wenn exakt 0% läuft nach dem Projekt?

Irgendwann wird Deine Datenbank dann produktiv gesetzt (so wie Du schreibst in 2 Wochen). Was passiert, wenn überhaupt nichts geht? Ich will jetzt nicht schwarzmalen, aber mögliche Szenarien wären:
 - missglückte ACL-Einstellungen und Umsetzungen  (vorgesehene User dürfen alles, oder zu wenig um z.B. ein Dok zu erzeugen)
  - Datensätze sind zufällig weg
  - Replilakationsthematik

u.v.m.

Ehrlich, ich bezweifle massiv, dass Du Dein Projekt binnen 2 Wochen fertiggestellt hast. Siehe meine Empfehlungen oben.

Deine Fragen werden auch beantwortet hier, für die brauchst Du Dich auch nicht entschuldigen. Aber Deine Fragen sind der Auslöser warum ich obiges gepostet habe.

Matthias
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re:Maske übernehmen
« Antwort #28 am: 10.01.04 - 00:27:51 »
Nachtrag:
Bernhard hat es ja auch schon angedeutet, dass Du u.U. die falsche Plattform gewählt hast.

Ich glaub es geht bei Dir um Versicherungsdaten / Berechnung.

Da ist Notes nicht die erste Wahl. Wieviele Mandanten sind denn betroffen?
Access (auch wenn ich die SW hasse) wäre z.B. in so einem Fall empfehlenswerter aufgrund der klassischen DB-Struktur.
Replizierung ist bei Dir wohl - soweit ich das überschaue - eh kein Thema.

TMC
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline TripleH

  • Frischling
  • *
  • Beiträge: 38
  • Ich liebe dieses Forum!
Re:Maske übernehmen
« Antwort #29 am: 10.01.04 - 01:13:05 »
Hi!
Nett von euch.
Also wie ihr in meinem anderem Posting seht läuft schon ein bißchen.
Abschließend will ich nur sagen stellt euch das bei mir nicht zu professionell vor. Das soll nur ein kleines Projekt in der Schule werden also wird es weit davon entfernt sein wie das in der Praxis vom Profi aussieht. Es sollen wirklich nur die grundlegendsten Dinge gemacht werden weil viel kann man innerhalb von 2 Wochen nicht erwarten.
Ihr könnt euch ja ruhig mal anschauen wie ungefähr das aussehrn soll. Das Projekt hab ich als Anhang in meinem Posting 2 runter:)
Danke für deine Tips oben einen Teil konnt ich umsetzten...
und macht nicht mehr zu lang
Gruß

Basti

Offline TripleH

  • Frischling
  • *
  • Beiträge: 38
  • Ich liebe dieses Forum!
Re:Maske übernehmen
« Antwort #30 am: 10.01.04 - 15:59:00 »
Hallo!
Ich habs soweit hinbekommen das anhand der Status Feld die richtigen Dokumente in der richtigen Ansicht stehen.
Jetzt hab ih auch schon nen bißchen weitergemacht und hab leider wieder nen par Probs.

Es werden immer nur Dokumente in den Ansichten abgelegt welche die Infos der Kalskulationsmaske beinhalten.

1. Macht man z.B. die Ansicht Neu Kunden auf sind dort alle Kunden bei denen im Statusfeld Neu steht.
wählt man eins aus kommt man nur in den Lesemodus des Dokuments. Ich hab jetzt dort einen Button in dem
Dokument der Brief heißt mit folgendem Quelltext "@Command([CloseWindow]);
@If(status =  "neu";@Command([Compose];"BriefNeu");@Command([Compose];"angebot"))"

Allerdings hab ich die Vermutung das er das Feld Status nicht richtig auswerten kann im Lesemodus da er immer
gleich die then anweisung ausfürht und dann zur Maske angebot springt obwohl im Feld Status neu steht.
Weiß jemand Rat wie ich das verbessern kann ohne dabei in den Schreib Modus zu springen?

Das 2. Problm ist das wenn er dann weiter zu der Maske z.B. Brief Neu geht auch die Daten des Dokuments nicht
übernommen werden. Z.B. hab ich ein Feld Name in der Brief neu Maske. Als Vorgabewert hab ich
das Feld name gewählt aus dem Dokument zuvor. Das hängt wohl wieder mt dem Lesemodus zusammen denn wenn
von dem Schreib Modus in den die Maske Brief Neu gehe wird der Name übernommen.

Ich hoffe jemand kann mir weiterhelfen.

Schönen Tag noch.

Basti

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz