Autor Thema: Feld mit fortlaufender Nummer  (Gelesen 10601 mal)

Offline Gandalf

  • Junior Mitglied
  • **
  • Beiträge: 83
  • Geschlecht: Männlich
  • Alles wird gut - nur weiss halt keiner wann
    • Unterwegs-im.net
Feld mit fortlaufender Nummer
« am: 18.02.03 - 16:48:24 »
Hi,

muss mich mal wieder outen und ne Anfängerfrage stellen.

ich erstelle eine neue Maske die unter anderem ein Feld mit einer fortlaufenden Nummer haben soll. 001 - aufwärts. Wie realisier ich es, das er beim Anlegen eines neuen Dokuments mit dieser Maske automatisch die nächst freie Nummer nimmt ?

Bye
Gandalf
« Letzte Änderung: 19.02.03 - 16:08:27 von Gandalf »

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re:Feld mit fortlaufender Nummer
« Antwort #1 am: 18.02.03 - 16:52:18 »
... das ist keine Anfängerfrage, denn da gibt es in Notes einige Hürden zu meistern...

Gibt es die Anwendung auf mehreren Servern, die miteinander replizieren?

ata
Grüßle Toni :)

Offline Gandalf

  • Junior Mitglied
  • **
  • Beiträge: 83
  • Geschlecht: Männlich
  • Alles wird gut - nur weiss halt keiner wann
    • Unterwegs-im.net
Re:Feld mit fortlaufender Nummer
« Antwort #2 am: 18.02.03 - 17:08:13 »
Hallo ata,

soll später mal angedacht sein.
Es soll aus ihr eine Produktdatenbank entstehen,
die auch in unser CRM Tool mit eingebunden werden soll.

Zu dieser Maske werden auch weitere Masken als Antwortdokumente erstellt.
Besagtes Feld soll anschließen auch als Teil Nummer in die Antwort Dokumente mit übernommen werden, an der dann eine weitere fortlaufenden Nummer angehägt wird. Aber das krieg ich dann hin, wenn ich einmal weis wie gezählt wird

Gandalf
« Letzte Änderung: 18.02.03 - 17:08:33 von Gandalf »

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re:Feld mit fortlaufender Nummer
« Antwort #3 am: 18.02.03 - 17:24:41 »
... da gibt es verschiedene Methoden...

... du legst in der Datenbank ein Zählerdokument an. Dieses Dokument darf es nur einmal in der Datenbank geben. In einem Feld in diesem Dokument liegt der Zähler drin. Beim Speichern deines neuen Dokumentes holst du hier die aktuelle Nummer, zählst sie um eins weitter und aktualisiert die Nummer im Zählerdokument und speicherst es ebenfalls...

... wenn die DB an mehreren Standorten in Repliken liegt wird es dann kompliziert...

ata
Grüßle Toni :)

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.718
  • Geschlecht: Männlich
Re:Feld mit fortlaufender Nummer
« Antwort #4 am: 18.02.03 - 18:44:13 »
was wollt ihr eigentlich immer mit einer fortlaufenden nummer ? Ich dachte, die Zeiten von Ärmelschoner und Tintenfäßchen bei der Führung eines Hauptbuches sind vorbei.

Was machst du denn, wenn ein Dokument gelöscht wird ?? Das war es dann mit "fortlaufender Nummerierung".

Macht nur Ärger und funktioniert entgegen mancher Meinungen im LDD in replizierenden Umgebungen überhaupt nicht.


eknori
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re:Feld mit fortlaufender Nummer
« Antwort #5 am: 18.02.03 - 19:24:01 »
Hoy Ulrich,

... nur durch Schaden wird man klug - ich bin auch kein Freund von Nummerierungen bei replizierenden Datenbanken - absolut nicht - gebranntes Kind scheut das Feuuer - aber dennoch gibt es immer wieder den Wunsch danach...

ata
Grüßle Toni :)

Offline Alex W

  • Frischling
  • *
  • Beiträge: 7
  • Geschlecht: Männlich
  • Hallo und Guten Tag
Re:Feld mit fortlaufender Nummer
« Antwort #6 am: 19.02.03 - 09:30:40 »
Hallo,

das mit den fortlaufenden Nummern ist ein heikles Thema. Benötigt werden sie auf jeden Fall, da man bei der Verarbeitung von vielen Daten irgendein unverwechselbares und doch  für alle Mitmenschen halbwegs  sinnvolles Kennzeichen haben sollte. Wenn Du nämlich 20 Vorgänge für deinen  Kunden Müller wegen der Angelegenheit in Musterstraße hast und der dir ne Rechnung bezahlt und auf dem Kontoauszug steht nur Müller und sonst nichts außer Musterstraße, mußt du erstmal eine nicht unerhebliche Zeit suchen, was er meint. Und versuch mal im Notes in den Doks zu suchen: 234,67 €. Bei mir findet er immer alles mögliche, aber nie das, was er soll, weil Notes das Komma auch als Trennzeichen versteht und beim Volltextindex auch gleich noch alles andere findet.

Insofern ist die Frage sicher, wie man ein sinnvolles Kennzeichen entwickelt. Die Kombination aus laufender Numer / Jahr hat sich da bei mir sehr bewährt.  Außerdem kann man mit fortlaufenden Nummer nachvollziehen, wenn einer rumgebastelt hat und gar Doks löschte. Das machen Programierer natürlich nie, aber der Enduser, der Enduser ...!?

Im Prinzip hab ich das an mehreren Stellen bei mir eingesetzt.  Ich ruf das dann immer mit @dblookup("";"NoCache";"Server1":"Datenbank"; "Zählerdokansicht";"Musterstandort";2) ab. Das Zählerdok hat dann ein Feld Musterstandort, nach dem in der Ansicht sortiert wird. Das ist zwar Blödsinn für nur ein Dok, aber für @dblookup nötig. Außerdem kannst du das ndann auch noch erweitern für viele Zählerdoks. In der zweiten Spalte steht das das Zähler feld, das, wie Ata schon mitgeteilt hat, hochgezählt werden muß. Für verschiedene Sachen kann man so mehrere Zähler einrichten. Mann kann auch mehr Zählerfelder in einenm Zählerdok machen und baut dann mehrer Spalten in die Ansicht. Wichtig ist, daß immer nocache angegeben wird und die Ansicht sich automatisch aktualisiert.

Dabei muß natürlich jedesmal zu dem einen Server eine Verbindung aufgebaut werden, sonst klappt es nicht. Wenn es wirklich keine Verbindung gibt,, kommt ein Error, das regele ich dann mit Hand, ist aber sicher für große Sachen keine Lösung. Aber bei mehreren Servern kann man ja zur fortlaufenden Nummer noch ein Kenzeichen des Servers mit hinterlegen, so daß man dann auf den Servern getrennt zählt und trotzdem die  Nummern nachvollziehen kann. Das könnte dann so ausehen :

        gezählte Nummer/Jahr/ Servername

also                324/03/Server1

So, viel Spaß, ich habe ein halbes Jahr gebraucht, um mal neben meiner Arbeit eine praktikable Lösung für das Problem bei mir zu finden.

Gruß

Alex W :)

Offline Gandalf

  • Junior Mitglied
  • **
  • Beiträge: 83
  • Geschlecht: Männlich
  • Alles wird gut - nur weiss halt keiner wann
    • Unterwegs-im.net
Re:Feld mit fortlaufender Nummer
« Antwort #7 am: 19.02.03 - 10:33:57 »
Hallo Ulrich, hallo ata,

die fortlaufende Nummer brauche ich für die Pos. Nummerierung in Angeboten. Besagte Datenbank wird eine Produktdatenbank. Aus einen Dokument eine anderen datenbank möchte ich halt auf diese Datenbank zugreifen können und ausgewählte dukumente in ein Angebot übernehmen - sich in diesem muss ich dann nochmal neu Nummerieren, aber wen ich das Problem in der Produktdatenbank schon mal gelösst habe........

Das Löschen von dokumenten - sprich das fehlen von Nummern in der Reihenfolge ist kein Problem, da ein eindeutiger Bezug der Positionen vom Angebot zur Produktdatenbank nachträglich nicht mehr sein muss.

Falls viel gelöscht wird, muss ich mir nur noch Gedanken über die Funktuion des Neunummerierens machen.

Danke für den Tipp - ich gehe jetzt ans ausprobieren. Da ich für sowas immer länger als andere brauche  :-[ wirds mit den Feedback was dauern.

Bye
Gandalf
« Letzte Änderung: 19.02.03 - 10:34:25 von Gandalf »

Offline CrazyCoder

  • Junior Mitglied
  • **
  • Beiträge: 97
  • Geschlecht: Männlich
Re:Feld mit fortlaufender Nummer
« Antwort #8 am: 19.02.03 - 11:17:57 »
HI Leute!
Ich habe quasie genau das geleiche Problem wie Gandalf und hoffe das ich das nun auch hinbekomme.

Ich habe schon öfter mal mit dem @DBLookup() gearbeitet und denke mal das das einzige Problem, das dann auftritt, seien wird die Zahl in der andern Maske bzw. Ansicht (wo ich meine "Laufendenummer" her nehmen will) zu überschreibe!

Also, wenn ich die Nummer die ich brauche habe, diese um einen aufzähle, wie bzw. mit welchem Befehl bekomme ich die dann wieder zurück auf die andere Maske, damit die nächste Zahl "aktuell" aufgerechnet wird?????

HILFE!!! HILFE!!! HILFE!!! HILFE!!! HILFE!!! HILFE!!! HILFE!!!

Ich hänge da schon seit ca 5Wochen dran und es läuft immernoch nicht!  :-[

Ich hoffe Ihr könnt mir helfen!  :-\

cya
CrazyCoder   8)

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re:Feld mit fortlaufender Nummer
« Antwort #9 am: 19.02.03 - 11:25:02 »
... in dem Zählerdokument hast du ein Feld mit der UniversalID dieses Dokumentes...

... mit dem DBLookup kannst du die ID holen, und innerhalb der DB
... ... mit @GetDocField(...) einen Wert aus einem Feld lesen...
... ... mit @SetDocField(...) das Feld neu beschreiben...

eine von mehreren Möglichkeiten...

ata
Grüßle Toni :)

Offline Rob Green

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.651
  • Geschlecht: Männlich
    • Meipor
Re:Feld mit fortlaufender Nummer
« Antwort #10 am: 19.02.03 - 12:14:03 »
joo..die laufenden Nummern...wooo lauuuufen sie denn, woooo lauuufen sie denn hiiin  ;D ;D ;D

Ein Problem mit einem üblichen Zählerdocmechnismus bei Notes darf nicht verschwiegen bzw. übersehen werden: die klassische Racekondition und der Speicherkonflikt.

Eine Racekondition kann dann auftreten, wenn man mit Dbcolumn die letzte vergebene Nummer ausliest und um 1 im aktuellen Neudoc hochzählt. Tut man die Nummer beim Erstellen des Docs auslesen und dann speichern, führt die Verzögerung  zwischen Erstellung und Speicherung dazu, daß in der Zwischenzeit sich jemand die gleiche "letzte" Nummer geschnappt hat. Damit hat man 2 gleiche Nummern+1 am Ende. Ist man cleverer, zieht man sich die letzte Nummer beim Speichern des Docs. Da ist die Spanne von Nummer ziehen und Speichern im Sekundenbereich. Aber, auch da kann die Racekondition zuschlagen, denn Notes kann die Ansicht nicht so schnell aktualisieren, wenn 2 User zur gleichen Milisekunde ein jeweiliges Neudoc speichern. Notes gibt dann dummerweise vor dem nächsten Upfresh des Viewindex die gleiche "letzte" Nummer zurück.

Bei Verwendung eines zentralen Notes Zählerdocs kann es natürlich zu parallelen Schreib/Speicherkonflikten kommen, wenn 2 User im selben Moment auf das Zählerdoc zugreifen.

Die Gefahr kann  je nach Design bzw. Nutzungshäufigkeit der Datenbank gering oder hoch sein, doppelte Nummern zu erhalten. Einige helfen sich damit, einen regelemäßigen Agent laufen zu lassen, der doppelte Nummern bereinigt. Nicht schön, aber immerhin.

Auch replizierende DB´s beherrschen eine einheitliche Nummernvergabe...der Artikel ist auf LDD Today zu finden, bietet aber genau die gleichen Klippen & Hürden letztlich.

Nach wie vor erachte ich - unabhängig was nun eine laufende Nummer bringt - den Ansatz über eine Verwendung einer externen DB mit Sperrindex Mölichkeit zwecks Vermeidung paralleler Schreibvorgänge (zum Ablegen der vergebenen Nummer/n) am besten, um das zentrale Notesproblem hierbei zu umgehen: Notes kennt keinen Sperrindex auf Datensätze. Dies kann übrigens auch eine stinknormale Textdatei auf dem Notesserver sein, die über runonserver Agent beschrieben/gelesen wird.
Vielleicht verdirbt Geld wirklich den Charakter.
Auf keinen Fall aber macht Mangel an Geld ihn besser.
(John Steinbeck)

Meiporblog: http://www.meipor.de/blog
allg. Unternehmerblog: http://www.m-e-x.de/blog

Offline CrazyCoder

  • Junior Mitglied
  • **
  • Beiträge: 97
  • Geschlecht: Männlich
Re:Feld mit fortlaufender Nummer
« Antwort #11 am: 19.02.03 - 13:09:33 »
HEYYO!! 8)

ES HAT GEKLAPPT!!!

DANKE LEUTE!!!  ;D

Offline Gandalf

  • Junior Mitglied
  • **
  • Beiträge: 83
  • Geschlecht: Männlich
  • Alles wird gut - nur weiss halt keiner wann
    • Unterwegs-im.net
Re:Feld mit fortlaufender Nummer
« Antwort #12 am: 19.02.03 - 15:04:20 »
Ok - hab jetzt ne einfache Anfängervariante

hab eine Ansicht in der datenbank erstellt, die mir die benutzten Nummern anzeigt.
Ich mache in dem Feld der Maske ein @dbColum und nehme den letzten wert halt +1. Funzt.
@ RobGreen Da ich noch ganz am anfang mit dem Aufbau werd ich deine Angesprochene Problematik auf später verschieben. Ich weis aber um deren Wichtigkeit.  :)

Bye
Gandalf
« Letzte Änderung: 19.02.03 - 15:05:08 von Gandalf »

Offline wflamme

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 690
  • Geschlecht: Männlich
  • Irgendwie geht das schon...
    • wflamme
Re:Feld mit fortlaufender Nummer
« Antwort #13 am: 19.02.03 - 17:55:21 »
das mit den fortlaufenden Nummern ist ein heikles Thema. Benötigt werden sie auf jeden Fall, da man bei der Verarbeitung von vielen Daten irgendein unverwechselbares und doch  für alle Mitmenschen halbwegs  sinnvolles Kennzeichen haben sollte.

Die mit @Unique erstellten Kennungen halte ich schon für fast optimal - eindeutig (auch in replizierenden Umgebungen) und passen auch noch ins Kurzzeitgedächtnis.

Wenn ich sehe, was Meckermann und Konsorten an Kundennummern-, Bestell-, Auftragsnummern- etc-Ungetümen vergeben, dagegen ist @unique richtig schlank und schick!
Grüße,
Wolfgang

"I love deadlines. I love the whooshing sound they make as they pass by..."
DOUGLAS ADAMS

wflamme@mainz-online.de
http://www.sns1.de/partner/flamme/wflamme.nsf

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re:Feld mit fortlaufender Nummer
« Antwort #14 am: 19.02.03 - 17:59:24 »
@Gandalf

... mit dem @DBColumn wirst du an eine Grenze stossen, den der hat eine Kapa-Grenze, die durchaus zu erreichen ist...

... ein Zählerdokument ist unabhängig von der Anzahl der Dokumente...

ata
Grüßle Toni :)

Offline doliman

  • Senior Mitglied
  • ****
  • Beiträge: 332
  • Geschlecht: Männlich
    • www.doleschel.de
Re:Feld mit fortlaufender Nummer
« Antwort #15 am: 19.02.03 - 18:02:50 »
Hi,

hier gibts das schon fertig:

Grüßle
                           _///_
                          (o~o)
-------------oOOO--(_)--OOOo-------------
Frank Doleschel

----------------------
Ein Berufsleben ohne Notes ist zwar möglich aber die Alternativen sind erschreckend ;-)

