Avatar billede renekoemler Nybegynder
14. november 2002 - 17:17 Der er 5 kommentarer og
2 løsninger

Dokument ID i script

Hej,

jeg har brug for at sætte en variabel (string) lig med dokument id'en, således at jeg senere i scriptet kan lave en streng der skal bruges til at URL'e mig fred til det rigtige dukument. I psedokode:

ID = doc.docID
henvisning = [<a href:server/base.nsf/ID?OpenDocument></a>]

dette skrives så i en mail....

Bedste hilsner
René
Avatar billede lars_resulture Nybegynder
14. november 2002 - 17:33 #1
Dette er vist hvad du søger -->

id = doc.DocumentUniqueID
url = |<a href="/viewAllDocs/|+id+|!OpenDocument">klik</a>|
Avatar billede renekoemler Nybegynder
14. november 2002 - 17:41 #2
Hej Lars,

det ser OK ud - skal det være ! og ikke ?

og er det ikke ok at angive en fuld URL.

Scriptet anvedes til at udsende en nyhedsmai, hvo man lige angiver overskriften og så vil man gerne have en "læs mere funktion".....

rene
Avatar billede renekoemler Nybegynder
14. november 2002 - 18:50 #3
Hej Igen Lars,

Jeg har problemer med datatypen på id - jeg har prøvet at sætte den til string men min debugger giver en Type MisMatch.........

Kan du hjælpe?
Avatar billede yeager Nybegynder
15. november 2002 - 10:21 #4
Jeg er ikke nogen script-haj, men jeg tror bare at du skal ændre din url streng:
url = |<a href="/viewAllDocs/|+id+|!OpenDocument">klik</a>|
Prøv med:
url = |<a href="//viewAllDocs//|+id+|!OpenDocument">klik<//a>|
MvH
Avatar billede jogii Nybegynder
18. november 2002 - 09:41 #5
Hej René,
Prøv at sætte ID til Variant, så kan du se i debuggeren hvad type der gives til dig. doc.DocumentUniqueID skal ellers give en String.

Brug evt. tegnet & istedenfor + til at sætte strenge sammen, da & kan udføre automatiske konverteringer til Text.

Undgå at angive et "AllDocs" view, medmindre det er sikret for direkte browsing. Brug evt. et dummy view . f.eks. "...base.nsf/<b>0</b>/"+id+"?OpenDocument"
//Jörg
Avatar billede mmmtm Nybegynder
24. november 2002 - 02:40 #6
Du skal komme en @text omkring @documentUniqueID hvis du skal bruge den som i en a href. Altså id = @text(documentUniqueID).
Avatar billede lars_resulture Nybegynder
25. november 2002 - 23:12 #7
Beklager ventetiden, har været offline.

Jeg fik vist svaret lige lovligt hurtigt.
ID skal være en String, men doc.DocumentUniqueID er forkert, sorry.
Det skulle have været doc.UniversalID som er en property på klassen NotesDocument.
Dvs. du laver et objekt af typen NotesDocument, fx.

set session = New NotesSession  ' vi opretter en Notes session
set db = session.CurrentDatabase  ' vi opretter et db objekt som svarer til den db vi arbejder med
set view = db.GetView("MitHeltEgetView") ' vi opretter et view objekt
set doc = db.GetFirstDocument ' vi opretter et document objekt, der svarer til det første doc i view'et
ID = doc.UniversalID ' endelig kan vi aflæse unid'et.

Alternativt kan også fange unid'et vha. en @-function, nemlig @DocumentUniqueID, som returnerer ikke String, men 'special-string'. Derfor bruges den altid sådan @Text(@DocumentUniqueID).
Med denne metode vil man lave et felt på den form der bruges, fx. kunne det hedde 'DocumentUniqueID'.
Så ville du kunne snuppe unid'et ved  et simpelt felt-aflæsning.
ID = doc.DocumentUniqueID(0)
Men være opmærksom på at feltet med unid'en ikke vil blive opdateret, hvis dokumentet bliver copy-pastet, men det gør det nye dokuments unid. Dvs. at 'DocumentUniqueID' feltet og det nye dokumentets rigtige unid vil være forskellige !!  En MEGET alm. fejl.

Nu til url'en.
Det smarte ved | tegnet er, at man kan bruge " og \ uden at sætte en ekstra \ foran, altså slipper du for at skrive \" og \\.
Du skal have et view, der har @Text(@DocumentUniqueID) som formel i 1. kolonne, som også er sorteret.
Fx. kunne det hedde 'viewAllDocs'. Så laves url'en sådan her i lotusscript:
url = |<a href="/viewAllDocs/|+id+|!OpenDocument">klik</a>|

Tilsidst.
Du SKAL bruge ? hvis du kører Domino 4.6 eller tidligere.
Du KAN bruge enten ? eller ! hvis du kører Domino 5.0.

Håber jeg har redet trådene ud ;-P
Lars/RESULTURE
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester