Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: chris2212 am 30.06.03 - 10:26:01

Titel: Profile-Document
Beitrag von: chris2212 am 30.06.03 - 10:26:01
Hallo,
ich möchte in einer WF-Datenbank den Abteilungsleitern die Möglichkeit geben
eine Urlaubsvertretung zu bestimmen. Ich wolltes das mit einem Profile-Document
umsetzen.

Im Dokument möchte ich drei Felder anzeigen deren Inhalt in versteckte Feldlisten geschrieben wird.

Feld1:
Name-Stellvertreter:

Feld2:
Vertretung vom: 01.07.2003

Feld3:
Vertretung bis: 11.07.2003

Der nächste Eintrag soll dem jeweiligen versteckten Feld hinzugefügt werden.

Ein Agent der jeden Tag (Nachts) in der Datenbank läuft soll die Werte auslesen und in der DB-ACL einen entsprechenden Eintrag für den Stellvertreter machen. Wenn die Zeit für den Stellvertreter "abgelaufen" ist, soll der Agent den ACL-Eintrag und den Wert aus der Liste löschen.

Frage.... ist das so überhaupt möglich, wenn ja kann mir jemand helfen wie ich die Werte entsprechend an die bereits vorhandenen Einträge hinzufüge und wie ich eine "Beziehung" zu den drei Listen herstellen kann.

Für jeden Tip dankbar

Danke & Gruß
Chris



Titel: Re:Profile-Document
Beitrag von: Ralf_M_Petter am 30.06.03 - 10:31:58
Prinzipiell ist das möglich, eine kleine Frage kannst du Lotus Script?

Grüße

Ralf
Titel: Re:Profile-Document
Beitrag von: chris2212 am 30.06.03 - 10:36:05
noch nicht besonders gut, warum....?
Titel: Re:Profile-Document
Beitrag von: Ralf_M_Petter am 30.06.03 - 10:51:23
Weil ich der Meinung bin, dass man das am besten in Lotus Script macht, vor allem die ACL Geschichte, das andere wird man mit der Formelsprache möglicherweise auch hinbringen, ich würde aber auch hier Lotus script bevorzugen.

Wenn du willst, kann ich dir in der Mittagspause schnell ein Script für das hinzufügen von Werten in MultiValue Fields posten?


Titel: Re:Profile-Document
Beitrag von: chris2212 am 30.06.03 - 10:58:25
...ich verwende bisher sehr wenig @Befehle, da ich irgendwann mal mit VB gearbeitet habe fällt mir das Arbeiten mit LS nicht so schwer,... es sind halt immer wieder mal Sachen dabei wo mir der richtige Ansatz fehlt... oder ob es überhaupt
möglich ist...

Das wäre super wenn Du mir das posten könntest !!

DANKE !!

Gruß
Chris
Titel: Re:Profile-Document
Beitrag von: Ralf_M_Petter am 30.06.03 - 12:50:15
Hier der Code um den Hidden Feldern die neuen werte anzuhängen.

Sub Click(Source As Button)
   Dim ws As New NotesUIWorkspace
   Dim doc As NotesDocument
   Dim item As NotesItem
   Set doc=ws.CurrentDocument.Document
   Set item=doc.GetFirstItem("Test1hidden")
   item.AppendToTextList(doc.Test1(0))
   Set item=doc.GetFirstItem("Test2hidden")
   item.AppendToTextList(doc.Test2(0))
   Set item=doc.GetFirstItem("Test3hidden")
   item.AppendToTextList(doc.Test3(0))
End Sub

Ich hoffe das nützt dir etwas. Bezüglich der ACL Geschichte musst du die Klasse NotesAcl verwenden.

Grüße

Ralf
Titel: Re:Profile-Document
Beitrag von: chris2212 am 30.06.03 - 15:37:48
...soweit funktioniert es.

Aber,
ich habe ja noch einen / zwei Agenten die tägl.
in der DB laufen sollen.

Wenn ich z.B. den Agenten für das hinzufügen von Stellvertretern
in der ACL nehme... Der Agent muss prüfen ob es für ihn einen neuen
Eintrag gibt, wenn ja muss er den Namen aus der Liste auslesen und in die ACL eintragen. Das Eintragen von Namen in der ACL hab ich schon.. da nach Ablauf der Vertretung die Einträge aus der Liste wieder gelöscht werden sollen, muss dem Agent irgendwie "erklären" das es sich um einen neuen Eintrag handelt oder um einen Eintrag der bereits zur ACL hinzugefügt wurde.

Beim Agent der die ACL Einträge wieder löscht habe ich auch noch ein Problem,
der Agent muss z.B. wenn eine Vertretung ab 30.06.2003 ungültig ist den richtigen Namen aus der Liste auslesen und anschl. aus der ACL löschen....

Wie gesagt der Code zum hinzufügen von Werten funktioniert !! DANKE !!

Kannst Du mir beim erstellen bzw. beim "richtigen" auslesen der List-Werte noch helfen?

Danke & Gruß
Chris
Titel: Re:Profile-Document
Beitrag von: Meff am 30.06.03 - 19:17:43
Wenn ich den Thread bis hierher richtig gelesen habe, dann brauchst Du folgendes :

forall a in doc.Feldname
--> Hier kannst Du jetzt mit dem Wert a (=jeweils ein Eintrag aus dem Array des Feldes) irgendetwas nach Deinem Gutdünken machen
end forall

Meff
Titel: Re:Profile-Document
Beitrag von: chris2212 am 08.07.03 - 13:43:26
Ja, soweit hab ich es, aber mein Problem ist
ich prüfe mit IF ob im Feld2(Datum von) ein Wert gleich
Today() vorhanden ist, wenn ja dann muss/soll der Agent
den passenden Eintrag aus Feld1(Name) auslesen.

Mein "Problem" ist wie bekomme ich den richtigen Eintrag aus dem ersten Feld.

Gruß
Christian
Titel: Re:Profile-Document
Beitrag von: Meff am 09.07.03 - 06:34:05
Hi Christian,

wie ich schon sagten

Zitat
forall a in doc.Feldname
--> Hier kannst Du jetzt mit dem Wert a (=jeweils ein Eintrag aus dem Array des Feldes) irgendetwas nach Deinem Gutdünken machen
end forall

Du läufst über die Liste aus dem Feld "Name", a gibt Dir immer den jeweiligen Listeneintrag wieder. Wenn a = der Name den Du suchst, dann machst Du einfach weiter (z.B. diesen Namen aus der ACL löschen) und verlässt anschliessend die Forall Schleife.

Meff
Titel: Re:Profile-Document
Beitrag von: chris2212 am 10.07.03 - 10:40:58
Hi,
jetzt passt es  ;D

 ;D Danke @All für die Unterstützung ;D

Gruß
Christian