Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: nyen am 12.06.07 - 13:09:00
-
Hallo zusammen,
ich soll Anhänge per Agent in verschienden Verzeichnisen lösen. Das ganze möchte ich vom Feld "SendTo" abhängig machen, z. B. Wenn SendTo= "test@xy.de, sollten dann die Anänge im Ordner XY gelöst werden.
Mit folgendem Script kann ich versucht, kann bisjetzt die Anhänge nur lösen, jedoch nicht dynamisch:
Dim ws As New NotesUIWorkspace
Dim session As New NotesSession
Dim db As NotesDatabase
Dim collection As NotesDocumentCollection
Dim doc As NotesDocument
Dim rtitem As Variant
Dim rtitem2 As Variant
Dim folder As String
Dim docid As String
Dim uidoc As NotesUIDocument
'folder = BrowseFolder ("","")
Set db = session.CurrentDatabase
Set collection = db.UnprocessedDocuments
Set doc = collection.GetFirstDocument
While Not (doc Is Nothing)
doc.Form="Inbox$"
docid = doc.NoteID
Set rtitem = doc.GetFirstItem( "Body" ) 'Hier das entsprechende RT-Feld angeben
Set rtitem2 = doc.GetFirstItem( "SendTo" )
If ( rtitem.Type = RICHTEXT) Then
Forall o In rtitem.EmbeddedObjects
Call o.ExtractFile( "c:\temp\PV\" & o.Name )
End Forall
End If
Set doc = collection.GetNextDocument(doc)
Wend
Kann jemand mein Problem lösen ? Ich wäre sehr dankbar!
Gruß
Nyen
-
Definiere "dynamisch".
-
Das Feld SentTo ist kein RichText.
Wo machst Du den vergleich ob der Name in SendTo steht?
Und was ist dynamisch?
-
Was tust du bei Mehrfachwerten?
-
hI;
dynamisch ist eigentlich gemient, dass der Name mit dem Feldinhalt "SendTo" vergliechen wird. Soweit habe ich nicht geschaft. Ich weiß nicht, wie ich das Feld "SendTo" auslesen kann?
Für ein paar Tipps würde ich freuen.
-
Also nach 173 Beiträgen solltest Du die Designer-Hilfe schon kennen.
You can get the value of an item through several techniques. The first two techniques do not require that you first access the item object.
* After accessing the NotesDocument object containing the item, you can specify the item name as though it were a property of the document. For example, if doc is the name of a document object and Subject is an item in the document, doc.Subject is the value of the item.
* You can use the GetItemValue method of NotesDocument.
* You can access the item and examine its Values property.
Getting an item and its values in LotusScript classes (http://www.lotus.com/ldd/doc/domino_notes/7.0/help7_designer.nsf/f4b82fbb75e942a6852566ac0037f284/f38dbb036f1e87b78525704a004078d4?OpenDocument)
For text, number, and time-date items, GetItemValue always returns an array, even when there is only a single value in the item. If you know the item contains only a single value, access the first element in the array, which is at index 0.
...
You can also access the contents of an item directly, without using GetItemValue. The following two statements are equivalent:
t = lastDoc.GetItemValue( "Topic" )(0)
t = lastDoc.Topic(0)
GetItemValue method (http://www-12.lotus.com/ldd/doc/domino_notes/7.0/help7_designer.nsf/f4b82fbb75e942a6852566ac0037f284/5b6a30e719dc78a28525704a0040ba01?OpenDocument)
-
kleiner Tipp
dim dirName as string
dirName = strleft(strright(doc.SendTo(0),"@"),".")
Schön wird es dann mit Abfrage, ob "@" und "." im SendTo vorkommt. Das geht mit
if (Instr(doc.SendTo(0),"@") > 0) and (Instr(doc.SendTo(0),".") > 0) then
...
end if
Mehrfachwerte spielen wohl keine Rolle, oder? Denn welches Verzeichnis sollte dann genommen werden?
Andreas
-
Hm,
wozu ist das gut:
doc.Form="Inbox$"
Das wohin sollte nicht das Problem sein, wenn ich es richtig interpretiere.
test@xy.de -> xy
test@abs.de -> abc
test@kgb.de -> kgb ;D
usw. usf.
Eher das Problem, gibt es dieses Verzeichnis schon, oder ist das dann an der Stelle nicht relevant?
-
Das mit dem Form-Item frage ich mich auch schon...
Das Prinzip ist ja nicht unbedingt unklar, nur sind halt auch andere Fragen offen, wie Mehrfachwerte, sofern man diese nicht zu 100% ausschließen kann.
-
Mehrfachwerte spielen hier keine Rolle. Im Prinzip ist die Lösung, die wie DerAndre interpretiert hat.
Genau so:
test@xy.de -> xy
test@abs.de -> abc
test@kgb.de -> kgb
doc.Form="Inbox$", da die DB eine MailIn-DB ist (Mailschablone).
-
doc.Form="Inbox$", da die DB eine MailIn-DB ist (Mailschablone).
?? Abgesehen davon, dass Du mit dem Item sowieso nichts anfängst: Was hätte das denn mit MailIn oder nicht zu tun? Über die Bedeutung des Items "Form" bist Du Dir schon im klaren?
Bernhard
-
Hallo,
was die Bedeutung des Items "Form" angeht, bin ich mir nicht ganz im klaren. Da ich Admin bin, benötige Hilfe von Notes-Entwickler. Ich denke meine Problematik ist klar, der Code für den Agenten soll angepasst werden, wie auch immer (von mir aus ohne Item).
Nyen
-
Wenn er "angepasst werden SOLL", empfehle ich einen noteskundigen, externen Dienstleister zu den marktüblichen Konditionen. Ich denke, auch einige Forumsmitglieder wären an so einem Auftrag interessiert.
-
Angesichts der Tatsache, dass wesentliche weitere Schwierigkeiten offensichtlich noch nicht erkennt sind (André hat da schon eines angeschnitten ...) kann ich auch nur raten, so ganz ohne Notes-Programmierkenntnisse eher auf fremde Hilfe zu setzen. Sowas kann man ja auch durchaus mit einem training on the job verbinden, so dass Du herangeführt werden kannst, um später sowas wirklich selber machen kannst.
Bernhard
-
Danke für deine kluge Ratschläge.
Anstatt du solche Tipps gibst, solltestdu vielleicht einen Lösungsvorschlag machen, damit andere Leute auch davon profotieren können. Ich denke, dass das Notes Forum ist, wo man eine Lösung sucht, oder nicht???
-
Lösungen hast Du bereits angeboten bekommen.
Du solltest an Deiner Definition von "Lösung" arbeiten.
*PLONK*
-
Ich denke, dass das Notes Forum ist, wo man eine Lösung sucht, oder nicht???
Das ist vollkommen richtig. Ich denke, die Gemeinschaft hier braucht nicht zu beweisen, dass dem wirklich so ist.
Aber: "Lösung" muss sich auf ein konkretes Problem beziehen und nicht auf ein fertiges, komplettes Konstrukt.
Andreas hat einen wertvollen Tipp gegeben, der zur ursprünglichen Fragestellung passt. Andere haben auf weitere Probleme hingewiesen. Was Dir davon genützt hat und was nicht, hast Du dann nicht mehr kund getan.
Was erwartest Du jetzt? Ich habe nach bestem Wissen und Gewissen den aus meiner Sicht besten Tipp gegeben, den ich derzeit abgeben kann.
Und nun: Konkrete Fragen, konkrete Antworten. Vor den Kopf stossen will Dich hier keiner!
Bernhard
-
Was ich erwarte wervolle Tipps wie z. B. von Glonbi und DerAndre, dadurch konnte ich mein lösen können, also durch konkrete Antworten. Vielen Dank noch mal.
Was ich nicht erwarte, sind die kluge Tipps gegeben werden, um andere Laute zu verhinden, wervolle Tipps zu geben.
Gruß
Nyen
-
Wer mag mir das jetzt mal bitte übersetzen?
In diesem Forum tummelt sich eine geballte Ladung an Wissen und Menschen die Ihren Lebensunterhalt damit verdienen.
Wenn es nicht möglich ist, Geldmittel für Hilfe locker zu machen, muß man sich schonmal überlegen, was man erreichen will, die Designerhilfe zu Rate ziehen und wenn man garnicht mehr weiter weiß das Forum nutzen, Suchen und konkret Fragen.
Wenn als eine Lösung ein fertiges Produkt erwartet wird, muß man einen Dienstleister ranholen. Wenn als Lösung Hilfestellung erwartet wird muß man sich seine eigenen Gedanken machen, mal auf die Nase fallen ( ist mir auch schon mehr als einmal passiert ) und durch seine gewonnenen Erkenntnisse zu seiner definierten Lösung kommen.
Kopfschüttel