AtNotes Übersicht Willkommen Gast. Bitte einloggen oder registrieren.
22.09.20 - 18:22:33
Übersicht Hilfe Regeln Glossar Suche Einloggen Registrieren
News:
Schnellsuche:
+  Das Notes Forum
|-+  Domino 8 und frühere Versionen
| |-+  Entwicklung (Moderatoren: Axel, eknori, Hoshee, ata, Thomas Schulte, koehlerbv)
| | |-+  Fortlaufende Nummer
« vorheriges nächstes »
Seiten: [1] 2 3 Nach unten Drucken
Autor Thema: Fortlaufende Nummer  (Gelesen 14140 mal)
robertpp
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 940



« am: 11.03.03 - 13:50:42 »

Ich hab schon viele Einträg im Forum gefunden aber es hilft mir nicht weiter!!

Ich brauche eine forlaufende Nummer bei erstellen neuer Documente in ein DB!!
Anhand der Nummer kann der User der ein Doc erstellt hat und nur sein Doc in der Ansicht sieht (zb: 100 Documente sind in der Ansicht;er sieht nur sein Doc mit der Nummer 76) die Nummer an den Superuser weitergeben kann und fragen ob das Thema bereits erledigt ist! Und der superuser sieht alle Docs kann anschließend das Doc leichter finden!

Meine DB wird nicht repliziert und es werden auch keine Documente gelöscht!!!

bitte um hilfe robertpp
Gespeichert

------------------------------------------------------------
1250 Notes User Client von 5.0.5 bis 6.5.4     WIN2000, XP
14 Notes Server von 6.5 bis 6.5.4 WIN2000, XP

32   Notes Server von 5.0.1 bis 6.5.4 in unserer Domain
323 Notes Server weltweit mit 38000 User in einem Adressbuch
Monster
Frischling
*
Offline Offline

Beiträge: 42


Ich liebe dieses Forum!


« Antworten #1 am: 11.03.03 - 13:58:26 »

Die laufende Nummer wird im Profildokument gespeichert.

Erstelle einfach eine Maske DBProfil in dem das Feld Nummer vorhanden ist.

In dem Hauptdokument spielst du das Script in QuerySave ein.

Sub Querysave(Source As Notesuidocument, Continue As Variant)
   Dim session As New Notessession
   Dim db As NotesDatabase
   Dim ws As New NotesUIWorkspace
   Dim doc As Notesdocument
   Dim uidoc As NotesUIDocument
   Dim test As Variant
   
   Set db = session.Currentdatabase
   Set uidoc = ws.CurrentDocument
   Set doc = uidoc.Document
   If Not doc.IsNewNote Then
      Exit Sub
   End If
   Set doc = db.GetProfileDocument( "DBProfil")
   test = doc.GetItemValue( "Nummer" )
   nummer = Val(test(0))
   nummer = nummer + 1
   doc.Nummer = Str( nummer )
   Call doc.save(True, True)
   Set uidoc = ws.CurrentDocument
   Call uidoc.FieldSetText( "E_Nummer", Str( nummer ) )
   
End Sub
Gespeichert
volti0815
Frischling
*
Offline Offline

Geschlecht: Männlich
Beiträge: 20



« Antworten #2 am: 11.03.03 - 16:30:04 »

Hi,

wie setzte ich den Wert des Feldes wieder auf 0 zurück, z.B. um zum Jahresanfang wieder mit Dokument 1 zu beginnen? Wird durch das Script ein Dokument erstellt, das ich durch einen Agenten ändern kann?

Gruß

Martin
Gespeichert

Notes R5.06a
Domino R5.08
Win NT4 SP6
klaussal
Gast
« Antworten #3 am: 11.03.03 - 16:34:34 »

... das script erzeugt ein so genanntes PROFIL-DOKUMENT.
am jahresende müsste dann ein agent laufen, der das feld xyz wieder auf 0 setzt. profil-dokumente kann man sich am besten mit notes-peak anschauen (das ist freeware; suche im forum bringt dir den link dazu). Roll Eyes
Gespeichert
ata
Moderator
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 5092


drenaiondrufflos


WWW
« Antworten #4 am: 11.03.03 - 17:26:17 »

... ich würde das nicht über ein Profildokument machen, denn das bleibt während meiner Session geöffnet. wenn jemand anderes die DB öffnet und ein Dokument erstellt kann es zu doppelten Nummern kommen...

... Im Forum gibt es bereits mehrere Postings zu diesem Thema - bitte such nach "Fortlaufende Nummer"...

ata
Gespeichert

Grüßle Toni Smiley
robertpp
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 940



« Antworten #5 am: 11.03.03 - 17:35:09 »

Und was passiert wenn zwei user gleichzeitig ein doc erstellen dann hab ich aber zweimal die gleiche nummer!!
Ich hab schon etwas über documenten sperren gesehen?
Lasst sich das mit dem Profildoc auch realisieren?
robertpp
Gespeichert

------------------------------------------------------------
1250 Notes User Client von 5.0.5 bis 6.5.4     WIN2000, XP
14 Notes Server von 6.5 bis 6.5.4 WIN2000, XP

32   Notes Server von 5.0.1 bis 6.5.4 in unserer Domain
323 Notes Server weltweit mit 38000 User in einem Adressbuch
robertpp
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 940



« Antworten #6 am: 11.03.03 - 17:45:46 »

hallo ata!!
Ich hab schon oft gesucht und meistens auf lösungen mit profildocs gestoßen oder aber auf lösungen wo nachher wieder gestanden ist das geht so nicht weil was ist wenn ein zweiter user gleichzeitig ein doc erstellt und dann viellwicht noch das thema was ist wenn die DB repliziert wird!!
Ich hab aber noch nirgendwo eine lösung gefunden die perfekt war!! Welche lösung würdest du vorschlagen wenn es über profildoc nicht gut ist und die anforderungen da sind wie bei mein erstes posting dieses beitrags ?
robertpp
Gespeichert

------------------------------------------------------------
1250 Notes User Client von 5.0.5 bis 6.5.4     WIN2000, XP
14 Notes Server von 6.5 bis 6.5.4 WIN2000, XP

32   Notes Server von 5.0.1 bis 6.5.4 in unserer Domain
323 Notes Server weltweit mit 38000 User in einem Adressbuch
ata
Moderator
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 5092


drenaiondrufflos


WWW
« Antworten #7 am: 11.03.03 - 20:43:44 »

... na ja, man will anhand der Nummer die Identifizierung des Dokumentes ermöglichen ? ! ? ! ?... Sinn oder Unsinn ....

Es gab hier im Forum eine Lösung mit einer DB, die ich bereits selbst mal überarbeitet habe, damit sie auch tatsächlich läuft...

... ich geh mal auf die Suche...

ata
Gespeichert

Grüßle Toni Smiley
ata
Moderator
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 5092


drenaiondrufflos


WWW
« Antworten #8 am: 11.03.03 - 20:54:41 »

... in diesem Posting hat doliman eine DB als Attachment beigesteuert, daß eine replizierfähige Version einer Nummernvergabe enthält... bei der Implementierung muß man sich genau an die Anweisgungen des Autors halten...

http://www.atnotes.de/index.php?board=7;action=display;threadid=6243;start=0

ata
Gespeichert

Grüßle Toni Smiley
robertpp
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 940



« Antworten #9 am: 12.03.03 - 10:09:41 »

Hallo,

@ata
Das ganze wird ja wieder mit einem Profildokument gelöst
Die DB seqNumb.nsf ist von:
http://www-10.lotus.com/ldd/sandbox.nsf/ecc552f1ab6e46e4852568a90055c4cd/5e0be790b7fb7b6f852569ba005078aa?OpenDocument&Highlight=0,sequential?OpenDocument&Highlight=0,sequential

Du hast mal gesagt wenn du ein Profildocument verwendest dann kann ein anderer user nicht drauf zu greifen weil er es blockiert!!
Stimmt das ?
robertpp
Gespeichert

------------------------------------------------------------
1250 Notes User Client von 5.0.5 bis 6.5.4     WIN2000, XP
14 Notes Server von 6.5 bis 6.5.4 WIN2000, XP

32   Notes Server von 5.0.1 bis 6.5.4 in unserer Domain
323 Notes Server weltweit mit 38000 User in einem Adressbuch
ata
Moderator
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 5092


drenaiondrufflos


WWW
« Antworten #10 am: 12.03.03 - 10:58:52 »

... dort wird kein "echtes" Profildokument verwendet - es ist ein reguläres NotesDokument...

ata
Gespeichert

Grüßle Toni Smiley
robertpp
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 940



« Antworten #11 am: 12.03.03 - 11:27:18 »

kann bei diesem bespiel der fehler auftreten wenn ein user ein doc erstellt und ein zweiter auch das es die nummer doppelt gibt?
Das Bespiel sieht auch ein wenig kompliziert aus was brauch ich da alles?
Gespeichert

------------------------------------------------------------
1250 Notes User Client von 5.0.5 bis 6.5.4     WIN2000, XP
14 Notes Server von 6.5 bis 6.5.4 WIN2000, XP

32   Notes Server von 5.0.1 bis 6.5.4 in unserer Domain
323 Notes Server weltweit mit 38000 User in einem Adressbuch
ata
Moderator
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 5092


drenaiondrufflos


WWW
« Antworten #12 am: 12.03.03 - 12:40:06 »

... so weit ich das bisher sehe ist die Gefahr der doppelten Nummernvergabe sehr gering. Es wird geprüft, ob gerade jemand eine Nummer vergibt ( das Dokument ist dann gesperrt ), falls ja, dann probiert er eine gewisse Zeit eine Nummer zu bekommen. Diese Zeit genügt um als Nächster dann eine Nummer bekommen zu können...

... das Beispiel ist in der Tat keines der Einfachsten zum Implementieren, wenn du es ermöglichen kannst, dann schick mir deine DB per Mail, ich habe zwar massig Arbeit und ein Konzert vorzubereiten, aber ich will mal sehen...

ata
Gespeichert

Grüßle Toni Smiley
robertpp
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 940



« Antworten #13 am: 12.03.03 - 14:05:50 »

Ich probier es mal selber hinein zu bekommen in die DB wenn es nicht klappt werde ich mich nochmals melden
danke robertpp
Gespeichert

------------------------------------------------------------
1250 Notes User Client von 5.0.5 bis 6.5.4     WIN2000, XP
14 Notes Server von 6.5 bis 6.5.4 WIN2000, XP

32   Notes Server von 5.0.1 bis 6.5.4 in unserer Domain
323 Notes Server weltweit mit 38000 User in einem Adressbuch
ata
Moderator
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 5092


drenaiondrufflos


WWW
« Antworten #14 am: 12.03.03 - 14:22:17 »

... selber machen ist immer noch am Besten...

ata
Gespeichert

Grüßle Toni Smiley
Teamplay
Gast
« Antworten #15 am: 10.06.04 - 19:20:25 »

Hallo,

gibt's schon was neues bzw. besseres zum Thema?

Per LotusScript oder Formula-Sprache?

Gruß
Leo
Gespeichert
TMC
Freund des Hauses!
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 3660


meden agan


« Antworten #16 am: 10.06.04 - 19:27:11 »

Hier ein paar Links:

http://www.atnotes.de/index.php?board=9;action=display;threadid=7395
http://www.atnotes.de/index.php?board=7;action=display;threadid=12905
http://www.atnotes.de/index.php?board=7;action=display;threadid=13034
http://www.atnotes.de/index.php?board=9;action=display;threadid=3034
http://www.atnotes.de/index.php?board=16;action=display;threadid=12846
Gespeichert

Matthias

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

Hernan Cortez
Gast
« Antworten #17 am: 10.06.04 - 19:43:15 »

Ulrich hat Recht.

Die Alternative wäre (nicht ernst gemeint):
- Einsehen, dass heutige Software Systemintegration heisst.
- Den Kunden davon überzeugen, eine Mysql-DB zu installieren, von der Administration Warten zu lassen.
- Auf der MySql eine Tabelle mit einem Feld als auto_increment bigint primary key erstellen.
- bei der Erzeugung des Dokuments eine connection mit der Datenbank aufzunehmen (wie auch immer: ODBC, JDBC, vielleicht LEI oder DECS)
und in der MySql einen Insert machen. Mit einem direkt anschliessenden Query (oder einer speziellen Funktion (schlag jetzt Namen nicht nach, geht sowieso nur mit z.B. Java2) die heilige Zahl des letzten inserts ermitteln.  
Während des Postopen Events Erstellen von neuen Dokumenten Datenbankweit per Lock-Dokument unterbinden.
- Die heilige Zahl in das Feld schreiben.
- Falls eine Datenbankverbindung mit MysQl nicht möglich ist, Erstellen von neuen Dokumenten grundsätzlich verbieten.

Gespeichert
Hernan Cortez
Gast
« Antworten #18 am: 10.06.04 - 19:46:52 »

weitere Möglichkeit. Nach deiner letzten Antwort ernstgemeint:
- Erstellen neuer Dokumente grundsätzlich über Tomcat laufen lassen.
- Der Inhalt der Felder wird dann per Backend in die NotesDatenbank eingefügt.
- Mit Servlet mit doGet als synchronized.
- Die Zahl in einer Variable in ServletContext schreiben.
- Falls Tomcat ausfällt, können keine neuen Dokumente erzeugt werden.

Gruß Axel

Gespeichert
TMC
Freund des Hauses!
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 3660


meden agan


« Antworten #19 am: 10.06.04 - 19:47:35 »

eindeutige Nummer wie @Unique ist der Scheiß, der keiner braucht und sich merken kann (wird up und zu nur in nicht ausgereiften DB's verwendet)

Nun mal langsam Kollege, schau Dir mal die Links hier durch:
http://www.atnotes.de/index.php?board=27;action=display;threadid=16270

Damit hast Du alle Alternativen die es wohl gibt - zumindest wurden diese wohl ziemlich alle dort erwähnt.

Gespeichert

Matthias

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

Seiten: [1] 2 3 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.21 | SMF © 2006, Simple Machines Prüfe XHTML 1.0 Prüfe CSS
Impressum Atnotes.de - Powered by Syslords Solutions - Datenschutz | Partner: