Autor Thema: Vorschläge für Software Tracking  (Gelesen 3969 mal)

Offline seerow

  • Aktives Mitglied
  • ***
  • Beiträge: 180
  • Geschlecht: Männlich
  • alles wird gut........
Vorschläge für Software Tracking
« am: 11.02.04 - 12:28:01 »
Hallo,

ich brauch mal Bitte ein paar Ideen für eine "Software Update Trace" Datenabank.
Ich habe einen Datenbank mit ca. 400 PC's. Nun fallen in laufe der Zeit diverse Softwareupdates auf den Maschinen an.
Das dumme ist nur die meisten Software Updates werden an einen Tag auf allen 400 PC's installiert. Jetzt habe ich das
kleine Problem in fast 400 Dokumenten, manuell einen Eintrag zu machen, dass ich das Update installiert habe.

Ich dachte mir ich lege zuerst eine eigene View bzw. ein eigenes Formular an, mit den ich Software Update Doks erstellen kann.
Nur wie bekomme ich jetzt in eine bestimmte Anzahl von Doks einen Eintrag mit dem Software Updates?
MFG Antonio

-----------------------------------------------------------------------

Ordentliche Menschen sind selten genial,
geniale selten Ordentlich............

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Vorschläge für Software Tracking
« Antwort #1 am: 11.02.04 - 12:44:11 »
Das ist eigentlich recht einfach:
- Agent für markierte Dokumente
- Als erstes Dialogbox, damit Du den gewünschten Wert setzen kannst.
- Anschliessend loopst Du durch alle "UnprocessedDocuments" (das sind Deine markierten Docs) und änderst den Wert Deiner Wahl.

HTH,
Bernhard

Offline seerow

  • Aktives Mitglied
  • ***
  • Beiträge: 180
  • Geschlecht: Männlich
  • alles wird gut........
Re:Vorschläge für Software Tracking
« Antwort #2 am: 11.02.04 - 13:56:48 »
mh die Idee hatte ich auch schon.

Sub Click(Source As Button)
   Dim w As New notesuiworkspace
   Dim doc As notesuidocument
   
   Set doc = w.currentdocument
   
   Call doc.FieldAppendText("sw_update", "Es wurde folgendes Software Update eingespielt:" +Chr(10)+"sw")
   Call doc.FieldSetText("sw","")
End Sub

aber irgendwie geht es nicht, ich bekommen immer in der view die FM cannot locate field
MFG Antonio

-----------------------------------------------------------------------

Ordentliche Menschen sind selten genial,
geniale selten Ordentlich............

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Vorschläge für Software Tracking
« Antwort #3 am: 11.02.04 - 14:12:02 »
Die Fehlermeldung ist logisch - das Feld kann er ja nur belegen, wenn er im EditMode ist.

Ich habe das aber auch gar nicht so gemeint:
Du erstellst Dir eine Maske, in der Du (für alle zu ändernden Docs) eintragen kannst, welcher Wert einem Feld hinzuzufügen ist.
Diese Maske rufst Du mit Dialogbox und einem temporären Dokument auf.
Dann wertest Du das Feld in Deinem TempDoc aus und startest danach eine Schleife durch alle UnprocessedDocuments und fügst den Wert aus TempDoc dem Feld Deiner Wahl im gerade zu bearbeitenden (Backend-)Dokument hinzu und speicherst dann das geupdatete Backend-Doc.

Bernhard

Offline seerow

  • Aktives Mitglied
  • ***
  • Beiträge: 180
  • Geschlecht: Männlich
  • alles wird gut........
Re:Vorschläge für Software Tracking
« Antwort #4 am: 11.02.04 - 14:35:02 »
sorry, ich habe keine plan wovon du sprichst  ??? Bin noch etwas neu in Notes. Ich will es jetzt so machen:

1. Ich markiere die nötigen Dokumente.
2. ich öffne eine Dialogbox, in der dialogbox wird über @dbcolmun eine Spalte ausgelesen mit fixen ausgelesen.
3. über ein button will ich nun das zeuch in ein Feld schreiben.

Sub Click(Source As Button)
   Dim w As New notesuiworkspace
   Dim doc As notesuidocument
   
   Set doc = w.currentdocument
   Set col = cdb.unprocesseddocuments    
   Set cdoc = col.getfirstdocument
   
   Call doc.FieldAppendText("sw_update", "Es wurde folgendes Software Update eingespielt:" +Chr(10)+"sw")
   Call doc.FieldSetText("sw","")
   Call cdoc.Save(True, False)
   Set cdoc = col.getnextdocument( cdoc)
End Sub

nur irgend wie macht er es einfach nicht....
MFG Antonio

-----------------------------------------------------------------------

Ordentliche Menschen sind selten genial,
geniale selten Ordentlich............

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Vorschläge für Software Tracking
« Antwort #5 am: 11.02.04 - 14:50:04 »
Setz' erstmal Option Declare. Der LS-Compiler wird dann gesprächiger.

Bernhard

Offline seerow

  • Aktives Mitglied
  • ***
  • Beiträge: 180
  • Geschlecht: Männlich
  • alles wird gut........
Re:Vorschläge für Software Tracking
« Antwort #6 am: 11.02.04 - 16:53:05 »
Hallo Bernhard,

ich bin in Lotus Script nicht so bewandert (ich arbeite aber daran). Mit der Option declare kann ich leider nichts
anfangen.

PS: habe dir übrigens zum Planer Applet noch ne kurze note geschickt......
MFG Antonio

-----------------------------------------------------------------------

Ordentliche Menschen sind selten genial,
geniale selten Ordentlich............

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Vorschläge für Software Tracking
« Antwort #7 am: 11.02.04 - 17:11:11 »
Option Declare veranlasst, dass jede nicht ausdrücklich definierte Variable vom Compiler angemeckert wird. Bei Dir wäre das zum Bleistift cdoc.
Man sollte - meine Erfahrung - nicht eine einzige Codezeile schreiben, ohne Option Declare geschrieben zu haben. Damit spart man sich stundenlanges Fehlersuchen nach scheinbar vollkommen mysteriösen Verhalten des eigenen Programmes.

Beispiel:
AktSchifffahrtsstrasse = "Limfjord"
MessageBox AktSchiffahrtsstrasse

Erkennst Du auf den ersten Blick, warum die Massagekabine leer bleibt ? Mit Option Declare hättest Du das nicht mal kompilieren können ;-)

HTH,
Bernhard

PS: Emaille habe ich gelesen und auch schon beantwortet ;-)

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re:Vorschläge für Software Tracking
« Antwort #8 am: 12.02.04 - 10:28:31 »
... workspace funktioniert in diesem Zusammenhang nicht. Ich würde es mit Formeln machen, da ist alles einfacher. Ansonsten mit LS verwende einen "Einmalig ausführen"-Agenten und dann

Code
Dim session as New NotesSession
Dim dc As NotesDocumentCollection
Dim doc As NotesDocument

Set dc = session.CurrentDatabase.UnprocessedDocuments
If dc.Count > 0 Then
   Set doc = dc.GetFirstDocument
   While Not doc Is Nothing
         ' # hier dein Code zur Berichtigung der markierten Dokumente
         doc.Feldname = ArrayAppend( doc.Feldname , "was hinzugefügt werden soll" )
         Call doc.Save(True , True)
      Set doc = dc.GetNextDocument(doc)
   Wend
End If

ata
Grüßle Toni :)

Offline seerow

  • Aktives Mitglied
  • ***
  • Beiträge: 180
  • Geschlecht: Männlich
  • alles wird gut........
Re:Vorschläge für Software Tracking
« Antwort #9 am: 12.02.04 - 14:34:18 »
also ich bekomme das einfach nicht hin. Mal kurz zum besseren Verständniss:

- ich habe ne View in der Fixe drin stehen -> Fix1, Fix2 etc.
- nachdem ich jetzt mein Doks in der Hauptview ausgewählt habe öffne ich über 'nen Button ein Dialogbox mit einen kleinen
  dropdown Menü (die daten für das dropdown werden über @dbcolumn aus der fixview geholt).
- über einen Button soll nun das fix in ein computed Feld im Dok geschrieben werden.

@ata, ich verstehe das nicht, was habe ich denn nur falsch gemacht an meinen Script?

Sub Click(Source As Button)
   Dim session As New NotesSession
   
   Set doc = w.currentdocument
   Set dc = session.CurrentDatabase.UnprocessedDocuments
   If dc.Count > 0 Then
      Set doc = dc.GetFirstDocument
      While Not doc Is Nothing
         Call doc.FieldAppendText("sw_update", "Es wurde folgendes Software Update eingespielt:" +Chr(10)+"sw")
         Call doc.Save(True , True)
         Set doc = dc.GetNextDocument(doc)
      Wend
   End If
End Sub
MFG Antonio

-----------------------------------------------------------------------

Ordentliche Menschen sind selten genial,
geniale selten Ordentlich............

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re:Vorschläge für Software Tracking
« Antwort #10 am: 13.02.04 - 08:39:58 »
@seerow,

Call doc.FieldAppendText...

ist eine Methode aus NotesUIDocument, du initialisierst aber ein NotesDocument => er behauptet, daß die Methode im Objekt nicht existiert...

... ich würde das nicht über den DBColumn machen, du schränkst dich damit zu sehr ein, da der DBColumn Grenzen in der Rückgabe hat. Du kannst auch einen PickList verwenden. Mein Code oben reagiert auf eine Ansicht. Bei der PickList funzt das ähnlich, nur ziehst du dir die Collection aus der PickList => NotesUIWorkspace in der NotesHilfe

ata
Grüßle Toni :)

Offline kawie

  • Junior Mitglied
  • **
  • Beiträge: 87
  • Ich liebe dieses Forum! Und wie :-)
Re:Vorschläge für Software Tracking
« Antwort #11 am: 16.02.04 - 13:48:54 »
Wegen dem append sollte das Helfen.

Du musst erst ein Feld definieren und kannst es dan auch füllen.

Code
Set rtitem = New NotesRichTextItem ( doc, "Body" )
Call rtitem.AppendText( "Text Deiner Wahl" )


Zumindest funktioniert es wenn das Feld leer war...


Gruss

Kai

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.730
  • Geschlecht: Männlich
Re:Vorschläge für Software Tracking
« Antwort #12 am: 16.02.04 - 13:56:26 »
ich helfe mir immer mit diesem kleinen Agenten. Kann in jeder DB ohne Änderungen eingesetzt werden

http://www.eknori.de/tipps/detail.php?nr=90&kategorie=tipps

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

Offline seerow

  • Aktives Mitglied
  • ***
  • Beiträge: 180
  • Geschlecht: Männlich
  • alles wird gut........
Re:Vorschläge für Software Tracking
« Antwort #13 am: 16.02.04 - 15:57:03 »
@kawie
vielen danke, dass werde ich gleich mal testen

@eknori
das habe ich schon beim "stöbern" auf deiner (tollen) HP gefunden.
Super Teil.

Aber ich habe in den letzten Tagen noch etwas selbst rumm gebastelt, aber irgend wie will es nicht gehen....hier mein derzeitiger code:

Sub Click(Source As Button)
   Dim session As New NotesSession
   Dim workspace As New NotesUIWorkspace
   
   Set db = session.CurrentDatabase
   Set collection = db.UnprocessedDocuments
   
   picklist = workspace.Pickliststrings(3, False,"","","sw_update", "Titel", "Eingabeaufforderung", 1)
   
   Set doc = collection.GetFirstDocument
   While Not (doc Is Nothing)
      doc.sw_update_history = picklist
      Call doc.Save(True,False)
      Set doc = collection.GetNextDocument(doc)
   Wend
End Sub

Incorrect Argument: non-null string expected
« Letzte Änderung: 16.02.04 - 16:29:28 von seerow »
MFG Antonio

-----------------------------------------------------------------------

Ordentliche Menschen sind selten genial,
geniale selten Ordentlich............

Offline dh-paule

  • Aktives Mitglied
  • ***
  • Beiträge: 199
  • Geschlecht: Männlich
  • DNUG Award 2006
DANKE an eknori
« Antwort #14 am: 16.02.04 - 15:59:06 »
Ich hänge mich jetzt mal hier rein, ganz einfach weil ich über eknori's Agenten so total begeistert bin !!! Klasse, das spart mir und meinen Kollegen ganz schön viel TippArbeit... :-)

Life on earth may be expensive,
but it does include an annual free trip around the sun


_________________________________________________________

Driri

  • Gast
Re:Vorschläge für Software Tracking
« Antwort #15 am: 16.02.04 - 17:12:47 »
Sub Click(Source As Button)
   Dim session As New NotesSession
   Dim workspace As New NotesUIWorkspace
   
   Set db = session.CurrentDatabase
   Set collection = db.UnprocessedDocuments
   
   picklist = workspace.Pickliststrings(3, False,"","","sw_update", "Titel", "Eingabeaufforderung", 1)
   
   Set doc = collection.GetFirstDocument
   While Not (doc Is Nothing)
      doc.sw_update_history = picklist
      Call doc.Save(True,False)
      Set doc = collection.GetNextDocument(doc)
   Wend
End Sub

Incorrect Argument: non-null string expected

Also was direkt auffällt ist, daß doc, db und picklist nicht deklariert sind. Das wird zwar nicht direkt den Fehler auslösen, aber unsauber ist es allemal.

Driri

  • Gast
Re:Vorschläge für Software Tracking
« Antwort #16 am: 16.02.04 - 17:27:32 »
Ich hab noch nen bißchen getestet. Die Fehlermeldung kommt von den beiden Null-Strings für die Parameter Server und Database im Pickliststrings.

Zwei Möglichkeiten sehe ich da :

1) Server fest eintragen (sicherlich nicht ideal, außer es läuft eh nur auf einer Maschine)

2) db.Server und db.FilePath als Parameter verwenden

Offline seerow

  • Aktives Mitglied
  • ***
  • Beiträge: 180
  • Geschlecht: Männlich
  • alles wird gut........
Re:Vorschläge für Software Tracking
« Antwort #17 am: 17.02.04 - 09:40:06 »
Moin zusammen,

danke für die vielen Antworten. Aber es klappt nicht......... ??? Hat niemand ein funktionierendes Beispiel am Start.
Was trag ich eigentlich bei server und filename ein, wenn die DB lokal liegt?
MFG Antonio

-----------------------------------------------------------------------

Ordentliche Menschen sind selten genial,
geniale selten Ordentlich............

Driri

  • Gast
Re:Vorschläge für Software Tracking
« Antwort #18 am: 17.02.04 - 10:10:09 »
Hi,

hast Du meine Antworten gelesen ? Mit den angesprochenen Änderungen klappte das bei mir problemlos. Und wenn Du db.Server und db.Filepath verwendest, sollte das auch mit ner lokalen Datenbank funktionieren.

Also so :

Sub Click(Source As Button)
   Dim session As New NotesSession
   Dim workspace As New NotesUIWorkspace
   Dim db as NotesDatabase
   Dim doc as NotesDocument
   Dim picklist As Variant
   
   Set db = session.CurrentDatabase
   Set collection = db.UnprocessedDocuments
   
   picklist = workspace.Pickliststrings(3, False,db.Server,db.FilePath,"sw_update", "Titel", "Eingabeaufforderung", 1)
   
   Set doc = collection.GetFirstDocument
   While Not (doc Is Nothing)
      doc.sw_update_history = picklist(0)
      Call doc.Save(True,False)
      Set doc = collection.GetNextDocument(doc)
   Wend
End Sub

Offline seerow

  • Aktives Mitglied
  • ***
  • Beiträge: 180
  • Geschlecht: Männlich
  • alles wird gut........
Re:Vorschläge für Software Tracking
« Antwort #19 am: 17.02.04 - 13:30:46 »
stimmt jetzt geht es  8) , Vielen Dank. Aber ich bin mit der Picklist Lösung nicht so glücklich.

Ich finde es besser wenn man es als Dialog aufrufen kann. Wie ich es auch am Anfang diese Posts erklärt habe.
MFG Antonio

-----------------------------------------------------------------------

Ordentliche Menschen sind selten genial,
geniale selten Ordentlich............

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz