Autor Thema: Laufende-Nummer  (Gelesen 3077 mal)

Offline Raimund

  • Junior Mitglied
  • **
  • Beiträge: 83
  • Geschlecht: Männlich
Laufende-Nummer
« am: 19.09.02 - 13:27:28 »
Hi Entwickler,

gibt es eine Möglichkeit für ein Feld in der Maske, dass sich mit einem neuen Doc die Zahl um 1 erhöht??


Gruß
Raimund
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.728
  • Geschlecht: Männlich
Re: Laufende-Nummer
« Antwort #1 am: 19.09.02 - 13:32:32 »
JA, die gibt es.

Ach so, du willst auch noch wissen, wie man das macht ??.

Guckst du hier:

http://217.160.137.156/html/cgi-bin/yabb/YaBB.pl?board=002-2;action=display;num=1031917607;start=2

eknori
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline Raimund

  • Junior Mitglied
  • **
  • Beiträge: 83
  • Geschlecht: Männlich
Re: Laufende-Nummer
« Antwort #2 am: 19.09.02 - 13:44:50 »
Hi,

habe es damit schon versucht und es funktionierte nicht.
Die Feldnamen habe ich natürlich angepasst.

Gruß
Raimund
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.728
  • Geschlecht: Männlich
Re: Laufende-Nummer
« Antwort #3 am: 19.09.02 - 13:48:47 »
Dann poste mal bitte deinen code ...
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline Raimund

  • Junior Mitglied
  • **
  • Beiträge: 83
  • Geschlecht: Männlich
Re: Laufende-Nummer
« Antwort #4 am: 19.09.02 - 13:53:58 »
Hi,

     Dim session As New NotesSession
     Dim db As NotesDatabase
     Dim view As NotesView
     Dim doc As NotesDocument
     
     If Source.IsNewDoc Then
           Set db = session.CurrentDatabase
           Set view = db.GetView("Rank")
           
           Set doc = view.GetLastdocument '
           
           If doc Is Nothing Then
                 Source.Document.OrderCat = 1
           Else
                 Source.Document.OrderCat= doc.OrderCat(0) + 1
           End If
     End If
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.728
  • Geschlecht: Männlich
Re: Laufende-Nummer
« Antwort #5 am: 19.09.02 - 14:05:25 »
und was funktioniert da nicht; du müsstest schon ein bisschen lauter sprechen  ;)

hab hier ne Formel, die ich mal eingestzt habe

create a Computed when Composed Number Field with the following formula:


REM "first doc number";
tempPRText := 1;
tempPRNumber := tempPRText;

REM "all docs after the first and add 1 to increase counter";
tempText:=@Subset(@DbColumn("" : "NoCache"; ""; "(docnumber)"; 1); 1);
temp := tempText;
@If(temp != ""; temp + 1; tempPRNumber)


then create a view called (docnumber) with the first column sorted in decsending order with the column value of the field you created above
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline Raimund

  • Junior Mitglied
  • **
  • Beiträge: 83
  • Geschlecht: Männlich
Re: Laufende-Nummer
« Antwort #6 am: 19.09.02 - 14:46:57 »
Hi,

zählt leider nur bís 2.  :-/

Dann ist ENDE

Gruß
Raimund
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »

Offline gulp

  • Frischling
  • *
  • Beiträge: 24
  • Geschlecht: Weiblich
Re: Laufende-Nummer
« Antwort #7 am: 19.09.02 - 16:04:56 »
Ist die Ansicht richtig sortiert?

lg
gulp
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »

Offline Rob Green

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.651
  • Geschlecht: Männlich
    • Meipor
Re: Laufende-Nummer
« Antwort #8 am: 19.09.02 - 16:10:01 »
eknori hat ne lösung, die würde ich auch nehmen  ;)

Warum Dein Teil net funzt und nur bis zwei zählt?
A.) ich weiß nicht, wo das Script sitzt, also QuerySave oder wo? Wäre wichtig
B.) und B ob das Feld im Sourcedoccat mit 1 als Default Wert - wenn Doc neu generiert wird - gefüllt wird, aber ich bin mir ziemlich sicher, daß deswegen nur 2 kommt

If Source.IsNewDoc Then
'aha, Doc ist neu, dh nur dann soll das Ding rennen
 Set db = session.CurrentDatabase
 Set view = db.GetView("Rank")
  'Rankview scheint wichtig
 Set doc = view.GetLastdocument '
  'holt sich das letzte doc...muß wohl das Zählerdoc sein oder alle Docs im Sinne des eknorischen dbcolumns  ;D
 If doc Is Nothing Then
'ah jetzt, wenn also Doc jungfräulich ist
  Source.Document.OrderCat = 1  
'dann setzt ne 1 ins aktuelle Doc
 Else  
'sonst setze eben in aktuelles Doc Zähler um 1 hoch zu dem, was im letzten Doc in der View zu finden ist
  Source.Document.OrderCat= doc.OrderCat(0) + 1  
 End If  
End If

Sach mal *schaut ihn mit blinzelnden Augen an*
hat du etwa die View aufsteigend oder absteigend sortiert? Heißt: bekommt er das Doc mit der höchsten oder niedrigsten Zahl bei der methode "getlast"

Ich wette meine Buchstaben auf der Tastatur, daß Du immer das älteste Doc (das Jungfrauendoc) ziehst und daher nur die 2 stets bekommst...rofl....
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
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 Raimund

  • Junior Mitglied
  • **
  • Beiträge: 83
  • Geschlecht: Männlich
Re: Laufende-Nummer
« Antwort #9 am: 20.09.02 - 07:37:54 »
Hi Entwickler,

vielen Dank für die Hilfe.
Rob_Green hatte Recht. Die Formel von Eknori war OK.
Ich hatte die View aufsteigend und nicht absteigend sortiert.

War wohl nicht mein Tag gestern. ;D

Gruß
Raimund
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »

Offline Raimund

  • Junior Mitglied
  • **
  • Beiträge: 83
  • Geschlecht: Männlich
Re: Laufende-Nummer
« Antwort #10 am: 20.09.02 - 13:09:57 »
Hi Entwickler,

und jetzt eine perfekte Lösung:


Sub Postopen(Source As Notesuidocument)
     
     Dim session As New NotesSession
     Dim WebDB As NotesDatabase
     Dim View As NotesView
     Dim WebDoc As NotesDocument
     Dim uidoc As NotesUiDocument
     Dim workspace As New NotesUIWorkspace
     Dim i As Variant
     Dim Count As String
     Set uidoc = workspace.CurrentDocument
     Set WebDB = session.CurrentDatabase
     Set view = WebDB.GetView( "Rank" )
     Set WebDoc = view.GetLastDocument
     If WebDoc Is Nothing Then
           Goto Label
     Else
           i = WebDoc.GetItemValue("OrderCat")(0)
           
           
           count = i +1
           If  uidoc.FieldGetText("headline") = "" Then
                 Call uidoc.FieldSetText("ordercat",count)
           End If
     End If

End Sub


Gruß
Raimund
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »

Offline Rob Green

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.651
  • Geschlecht: Männlich
    • Meipor
Re: Laufende-Nummer
« Antwort #11 am: 20.09.02 - 14:48:23 »
gewagte Lösung...

wenn das Doc nicht im Editmode geöffnet wird, was dann? Denn fieldsettext geht nur im Editmode.

Zumal der Counter ganz fix zu Speicherkonflikten führen kann.

Nun denn, viel Glück
*oi oi oi*  ;D
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
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

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz