Avatar billede sbay Nybegynder
12. august 2002 - 13:36 Der er 7 kommentarer og
2 løsninger

Scriptoprettelse af ny form

Arrrhhhh - der er bare ikke noget der vil som jeg vil i dag!

Jeg vil gerne lave et nyt dokument når jeg trykker på en actionknap.

Jeg står på et dokument i et view og så vil jeg gerne oprette et nyt doc af en bestemt type, men jeg skal have en (senere flere) værdi overført fra det doc jeg står på - til det nye:

Sub Click(Source As Button)
    Dim workspace As New NotesUIWorkspace
    Dim uidoc As NotesUIDocument
    Set uidoc = workspace.CurrentDocument
    Call uidoc.GotoField( "Taskname" )
    Call uidoc.SelectAll
    Call uidoc.Copy
    Set uidoc = workspace.ComposeDocument _
    ( "", "", "AssignTo" )
    Call uidoc.GotoField( "AssigneeTask" )
    Call uidoc.Paste
End Sub

Jeg får hele tiden en fejl ved:
Call uidoc.GotoField( "Taskname" )

Object variable not set!

Jeg har ellers hentet meget af koden i hjælpen!
(bande bande svovle)
Avatar billede sbay Nybegynder
12. august 2002 - 13:38 #1
Fra hjælpen:

This form action script copies the contents of the current document's Topic field to the Clipboard. It composes a new Memo document in HERE.NSF on server Rio (changing the value of the uidoc object), and pastes the contents of the Clipboard into the new document's Subject field.

Sub Click(Source As Button)
  Dim workspace As New NotesUIWorkspace
  Dim uidoc As NotesUIDocument
  Set uidoc = workspace.CurrentDocument
  Call uidoc.GotoField( "Topic" )
  Call uidoc.SelectAll
  Call uidoc.Copy
  Set uidoc = workspace.ComposeDocument _
  ( "Rio", "here.nsf", "Memo" )
  Call uidoc.GotoField( "Subject" )
  Call uidoc.Paste
End Sub
Avatar billede cdelicht Nybegynder
12. august 2002 - 15:14 #2
Virker sært. Eksemplet er nok beregnet på et dokument som er åbnet - ikke fra et view.
Jeg ville nok gøre noget andet:
dim Doc as notesDocument
Set Doc= Uidoc.document
...Så har jeg fat i det gemte dokument som ligger bag dit UiDoc. Dermed kan du oprette "rent" back end.
Avatar billede sbay Nybegynder
12. august 2002 - 15:27 #3
så fejler den bare her: Set doc = uidoc.document

Det er som om uidoc ikke bliver "oprettet" eller initialiseret! - jeg har prøvet at markere dokumentet med et flueben, men det hjælper lige lidt!
Avatar billede sbay Nybegynder
12. august 2002 - 15:29 #4
hvis jeg flytter knappen til en form i stedet virker det!

Men hvordan f..... får jeg så data med fra et view?????
Avatar billede cdelicht Nybegynder
12. august 2002 - 15:36 #5
Hm, har det samme problem
@Prompt([ok];"Formnavn";Form) - virker fint!

Dim workspace As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim doc As NotesDocument
Dim collection As NotesDocumentCollection
Set uidoc = workspace.CurrentDocument
Set doc = uidoc.Document
MsgBox Fom - Virker overhoved ikke!!!

hvis jeg 'piler' op/ned en enkelt gang i viewet så virker det. ellers ikke.

Jeg ved ikke hvorfor - Sprøg Lotus!
Avatar billede cdelicht Nybegynder
12. august 2002 - 15:37 #6
nå ja altså, jeg bruger sæ følgelig MasBox Doc.Form(0) - men det virker stadig ikke ;-)
Så... SPØRG Lotus...
Avatar billede sbay Nybegynder
12. august 2002 - 15:53 #7
Sub Click(Source As Button)
    Dim workspace As New NotesUIWorkspace
    Dim uidoc As NotesUIDocument
    Dim doc As NotesDocument
    Dim collection As NotesDocumentCollection
    Set uidoc = workspace.CurrentDocument
    Set doc = uidoc.Document
    Msgbox(Form)
End Sub

Min vil stadig ikke sætte uidoc til noget som helst - scrolle og pile afprøvet....
Avatar billede sbay Nybegynder
12. august 2002 - 15:59 #8
efter linien: Set uidoc = workspace.CurrentDocument

burde man jo kunne se at uiDoc er blevet sat, men det bliver den ikke!
Avatar billede avest Nybegynder
26. august 2002 - 11:16 #9
Sub Click(Source As Button)
    Dim doc, newdoc As notesdocument
    Dim session As New notessession
    Dim uidoc As NotesUidocument
    Dim workspace As New notesUIworkspace
    Dim db As notesdatabase
   
    Set db= session.currentdatabase   
    Set doc = db.unprocesseddocuments.getfirstdocument()
    Set newdoc = New notesdocument(db)
    newdoc.Form ="Slut"
    newdoc.felt2 = doc.felt1(0)
    Call newdoc.save(True,True)
    Set uidoc = workspace.editdocument(newdoc)
End Sub
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