Beiträge von Westenseer

    Hallo,

    bin mal wieder da, obwohl in Rente.

    Ich hätte da gern mal ein Problem.

    ich möchte per script über einen Aktionsbutton die Selectionsformel einer Ansicht ändern.

    Zuvor möchte ich aber über ein Eingabefeld ein Suchkriterium eingeben. Wie über @contains(Feld;Wert)

    wie kann ich das per Script lösen.

    Gruß Harald

    @Rockwilder
    unsere Umstellung werde ich noch mit machen "müssen". Meinem Nachfolger kann ich das nicht übergeben, da er ein absolutes Greenhorn in Sachen Notes ist. Das kann/will ich ihm nicht antun.
    Mit meinem Abtritt stirbt wohl bis auf Weiteres die Entwicklung von Notes-DB's. :S


    @'All'
    Im Übrigen habe ich das Script getestet und es funzt :P


    Vielen Dank an alle für eure Kommeentare und für die Tipps in der Vergangenheit. Ich bin dann 'mal fast weg. :thumbsup:
    Gruß Harald

    Hallo,
    habe auf der IBM-Seite etwas gefunden, aber noch nicht ausprobiert
    hier 'mal einen Auszug aus dem Agenten. Dies ist nur ein Teil, Datenbank, NewValue etc. wurden bereits zuvor gesetzt.



    Dim nNC As NotesNoteCollection
    Dim nTempDoc As NotesDocument
    Dim sNoteID As String
    Dim behalf As NotesItem

    While Not(db2 Is Nothing)
    Call db2.open("","")
    Set nNc = db2.Createnotecollection(False)
    nNc.SelectAgents = True
    Call nNc.Buildcollection()



    sNoteID = nNc.Getfirstnoteid()
    Set nTempDoc = db2.Getdocumentbyid(sNoteID)



    While Not nTempDoc Is Nothing


    If nTempDoc.Hasitem("$OnBehalfOf") Then
    Set behalf = nTempDoc.Getfirstitem("$OnBehalfOf")
    Call nTempDoc.ReplaceItemValue( "$OnBehalfOf", newValue )
    Call nTempdoc.Save( True, True )
    End If


    Wend

    Wend
    Return




    Werde es Einmal testen und melde dann wie's funktioniert hat.
    Gruß aus den endlich einmal sonnigen Norden
    Harald

    Hallo,
    ich habe da eine Frage.
    Wir haben demnächst eine Umstellung unserer Notesserver (alle bekommen einen neuen Namen), da wir unser Rechenzentrum wechseln.
    In diversen Agenten, die z.T. auch interne Mails versenden, ist der entsprechende Server eingestellt unter (ausführen im Namen von).
    Kann man diese Einstellung ggf. per Script ändern oder muss ich jeden Agent manuell anfassen?
    Ich benutze absichtlich keine Admin- / oder Signer-ID, da hierbei automatisch eine Grußformel angefügt werden würde.
    Bin für jeden Tipp dankbar.
    Gruß Harald (der 14 Tage vor der Rente steht :P )

    Hallo zusammen,
    immer wieder mal kommt es vor, das Mails aus Anwendungen nicht versandt werden.
    Der Grund ist meist, dass der Empfänger im pers. NAB zusätzlich vorhanden ist und Notes dann mit der Adressierung nicht klar kommt.
    Gibt es die Möglichkeit dieses ggf. über den MarvelClient durch Angabe von "ContactDelegationSwitch=0" zu unterbinden? so dass erst gar keine Kontakte ins pers. NAB übertragen werden.
    Oder kann man das nur manuel über die 'Vorgaben/Kontakte' steuern?
    Hat Jemand Erfahrung damit?

    Hallo,
    ich hätte da gern 'mal ein Problem. :evil:
    In einer DB sollen weitere Personen Autorenrechte erhalten.
    Für diesen Zugriff habe ich eine Gruppe berechtigt. Das klappte bisher auch einwandfrei, die Mitglieder der Gruppe haben Sicht auf alle Dokumente.
    Nun habe ich die Gruppe um 4 Personen erweitert (siehe unten).
    Der Zugriff greift für diese Personen aber nicht. Die zusätzlichen Personen sehen die Dokumente in der DB nicht.
    Ein Refresh über alle Docs in der DB half auch nicht.

    Hat Jemand eine Lösung für dieses Phänomen ?

    Ich schon wieder ;-)
    ich hab's jetzt einmal per Java-Agent probiert, leider mit dem gleichen Ergebnis.
    Bei mir funktionierts, bei den Usern nicht :-(
    Muss wohl doch irgendwie an Rechten liegen. Werde mal weiter graben, gebe Rückmeldung, wenn ich's gefunden habe.
    Zunächst einmal vielen Dank für eure Tipps.


    import lotus.domino.*;


    public class JavaAgent extends AgentBase {


    public void NotesMain() {


    try {
    Session session = getSession();
    AgentContext agentContext = session.getAgentContext();
    Document doc = agentContext.getDocumentContext();
    Database db = agentContext.getCurrentDatabase();
    Document Profildoc = db.getProfileDocument("Profile", null);
    String Empfaenger = Profildoc.getItemValueString("Verantwortliche");


    Document Memo = db.createDocument();
    Memo.appendItemValue("Form", "Memo");
    Memo.appendItemValue("Subject", "neuer Eintrag 'Ideenmanagement' ");
    RichTextItem body = Memo.createRichTextItem("Body");
    body.appendText("neuer Eintrag >> "+doc.getItemValueString("Titel")+" <<");
    body.addNewLine(1);
    body.appendText(">>> ");
    body.appendDocLink(doc, db.getTitle() ,"Verknüpfung zum Dokument");
    body.appendText(" <<<");
    Memo.send(Empfaenger);


    body.recycle();
    Memo.recycle();


    } catch(Exception e) {
    e.printStackTrace();
    }
    }
    }


    Da das Doc bereits gespeichert war, habe ich jetzt einmal das Doc direkt ohne erneutes Speichern zu gewiesen und bekomme einen Fehler angezeigt, der mir nichts sagt.


    "Falscher Datentyp in Methode NRun: SETPROP wurde gefunden, Unknow wurde erwartet" Hä ????


    Was soll mir das denn sagen?


    Den Code hatte ich zuvor auf das Notwendigste reduziert.
    Zugriff auf das Doc hat der User auf jeden Fall, denn im Memo.Subject übergebe ich den Doc_Current.Titel(0) und der wird korrekt gelesen.


    Dim Session As New NotesSession
    Dim db As NotesDatabase
    Set db = session.currentdatabase
    Dim wks As New NotesUIWorkspace
    Dim doc_current As NotesDocument
    Set Doc_Current = wks.currentdocument.Document
    Dim Memo As NotesDocument
    Set Memo = New NotesDocument(db)
    Dim RTI As NotesRichTextItem
    Set RTI = New NotesRichTextItem(Memo, "Body")
    Memo.Subject = "neuer Eintrag ""Ideenmanagement"" "
    Call RTI.AppendText("neuer Eintrag >> "+Chr(34)+Doc_Current.Titel(0)+Chr(34))
    Call RTI.AppendDocLink(Doc_Current , db.Title)
    Call Memo.Send(False, "Harald Wendt")

    Hi,
    ich habe den Tipp von Taurec einmal aufgegriffen und versucht das Doc über die UNID zu öffnen:
    Aber wie zuvor....als Admin greift er sich das Doc_Current, beim User wird es nicht zugewiesen ??????
    Begreif ich nicht :-( Irgendwie hat der User wohl kein Recht auf das Doc.


    If Verantwortliche(0) <> "" Then
    Sichern_OK = True
    Call uidoc.Save
    Call uidoc.Reload
    ID = wks.CurrentDocument.Document.UniversalID
    Set Doc_Current = db.GetDocumentByUNID(ID)
    Dim Memo As NotesDocument

    .
    .

    Hallo,
    im Querysave habe ich nur folgenden Code (daran sollte es eigentlich nicht scheitern)


    If Sichern_OK = True Then
    'do nothing
    Else
    Messagebox(_
    " Bitte benutzen Sie die Schaltfläche 'Speichern & Verlassen', "+Chr(10)+ _
    " wenn Sie die Änderungen speichern möchten!! "),0+16,"Fehler...!!"
    continue = False
    End If

    Hallo,
    Nein, es erfolgen keine Berechnungen (recalc). Ich stelle einmal den gesamten Code dieses Buttons ein:
    Vielleicht sehe ich ja den Wald vor lauter Bäumen nicht.


    Dim Session As New NotesSession
    Dim db As NotesDatabase
    Set db = session.currentdatabase
    Dim wks As New NotesUIWorkspace
    Dim uidoc As NotesUIDocument
    Set uidoc = wks.CurrentDocument
    Dim Doc_Current As NotesDocument
    Dim Doc As NotesDocument
    Set Doc = db.GetProfileDocument("Profile")
    Verantwortliche = doc.GetItemValue("Verantwortliche")

    If Verantwortliche(0) <> "" Then
    Sichern_OK = True
    Call uidoc.Save
    Call uidoc.Reload
    Set Doc_Current = uidoc.Document
    Dim Memo As NotesDocument
    Set Memo = New NotesDocument(db)
    Dim RTI As NotesRichTextItem
    Set RTI = New NotesRichTextItem(Memo, "Body")
    Memo.Subject = "neuer Eintrag ""Ideenmanagement"" "
    Call RTI.AppendText("neuer Eintrag >> "+Chr(34)+Doc_Current.Titel(0)+Chr(34))
    Call RTI.AppendDocLink(Doc_Current, db.Title)
    Call Memo.Send(False, Verantwortliche)
    uidoc.FieldSetText("Status"), "Neu"
    Sichern_OK = True
    Call uidoc.Save
    Msgbox "Ihr Vorschlag wurde eingereicht."
    Call wks.OpenframeSet("Hauptsicht")
    Call uidoc.Close(True)
    End If