Autor Thema: Frage zu Script!  (Gelesen 2357 mal)

Offline Christopher

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.060
  • Geschlecht: Männlich
  • Dumm ist der, der dummes tut.
Frage zu Script!
« am: 24.05.02 - 07:41:31 »
Hallo Leute,

ich habe folgenden Agenten programmiert. Wo mit ich überprüfen will ob es Nutzer mit diesem Namen in einer anderen DB schon gibt. Der Agente funktioniert auch wenn ich ein Dokument makiere  ;D wenn ich mehrere Dokumente habe haut das nicht mehr so hin. Ich denke ich habe irgendwo noch einen Logik Fehler bin aber zur Zeit Blind  8) und seh es nicht



Sub Initialize
     Dim session As New NotesSession
     Dim db As NotesDatabase
     Dim doc As NotesDocument
     Dim view As NotesView
     Dim collection As NotesDocumentCollection      
     
     
     
     Set session = New notessession
     Set db=session.currentdatabase
     Set collection=db.UnprocessedDocuments      
     
     Set doc=collection.GetFirstDocument
     
     For i=1 To collection.count
           vname=doc.Firstname(0)
           nname=doc.LastName(0)
           gname=vname + nname
           
           server = "ZKOMZMILDBW"
           dbfile = "orgdb.nsf"
           'OrgDB öffnen
           Set db = New NotesDatabase( server, dbfile )
           
           Set view = db.GetView( "($Users)" )
           Set doc = view.GetDocumentByKey( gname )
           
           
           If Not (doc Is Nothing) Then
     'Felder übernehmen            
                 Set db=session.currentdatabase
                 Set doc=collection.GetFirstDocument
                 doc.TName="1"
                 doc.Save True,False
                 Msgbox "Es gibt schon einen Nutzer mit dem Namen " + gname + " handelt es sich um die selbe Person?"
                 
           Else
                 Set db=session.currentdatabase                  
                 Set doc=collection.GetFirstDocument                  
                 'Msgbox"Kein Dokument im Verzeichnis BW gefunden!"
                 doc.TName="0"
                 doc.Save True,False
                 
                 
           End If            
           
           Set doc=collection.GetNextDocument(doc)      
     Next
End Sub

« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
Client & Server R 5.011
Principal Certified Lotus Professional R5 System Administration
Microsoft Certified Systems Engineer 2000
Microsoft Certified Systems Administrator 2000
Microsoft Certified Systems Administrator 2003
Microsoft Certified Systems Engineer 2003

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.728
  • Geschlecht: Männlich
Re: Frage zu Script!
« Antwort #1 am: 24.05.02 - 07:59:05 »
Moin,

Set doc=collection.GetFirstDocument  ?? Und das bei jedem Document der Collection ??

Muss es nicht  heissen

Set doc=collection.GetNthDocument (i%) ??

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

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: Frage zu Script!
« Antwort #2 am: 24.05.02 - 08:14:05 »
Hi Christopher,

Du nimmst die Variable doc meines Erachtens für zwei verschiedene Dinge. Einmal in der Schleife, in der du die markierten Dokumente bearbeitest und einmal bei der Suche in einer Ansicht.

Axel







« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Christopher

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.060
  • Geschlecht: Männlich
  • Dumm ist der, der dummes tut.
Re: Frage zu Script!
« Antwort #3 am: 24.05.02 - 11:06:06 »
Hallo Eknori alter Hase  ;D ,

Du hattest recht. Bin halt noch nich so fit in Script.
Danke Axel ich habe mal doc2 gesetzt ich weiß aber nicht ob das unbedingt erforderlich ist?

Laut Debuger wird doc2 nicht belegt.

Viele Grüße

Christopher
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
Client & Server R 5.011
Principal Certified Lotus Professional R5 System Administration
Microsoft Certified Systems Engineer 2000
Microsoft Certified Systems Administrator 2000
Microsoft Certified Systems Administrator 2003
Microsoft Certified Systems Engineer 2003

Offline Christopher

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.060
  • Geschlecht: Männlich
  • Dumm ist der, der dummes tut.
Re: Frage zu Script!
« Antwort #4 am: 24.05.02 - 11:13:13 »
Das Script sieht jetzt so aus:

Sub Initialize
     Dim session As New NotesSession
     Dim db As NotesDatabase
     Dim doc As NotesDocument, doc2 As notesDocument
     Dim view As NotesView
     Dim collection As NotesDocumentCollection      
     
     
     
     Set session = New notessession
     Set db=session.currentdatabase
     Set collection=db.UnprocessedDocuments      
     
     Set doc=collection.GetFirstDocument
     
     For i=1 To collection.count
           vname=doc.Firstname(0)
           nname=doc.LastName(0)
           gname=vname + nname
           
           server = "ZKOMZMILDBW"
           dbfile = "orgdb.nsf"
           'OrgDB öffnen
           Set db = New NotesDatabase( server, dbfile )
           
           Set view = db.GetView( "($Users)" )
           Set doc2 = view.GetDocumentByKey( gname )
           
           
           If Not (doc2 Is Nothing) Then
     'Felder übernehmen            
                 Set db=session.currentdatabase
                 Set doc=collection.GetNthDocument (i)
                 doc.TName="1"
                 doc.Save True,False
                 Msgbox "Es gibt schon einen Nutzer mit dem Namen " + gname + " handelt es sich um die selbe Person?"
                 
           Else
                 Set db=session.currentdatabase                  
                 Set doc=collection.GetNthDocument (i)             
                 'Msgbox"Kein Dokument im Verzeichnis BW gefunden!"
                 doc.TName="0"
                 doc.Save True,False
                 
                 
           End If            
           Set doc = collection.GetNextDocument(doc)
           
     Next
End Sub
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
Client & Server R 5.011
Principal Certified Lotus Professional R5 System Administration
Microsoft Certified Systems Engineer 2000
Microsoft Certified Systems Administrator 2000
Microsoft Certified Systems Administrator 2003
Microsoft Certified Systems Engineer 2003

Offline Silke

  • Senior Mitglied
  • ****
  • Beiträge: 463
  • Geschlecht: Weiblich
  • Carpe Diem
Re: Frage zu Script!
« Antwort #5 am: 24.05.02 - 11:33:28 »
Mal nachgefragt    wozu brauchst Du den Agenten ??? ??? Will ja dazulernen ;D

Silke  8) ???
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
Silke 8)

1. Mitglied der 1. DAU Selbsthilfegruppe :D

Support für Alles und Jeden

Offline kwalli

  • Frischling
  • *
  • Beiträge: 16
  • Geschlecht: Weiblich
  • I love winnie the puh
Re: Frage zu Script!
« Antwort #6 am: 24.05.02 - 12:02:23 »
hi christopher,

du greifst auf 2 verschiedene db's zu, dann mußt du auch 2 verschiedene variablen deklarieren.
das ist dasselbe wie mit den "doc".

mfg
kwalli
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »

Offline Friese

  • Frischling
  • *
  • Beiträge: 41
  • Geschlecht: Männlich
  • Wo kann man günstig ne Datenbank hosten?
Re: Frage zu Script!
« Antwort #7 am: 24.05.02 - 12:19:07 »
Mit ein bißchen Phantasie wußte ich, was Du vorhast. Hast aber einiges doppelt gemoppelt.

So würde es glaube ich besser aussehen:

Sub Initialize
    Dim session As New NotesSession
    Dim db As NotesDatabase
    Dim doc As NotesDocument, doc2 As notesDocument
    Dim view As NotesView
    Dim collection As NotesDocumentCollection      
    Set session = New notessession
    Set db=session.currentdatabase
    Set collection=db.UnprocessedDocuments
   
    server = "ZKOMZMILDBW"
    dbfile = "orgdb.nsf"
    Set db2 = New NotesDatabase( server, dbfile )
   
    For i=1 To collection.count
         
         Set doc=collection.GetNthDocument (i)
         
         vname=doc.Firstname(0)
         nname=doc.LastName(0)
         gname=vname + nname
         
         
         Set view = db2.GetView( "($Users)" )
         Set doc2 = view.GetDocumentByKey( gname )
         
         If Not (doc2 Is Nothing) Then
'Felder übernehmen
              doc.TName="1"
              Msgbox "Es gibt schon einen Nutzer mit dem Namen " + gname + " handelt es sich um die selbe Person?"
             
         Else
              doc.TName="0"
              Msgbox"Kein Dokument im Verzeichnis BW gefunden!"
         End If
         
         doc.Save True,False
         
    Next
End Sub
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »

Offline Christopher

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.060
  • Geschlecht: Männlich
  • Dumm ist der, der dummes tut.
Re: Frage zu Script!
« Antwort #8 am: 24.05.02 - 12:28:56 »
Hallo Silke,

ich erstelle gerade eine DB für die Administatoren die neu Nutzer anfordern. Für jeden neuen Nutzer wird ein Dokument erfaßt. Bevor der Admin die Anforderung an mich sendet soll er vorher einen Namenstest machen.

Wenn es den Nutzer schon in unserer OrgDB gib bekommt er eine Meldung. Die Werte TName werden als Symbol in der Ansicht angezeigt. Grün für OK rot für nicht OK.

Wenn die Dokument bei mir sind exportiere ich per Script die Dokumente in eine Textdatei für die Registratur. Registrier die Nutzer überprüfe die Angaben in den Dokumenten und anschließen wird per Agent die Angaben Tel. Fax usw ins Verzeichnis bzw die OrgDB übernommen.

@Firse
danke für die Optimierung des Cod. Werde es gleich mal ausprobieren.
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
Client & Server R 5.011
Principal Certified Lotus Professional R5 System Administration
Microsoft Certified Systems Engineer 2000
Microsoft Certified Systems Administrator 2000
Microsoft Certified Systems Administrator 2003
Microsoft Certified Systems Engineer 2003

Offline Silke

  • Senior Mitglied
  • ****
  • Beiträge: 463
  • Geschlecht: Weiblich
  • Carpe Diem
Re: Frage zu Script!
« Antwort #9 am: 24.05.02 - 12:31:34 »
Aha danke  jetzt habe ich es glaube ich :-[


Werde es gleich in meine KN-DB übernehmen ;)

silke  8)
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
Silke 8)

1. Mitglied der 1. DAU Selbsthilfegruppe :D

Support für Alles und Jeden

Offline Friese

  • Frischling
  • *
  • Beiträge: 41
  • Geschlecht: Männlich
  • Wo kann man günstig ne Datenbank hosten?
Re: Frage zu Script!
« Antwort #10 am: 24.05.02 - 12:35:17 »
Hallo!

Fast vergessen: Zwischen dem vname und nname muß wohl auch noch ein " ".

Sprich

gname=vname + " " + nname  

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

Offline Christopher

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.060
  • Geschlecht: Männlich
  • Dumm ist der, der dummes tut.
Re: Frage zu Script!
« Antwort #11 am: 24.05.02 - 12:47:09 »
Ja Du hast recht ist aber nicht unbedingt in der Ansicht User erforderlich. (siehe Verseichnis)

Wenn Du eine Adress ohne Vornamen hast muß Du wiede die leerzeichen entfernen.
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
Client & Server R 5.011
Principal Certified Lotus Professional R5 System Administration
Microsoft Certified Systems Engineer 2000
Microsoft Certified Systems Administrator 2000
Microsoft Certified Systems Administrator 2003
Microsoft Certified Systems Engineer 2003

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz