Autor Thema: Feldart bei @DocumentUniqueID  (Gelesen 1712 mal)

Offline oksenator

  • Junior Mitglied
  • **
  • Beiträge: 93
Feldart bei @DocumentUniqueID
« am: 29.03.10 - 15:41:11 »
Hallo,
um einen Link auf einem Antwort-Doc zum Haupt-Doc zu haben, habe ich ein Feld auf dem Haupt-Doc (heißt "DocID", ist "computed")  mit "@DocumentUniqueID" und übernehme den Wert mit in ein Feld auf dem Antwort-Doc. mach ich schon seit 100 Jahren so, war nie ein Problem.
Jetzt ist mir heute aufgefallen, das wir in einer DB wo ich das nachträglich eingebaut habe, das Feld "DocID" leer ist. Ok, kein Problem, las ich einen Agent drüberlaufen, dann wird das Feld neu berechnet

   Dim session As New NotesSession
   Dim db As NotesDatabase
   Dim view As NotesView
   Dim doc As NotesDocument   
   Set db = session.currentdatabase
   Set view = db.getview("All Agent Information")
   Call view.refresh   
      view.autoupdate = False   
   Set doc = view.getfirstdocument   
   While Not doc Is Nothing
      Call doc.computewithform(True, False)
      Call doc.save(True, False)
      Set doc = view.getnextdocument(doc)
   Wend

Auf einmal hab ich keinen Link sondern die UNID als Text im Dokument stehen. Dank EZ-scan bin ich jetzt drauf gekommen, das das Feld "DocID" jetzt ein normales Textgfeld ist und nicht vom Format "Note ref. List". Es fehlt auch das "[UNID]" vor der UNID-Nummer.
Wenn ich das Dokument aber manuell öffne, Bearbeite und speichere, dann ist wieder alles korrekt. Ich habe aber keine Lust 700 Dokumente manuell zu bearbeiten und zu speichern. Hat einer eine Idee was ich da machen könnte.
Danke
Oliver
---------------------------------------------------------------------
Goals are deceptive - the unaimed arrow never misses

BigWim

  • Gast
Re: Feldart bei @DocumentUniqueID
« Antwort #1 am: 12.04.10 - 12:22:54 »
ich vermute mal: Wenn das Item bereits als Text angelegt ist, wirst Du keine Chance mehr haben.  Auch weil ich bisher nirgens gefunden haben, wie ich diesen Feldtyp "bewußt" anlegen kann.

Wenn überhaupt, mußt Du vor dem
Code
Call doc.computewithform(True, False)

das Item löschen.

Also sinngemäß so

Code
While Not doc Is Nothing
      Call doc.RemoveItem ....
      Call doc.Save ....
      Call doc.computewithform(True, False)
      Call doc.save(True, False)
      Set doc = view.getnextdocument(doc)
Wend


Markus


Und nur mal so am Rande. Wäre ein

Code
@Command( [ToolsRefreshAllDocs] ) 

nicht einfacher?

Offline oksenator

  • Junior Mitglied
  • **
  • Beiträge: 93
Re: Feldart bei @DocumentUniqueID
« Antwort #2 am: 12.04.10 - 14:27:00 »
Hallo BigWim,
danke für den Tipp. Zufällig habe ich heute auch bescheid von IBM bekommen. Es ist wohl so, das "Computewithform" nicht mehr auf Felder funktioniert, die sich auf sich selbst beziehen. Hier die Links:

Title:        How to Use the LotusScript ComputeWithForm Method to Set Field Types
Doc #:        1096223
URL:        http://www.ibm.com/support/docview.wss?rs=899&uid=swg21096223

Title:        Is it possible to refresh documents using LotusScript
Doc #:        1092630
URL:        http://www.ibm.com/support/docview.wss?rs=899&uid=swg21092630

Und ja, ToolsRefreshAllDocs ist tatsächlich einfacher und funktioniert sogar. Man kann sich das Leben auch künstlich schwer machen.

Danke
---------------------------------------------------------------------
Goals are deceptive - the unaimed arrow never misses

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz