Avatar billede sbay Nybegynder
07. juni 2004 - 14:42 Der er 11 kommentarer og
1 løsning

Hvordan sætter man $ref??

Hejsa

Jeg prøver at lave et dokument + et responsdokument med en agent. Det går sådan set meget finr, men feltet $REF på responsen, vil je´g gerne have sat til hoveddokumentets UniqueID - hvordan går jeg det i scriptkodning???
Avatar billede sbay Nybegynder
07. juni 2004 - 15:37 #1
Det gøres da bare med tilde: doc.~$ref = UNID
Avatar billede sbay Nybegynder
07. juni 2004 - 15:37 #2
HEHe
Avatar billede jogii Nybegynder
07. juni 2004 - 15:52 #3
Og virker den så? Det gjorde den ikke sidst jeg prøvede.
Du får rigtinok sat en værdi i $Ref, men den er under omstændigheder bare type text og vil ikke have den ønskede virkning i oversigter.
Du er normalt nødt til at anvende doc.MakeResponseDoc( parentdoc ) for at få det til at virke.
//Jörg
Avatar billede sbay Nybegynder
07. juni 2004 - 22:06 #4
Det kan du selvfølgelig have ret i. Det nåede jeg ikke at teste
Avatar billede sbay Nybegynder
08. juni 2004 - 19:23 #5
hmm - du havde ret :-)

Men jeg kan ikke rigtig finde noget i hjælpen om MakeResponse - og jeg får en fejl på følgende:

Doc.Form = ".Timesheet"
    Print "1"
    Set parent = db.GetDocumentByUNID( UNID)
    Print "2"
    Doc.MakeResponseDoc( parent)
    Call doc.Save( True, False )
    Print "3"
    Doc.FormName = "Timesheet"
Avatar billede sbay Nybegynder
08. juni 2004 - 19:32 #6
hmm - og hvis jeg bare laver det til Call Doc.MakeRespone(parent), så laver den ikke et responsedokument
Avatar billede jogii Nybegynder
08. juni 2004 - 23:22 #7
fra hjælpen:
Dim session As New NotesSession
Dim db As NotesDatabase
Dim view As NotesView
Dim docA As NotesDocument
Dim docB As NotesDocument
Set db = session.CurrentDatabase
Set view = db.GetView( "All documents" )
Set docA = view.GetFirstDocument
Set docB = view.GetNextDocument( docA )
Call docB.MakeResponse( docA )
docB.Form = "Response"
Call docB.Save( True, True )

MakeResponse method 

Makes one document a response to another document. The two documents must be in the same database.
Defined in
NotesDocument
Syntax
Call notesDocument.MakeResponse( document )
Parameters
document
A NotesDocument. The document to which notesDocument becomes a response. If you specify Nothing, this method generates an error.
Usage
You must call Save after this method if you want to save the change you have made.
Avatar billede jogii Nybegynder
08. juni 2004 - 23:23 #8
Undskyld, det hed blot MakeResponse og ikke MakeResponseDoc. Silly me :)
Avatar billede jogii Nybegynder
08. juni 2004 - 23:25 #9
Ups, så ikke du havde prøvet det. Det skal altså virke. Jeg bruger det selv flittigt.
Avatar billede sbay Nybegynder
09. juni 2004 - 08:54 #10
Set doc = New NotesDocument(db)
Set parent = db.GetDocumentByUNID( UNID)
Call Doc.MakeResponse( parent)
Call doc.Save( True, True )
Doc.Form = ".Timesheet"

Når jeg udfører ovenstående kode, via Step Into i debuggeren, kan jeg se at der ikke bliver oprettet et nyt Doc - hvordan kan det være??? Den kører alle linierne igennem!!!
Avatar billede jogii Nybegynder
09. juni 2004 - 09:01 #11
Er du sikker på at det ikke er oprettet? Hvorfor sætter du doc.Form efter gemning?
Ved oprettelse af dokument plejer jeg at bruge
      set doc = db.CreateDocument
Den virker mere logisk for mig. Jeg vil normalt helst undgå brugen af "New" (a ve' ik' hvafo')
Hvad sker der uden MakeResponse? Bliver den så oprettet?
Har din oversigt ResponseHierarki slået til?
Avatar billede sbay Nybegynder
09. juni 2004 - 09:33 #12
Juhuuu - nu virker det - mit udvælgelseskriterie var DocType = Timesheet - skulle være DocType = TimeSheet....
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