Beiträge von Crashdow

    Ich habe ein ähnliches Problem, ich habe einen Agent geschrieben der neue Dokumente in der Datenbank erstellt (mit daten aus anderen Datenbanken).
    Der Agent ist in Skript geschrieben und läuft nur wenn ich ihn persönlich starte. Wenn ich mir das Protokoll ansehe erzählt er mir:


    Started running agent 'Zähler' on 11.12.2005 07:02:16 AM
    Running on all documents in database: 492 total
    Found 492 document(s) that match search criteria
    Ran LotusScript code
    Done running agent 'Zähler' on 11.12.2005 07:02:17 AM


    In der Information von den Dokumenten selber steht aber das das Dokument am 24.11 das letzte mal von mir geändert wurde (da habe ich den Agent zuletzt laufen lassen)


    Ich habe den Agent jetzt mal mit der Server ID Signieren lassen und hoffe das er nächstes Wochenende (So.) läuft.

    Guten Morgen,


    ich möchte von einem Dokument ein anderes öffnen und habe das Problem das ich den Befehl nicht finden kann.


    Sub Click(Source As Button)

    Dim uiws As New NotesUIWorkspace
    Dim session As New Notessession
    Set db = session.CurrentDatabase
    Set collection = db.UnprocessedDocuments
    Dim workspace As New NotesUIWorkspace

    Dim doc As NotesDocument
    Dim uidoc As NotesUIDocument
    Set UIdoc = uiws.CurrentDocument

    '------------ Erstelle Dokument-----------------
    Set doc = db.CreateDocument
    doc.Form = "(Antrag)"

    '--------------------------------------------------------
    var = uidoc.FieldGetText("TK_Datum")
    doc.Antrag_Datum = var



    End Sub


    Das ist mein bisheriger Code, mir fehlt nur noch ein Befehl (open oder so) mit dem ich das Dokument (doc) öffnen kann.



    Danke für eure Hilfe

    Hm,


    es ist echt lustig. Jetzt klappt es wieder. Es muß irgendwie an der indizierung liegen, die wohl nicht nachkommt (dabei ist die DB sehr klein)
    machmal werden die Kategorien sofort erkannt, manchmal erst später.


    Danke für eure Antworten
    Gruß
    Christian

    Habahabahabahbabahaba,


    ich weiß beim besten willen nicht warum, aber auf einmal läuft das ganze. *kratzAmHinterkopf*


    Das ist wieder eines der Phänomene wo ich hoffe es nicht noch mal in die andere Richtung auftritt.



    Gruß und Danke
    Christian

    Teil 1 habe ich gelöst, irgendwie hat er auf dem Server das Datum in der Maske anders aufgelöst als das Datum in der Ansicht. Jetzt habe ich einfach komplett aufgelöst [ @Year .. + "§" + @Month ...]. Dann funzt es.


    Bei Teil 2 habe ich immer noch das Problem das er die Zahl nicht erkennt. Ich habe nun ein Feld in meiner "Einstellungsmaske" erzeugt, das als Counter funktioniert.


    Mit


    If uidoc.IsNewDoc Then
    Set view = db.GetView( "Einstellung" )
    Set doc = view.GetFirstDocument /* Es ist nur ein doc enthalten

    If Not(doc Is Nothing) Then
    var = doc.CounterKategorie(0)
    Call uidoc.FieldSetText("KategorieNr", Cstr(var)) /* das Feld nimmt nur Text auf */
    var = var + 1
    doc.CounterKategorie = var
    Call doc.Save ( True, False )
    End If


    End If




    Überprüfen tue ich hinterher mit:


    Set db = session.CurrentDatabase
    Set view = db.GetView( "Nach Kategorie" )
    Set view2 = db.GetView( "(LookupKategorie)" )
    Set doc = view.GetFirstDocument

    While Not(doc Is Nothing)

    suchNr = doc.KategorieZahl(0)
    If Not(suchNr = "") Then

    Call view2.FTSearch( Cstr(suchNr), 0 )
    Set doc2 = view2.GetFirstDocument

    -->
    If Not (doc2 Is Nothing) Then
    Forall x In doc2.GetItemValue("KategorieLookup")
    doc.Kategorie = x
    End Forall
    End If
    <--

    End If

    Call doc.Save ( True, False )
    Set doc = view.GetNextDocument ( doc )



    Ich habe die suchNr auch extra noch mal als String deklariert, funzen tut es dennoch nicht.


    Die Kategorie und die KategorieNr (suchNr) werden per Picklist in die Felder der Hauptmaske (doc) übergeben


    Ich weiß beim besten willen nicht wieso er das nicht macht. eigentlich suche ich mit einem String nach einem String.
    Dennoch findet er nie ein passendes document und überspringt die If - Schleife --> <--

    Hi,
    eine bessere überschrift ist mir nicht eingefallen. Ich habe das Problem das ich einen Counter aufbauen möchte. Die Zahl speichere ich auf meine "Einstellungs-Maske" und zähle sie ständig wieder hoch.
    Jetzt habe ich das Problem das er mir jedes mal, auf uidoc, sagt das er Text erwartet.
    Kann mir jemand sagen wie ich das ändere? Oder wie ich "var" in einen Text umforme.



    Dim ws As New NotesUIWorkspace
    Dim session As New NotesSession
    Dim db As NotesDatabase
    Dim view As NotesView
    Dim doc As NotesDocument
    Dim uidoc As NotesUIDocument

    Set db = session.CurrentDatabase
    Set UIdoc = ws.CurrentDocument

    Set view = db.GetView( "Einstellung" )
    Set doc = view.GetFirstDocument


    If Not(doc Is Nothing) Then
    Messagebox( "hm" )
    var = doc.CounterKategorie(0)
    Call uidoc.FieldSetText("KategorieNr", var)
    Messagebox( var )
    var = var + 1
    Messagebox( var )
    doc.CounterKategorie = var
    Call doc.Save ( True, False )
    End If



    Gruß
    Christian

    Hm,


    kannst du mir eine andere Möglichkeit nennen wie ich den Kategorien Zahlen zuordnen kann? Meine erste Idee war ja Lookup und dann die letzte Zahl + 1, aber das habe ich nicht wirklich hinbekommen.
    Irgendwie wollte das nicht so laufen wie ich es gerne gehabt hätte.

    :D


    Also, ich habe eine Datenbank in der die Kategorien in einer eigenen Maske erstellt werden.
    Diese Kategorien werden über eine Picklist in die Hauptmaske geholt.


    Ich kontrolliere aber gleichzeitig bei jedem speichern ob die Kategorie noch stimmt. Dazu habe ich versteckt zu jeder Kategorie (jedem Kategorie-Dokument) eine Zahl kreiert [über @If(@IsNewDoc; @DocNumber; KategorieNr) ]


    Diese Zahl wird über die Pickliste ebenfalls auf meiner Hauptmaske gepeichert und über diese Prüfe ich die aktuallität der Kateorie.
    (beim ändern der Kategoriebezeichnung bleibt die Zahl ja gleich)


    @DbLookup("":"NoCache";"":""; "(LookupKategorie)"; KategorieZahl; 2;[FailSilent])


    Die Ansicht ist so aufgebaut das in der ersten Spalte die Zahl und in der Zweiten die Kategorie steht. In der dritten stehen die Daten für die Pickliste [ KategorieNr + "§" +KategorieLookup ]







    zu 1
    Das hatte ich auch schon probiert, dann wandelt sich der Fehler in ein error.
    Mich wundert vor allem das es lokal funktioniert und auf dem Server nicht.

    zu 1


    _Lookup := @DbLookup( "":"NoCache"; "":""; "(LookupAnträge)"; @Text(@Date(Antrag_Datum)) + "§" + @Text(@Time(Antrag_Zeit)); 2; [FailSilent]);


    @If( Antrag_AnzahlPer != ""; @Sum(_Lookup); Nothing)


    Steht in dem Feld drin, welches die Daten hinterher halten soll.


    Auf dem Server erscheint nach dem Speichern oder Aktuallisieren das eine Zahl erwartet wird.



    Die Ansicht besteht aus dem ersten Feld [@Text(@Date(Antrag_Datum)) + "§" + @Text(@Time(Antrag_Zeit))] und einem zweiten Feld [AnzahlPers] in der eine Zahl steht.


    Wie gesagt, Lokal funzt es, auf dem Server nicht




    zu 2.
    Ich überprüfe das Feld beim speichern des Dokuments. Der DBLookup Befehl vergleicht die erste Spalte der Ansicht mit einem Feldinhalt in der Maske und holt sich dann die Kategorie bzw. den Wert in Spalte 2.


    Bei den ersten 4 Reihen in der Ansicht funktioniert das auch, da bleiben die Daten auch nach dem speichern im Feld.


    Bei allen weiteren löscht er den Inhalt des Feldes obwohl der Inhalt des Key-Feldes mit dem der 1 Spalte der Ansicht übereinstimmt

    Hi,


    ich habe zwei Probleme die ich mir nicht erklären kann.


    1.
    Ich habe eine Ansicht die über einen Lookupbefehl aus einer weiteren Ansicht Daten (Zahlen) holt und diese mit @Sum summiert.
    Die Datenbank liegt auf dem Server und zeigt mir ständig einen Fehler.
    Kopiere ich die Datenbank jedoch auf meine Lokale Platte läuft das ganze einwandfrei.


    Kann mir jemand sagen warum? Es kann doch nicht sein das es Lokal funzt und auf dem Server nicht.




    2.
    Ähnliches Problem, ich habe eine Ansicht mit Kategorien, die ersten 4 Eintragungen lassen sich über den DBLookup Befehl aufrufen die anderen nicht.




    Ich hoffe jemand kann mir dabei helfen, ich weiß leider nicht mehr weiter.



    Gruß
    Christian

    Hi,


    ich möchte Mehrfachwert-Felder per Agent beschreiben. Die Daten dazu kommen von mehreren Dokumenten die ich auf der Ansicht ausgewählt habe.
    Bei normalen Feldern klappt es, aber ich bin noch nicht dahintergestiegen wie ich es bei Mehrfachwert-Feldern programmieren muß.


    Anfangs hatte ich gehoft es mit


    docText.Datum = docText.Datum + ";" + doc.TK_Datum hinzubekommen. Da das leider nicht funktioniert habe ich im Forum den Befehl Arrayappend gefunden.
    Dieser setzt aber, glaube ich zwei Arrays vorraus.


    Ich habe aber auf der einen Seite nur ein Feld das Mehrfachwerte aufnehmen kann und auf der anderen Seite einen String (entweder aus einem Feld ausgelesen oder hardcodiert).



    Hier ein Ausschnitt:
    [docText.Feldname = Mehrfachwert-Felder
    doc.Feldname = einfache Textfelder]


    While Not(doc Is Nothing)

    docText.Datum = Arrayappend(docText.Datum, doc.TK_Datum)
    docText.Anzahl = Arrayappend(docText.Anzahl, doc.TK_Anzahlges)
    docText.Schützenhalle = Arrayappend(docText.Schützenhalle, "in der Schützenhalle")
    docText.Zeit = Arrayappend(docText.Zeit, "13:30")


    Set doc = collection.GetNextDocument(doc)


    Wend


    Laut Fehlermeldung liegt in dem Bereich der Fehler im Agent.


    Danke
    Christian

    Hi,


    ich habe das Problem das ich alte Notes Dokumente habe die ich aktuallisieren möchte. Sie greifen über ein DBLookup auf eine andere Maske zu. (z.B wird darüber die Kategorie eingelesen)
    Die habe ich jetzt geändert und möchte diese Änderung auch an auf alle Dokumente übernehmen.


    Leider stellt Notes, wenn ich es nicht übersehen habe, keine direkte Möglichkeit dazu zur Verfügung.


    Meine Idee dazu ist das ich die Dokumente mittels Agent einmal durchlaufen lasse (öffnen, speichern). Dabei habert es bei mir aber noch total an der Umsetzung.


    Kann mir da jemand sagen wie ich das realisieren kann bzw. mich auf die richtige Spur schieben?



    Danke

    Hi, ich möchte eine Maske direkt als Dialogbox öffnen. Dazu habe ich im QueryOpenDocument, in Formelsprache, einen Aufruf
    @DialogBox("Antrag"; [AutoHorzFit]:[AutoVertFit]:[SizeToTable]:[OkCancelAtBottom]; "Antrag") eingefügt. Jetzt öffnet er mir die Maske aber erst als Dialogbox und danach ganz normal als Maske.


    In LotusSkript ist der Befehl um das öffnen eines Dokumentes zu verhindern Continue = False, wie ist er in Formelsprache?



    Danke
    Christian

    Das ist viel zu viel des guten, der Befehl ex- und importiert mir ja gleich die ganze Datenbank. Ich brauche einen Befehl der nur ein Dokument importiert.

    Hi,


    ich möchte Dateien, per Agent, in eine Notes-Datenbank


    In dem Format habe ich mir eigentlich für XML entschieden, wobei das mehr oder weniger egal ist, da die Dateien noch nicht exsistieren, welche in die Datenbank eingelesen werden und ich somit auf die Art der Datei noch Einfluss nehmen kann.


    Die Daten, die zwischen den einzelnen Tags stehen sollen in die jeweiligen Felder importiert und gespeichert werden. Dabei soll der Tag den Namen des Feldes haben (wenn das geht)
    Ich habe leider nichts dementsprechendes gefunden, das mir weiterhilft.


    Hat da jemand schon mal in die Richtung geproggt und kann mir vielleicht ein Codebeispiel geben?



    Danke!
    Gruß
    Christian



    PS: was ist eine DXL? Immer wen ich nach XML suche finde ich DXL