Offline Gandalf

  • Junior Mitglied
  • **
  • Beiträge: 83
  • Geschlecht: Männlich
  • Alles wird gut - nur weiss halt keiner wann
    • Unterwegs-im.net
Re:Feld mit fortlaufender Nummer
« Antwort #16 am: 20.02.03 - 08:15:29 »
Hallo,

@Doliman
Das muss ich mir jetzt mal in aller Ruhe anschauen, :-) kann sich nur um Tage handeln.

@ata
Fürs schnell (sorry- ich weis das der Begriff bei mir no ein kleines bischen Paradox ist) erstellen reicht es erst mal.
Da ich die DB Hierachisch aufbaue hab ich da auch noch ein bischen Reserve.
Wichtig ist halt, das ich meine Idee zum Thema erstmal vorstellungsreif bekomme.
Du und RobGreen - ihr seit aber schon mit eureren Anmerkungen auf meiner ToDo Liste.

Bye
Gandalf

Offline wflamme

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 690
  • Geschlecht: Männlich
  • Irgendwie geht das schon...
    • wflamme
Re:Feld mit fortlaufender Nummer
« Antwort #17 am: 20.02.03 - 10:22:07 »
HEYYO!! 8)

ES HAT GEKLAPPT!!!

DANKE LEUTE!!!  ;D

OT:
Ahem: Nicht daß ich unken will, aber könntest Du Dir ev. ein etwas ruhigeres Logo besorgen?
Der flammende Zappelmann links neben Deinen Posings sorgt derzeit dafür, daß ich bestenfalls 5 Zeilen lesen kann, bevor ich den Faden verliere.

Nur ein gutgemeinter Vorschlag, anderen geht's vielleicht ähnlich und die kleine Änderung würde dann Deine Chance, aufmerksam gelesen zu werden wohl entspr. erhöhen.
Grüße,
Wolfgang

"I love deadlines. I love the whooshing sound they make as they pass by..."
DOUGLAS ADAMS

wflamme@mainz-online.de
http://www.sns1.de/partner/flamme/wflamme.nsf

Offline Enelade

  • Frischling
  • *
  • Beiträge: 14
  • Geschlecht: Männlich
Re:Feld mit fortlaufender Nummer
« Antwort #18 am: 20.02.03 - 14:35:30 »
ich habe da doch noch ein Problem mit dem Script.

Muss mich vorab mal entschuldigen !
dieses Thema ist ja schon ausgetappt und auch schon geschlossen, aber ich habs immer noch nicht hinbekommen.
Hoffe auf verständniss, ich programmiere noch nicht so lange in Notes und habe noch nie Lotus-Script angewandt.

Zu meinem Problem:
Ich habe die Mask Sequential Number, die ansicht, den Agenten sowie die Script-Bibliotek in meine Datenbank kopiert.

Wenn ich aber eine Nummer vergeben möchte kommt folgender fehler:
Cannot finde externl name: UIDOC

auf was bezieht sich diese Meldung?
Ich bin am verzweifeln, und bitte um schnelle Hilfe sowie auf verständnis. Ist bestimmt ganz einfach.

Danke
Der Gewinner ist immer teil der Antwort
Der Verlierer ist immer Teil des Problems

Der Gewinner hat immer einen Plan
Der Verlierer hat immer eine Entschuldigung

Der Gewinner sagt: "Lass es mich für Dich tun"
Der Verlierer sagt: "Das ist nicht mein Job"

Der Gewinner sieht eine Antwort in jedem Problem
Der Verlierer sieht ein Problem in jeder Antwort

Der Gewinner sieht Grün neben jeder Wüste
Der Verlierer sieht Wüste neben jedem Grün

Der Gewinner sagt: "Es mag schwer sein, aber es ist machbar"
Der Verlierer sagt: "Es mag machbar sein, aber es ist schwierig"

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re:Feld mit fortlaufender Nummer
« Antwort #19 am: 20.02.03 - 14:51:00 »
... schalt mal den Debugger ein und häng einen ScreenShot von der Stelle ins Forum, wo der Code aussteigt, damit man erahnen kann, was nicht initialisiert wurde - ich vermute fast, daß die Lib nicht sauber eingebunden ist - oder wtwas derartiges...

ata
Grüßle Toni :)

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz