Beiträge von ghostxxl

    Hmm,


    guck, wenn du LN V. 6.x hast, hast du über die SelectionFormula in der NotesView die möglichkeit, die Selektionsformel der view zu ändern.


    Dazu braucht aber derjenige, der diesen Script ausführt, Designer-Rechte auf der Datenbank:


    Hier ein Auszug aus der Designer-Hilfe:


    Sub Click(Source As Button)
    Dim ws As New NotesUIWorkspace
    Dim uiview As NotesUIView
    Dim view As NotesView
    Dim formula As String
    formula = "SELECT (@Modified > [" & (Date - 7) & "])"
    Set uiview = ws.CurrentView
    Set view = uiview.View
    view.SelectionFormula = formula
    End Sub



    Das ganze geht natürlich nicht nur über die UIView, sondern auch über ganz normale Backend-Klassen (view = db.GetView("lala")).


    Hilft das mal zur Lösung des ersten Schrittes weiter?


    lg,
    ghostxxl

    Hy,


    ftsearch dauert doch immer so lang. Ich würde folgendes machen:


    1. Erstelle eine Ansicht. Die erste Spalte sollte kategorisiert sein. Der Wert für diese Spalte sollte die Kundennummer beinhalten. Zeige in der Ansicht alle Dokumente an, die du später über deinen Script auch bearbeiten möchtest.


    2. In deinem Script gehst du dann wie folgt vor:
    Dim coll As NotesDocumentCollection
    Dim view As NotesView


    Set view = db.GetView("deineansicht")
    Set coll = view.GetAllDocumentsByKey("12345", True) 'alle Dokumente mit dieser Kundennummer in coll holen


    If coll.Count > 0 Then
    Set doc = coll.GetFirstDocument
    For i = 0 To (coll.Count - 1)
    <aktion>
    Set doc = coll.GetNextDocument(doc)
    End Forall
    End If


    usw.



    Das geht dann viel viel schneller und auch einfacher zum Programmieren. Hoffe, das hilft dir.


    P.S. Den Code habe ich hier einfach runtergeschreiben. Evtl. sind rechtschreibfehler drin bzw. nicht alle variablen initialisiert..


    lg,
    ghostxxl

    Einfacher als du denkst,
    es wird nur überprüft, ob der Benutzer in diesem Dialog auch eine CSV-Datei ausgewählt hat (er könnte ja auch nur auf abbrechen gehen und dann würde das - wenn es nicht abgefangen wird - zu fehlern in deinem code führen).


    Einfache Erklärung ohne kompliziert zu werden:
    "If Not Isarray(v_ReturnValue) Then Exit Sub"
    Da v_ReturnValue vom Typ Constant definiert wird und eigentlich nur den kompletten Pfad der CSV zurückgeben soll, wird überprüft, ob die Variable belegt ist. Wenn nein, soll die Ausführung des Codes abgebrochen "Exit Sub" werden.


    "fileName = v_ReturnValue(0)"
    Wenn die Variable nicht leer ist, wird die Variable fileName mit der Variable v_ReturnValue (1. Element des Arrays v_ReturnValue --> v_ReturnValue(0)) belegt.


    Es ist die einfachste Erklärung, hoffe das hilft dir.


    lg,
    ghostxxl

    Das einzige was ich dazu sagen kann, ob du die LSCONST.LSS eingebunden hast.


    Auszug aus Designer:
    The values of the constants are defined in LSPRVAL.LSS, which is automatically included through LSCONST.LSS.



    Vielleicht kriegst du deshalb so n komischen wert zurück.


    lg,
    ghostxxl

    Hallo pega,


    den jnotes-planer kenne ich nicht. Aber der eingebettete Planer von Notes zeigt dir alle Kalendereinträge bestimmter Personen übersichtlich und mit bestimmten Einstellungen (z. B. unter einbeziehung von Feiertagen; wieviele Tage ab einem Startdatum sollen dargestellt werden usw.) an.


    das ganze ist ganz einfach zu konfigurieren - du musst lediglich nur felder erstellen - keine zeile programmcode.


    alles ist ganz einfach in der designer hilfe beschrieben.


    lg,
    ghostxxl

    Sicher:


    Dim ws As New NotesUIWorkspace


    v_ReturnValue = ws.OpenFileDialog(False, "Wählen Sie eine CSV-Datei aus", "CSV Files|*.CSV", "C:\")
    If Not Isarray(v_ReturnValue) Then Exit Sub
    'If v_ReturnValue(0) = "" Then Exit Sub
    fileName = v_ReturnValue(0)



    Au ja:
    Da hier die Frontend-Klasse (NotesUIWorkspace) verwendet wird, ist auch klar, dass der Agent nicht periodisch laufen kann. Muss also manuell ausgeführt werden - nur so zur Info...


    lg,
    ghostxxl

    meine lösung wäre über zusätzliche berechnete werte:


    für jedes feld, das gesperrt werden soll, erstellst du noch einen berechneten wert. wenn das dokument neu ist (@IsNewDoc), dann zeigst du die editierbaren felder an und versteckst die berechneten werte. wenn das dok mind. 1x gespeichert wurde (!@IsNewDoc), dann versteckst du die editierbaren felder und zeigst nur die berechneten werte an.


    somit kann niemand mehr am dok etwas im nachhinein ändern.


    lg,
    ghostxxl

    hy,


    nachdem du die ansicht in deine maske embedded hast, kannst du im Objekt-Fenster unter "Eingebettete Ansicht" --> "Einzelne kategorie anzeigen" @Text(@DocumentUniqueID) eintragen. Deine Ansicht sollte als 1. Spalte / kategorisiert auch den Wert "MainID" haben.


    Dadurch wird - wenn du ein Hauptdokument öffnest - die Ansicht neu errechnet und dir nur die Dokumente mit der DocID des Hauptdokuments angezeigt.


    lg,
    ghostxxl

    Hy Pixi,


    wie wäre es damit:


    Du schreibst die Anforderungen was das Ding so können muss und mal dein Inventar was bisjetzt schon so hast.


    Dann kriegst bestimmt hier schon sehr sehr gebräuchliche Antworten.


    Musst eben nur schreiben, was du willst. Bzw. nur genauer schreiben.


    lg,
    ghostxxl

    Hier ein Beispiel wie du mit LotusScript CSV-Files parsen kannst:


    intAnzahl =0
    impfile = "C:\test.csv"
    intNum = Freefile()

    Open impfile For Input As intNum


    Do While Not Eof(intNum)
    Line Input #intNum, strZeile
    strOrder = Strtoken(strZeile, "|",1)
    strStatus = Strtoken(strZeile, "|",2)
    Print "Bestellung " & strOrder & " Status: " & strStatus
    Loop


    Meine CSV ist wie folgt aufgebaut:
    13245|2
    45678|4


    lg,
    ayhan

    Hy,


    was für ein Workflow soll s denn werden? Natürlich bassiert vieles auf Formulare. Leider kann ich aus deiner Frage heraus nicht s verstehen, was du meinst. Hast du eine fertige Lösung, dann würd ich versuchen, die anzupassen. Wenn du jedoch keine Vorlagen hast, dann musst du eben alles selber neu erstellen, dazu gehören auch Masken / Views / Agenten usw.



    lg,
    ghostxxl