Avatar billede sbay Nybegynder
12. januar 2003 - 22:56 Der er 5 kommentarer og
1 løsning

Editmode

Hvad er det lige der er galt??? Min kode her knækker i den linie der er markeret med ***** (editmode = False)
Dim workspace As New NotesUIWorkspace
    Dim uidoc As NotesUIDocument
    Set uidoc = workspace.CurrentDocument
    If  ( UiDoc.EditMode ) Then
    Else
        Call workspace.EditDocument( True )
    End If
    Call uidoc.GotoField(  "Taskname"  )
    Call uidoc.SelectAll
    Call uidoc.Copy
********uidoc.EditMode = False
    Set uidoc = workspace.ComposeDocument _
    ("", "", "AssignTo" )
    Call uidoc.GotoField(  "AssigneeTask"  )
    Call uidoc.Paste


Fejlen lyder på: Document command not available!
Nogle forslag????
Avatar billede sbay Nybegynder
12. januar 2003 - 23:35 #1
Det er egentligt ligemeget - nu springer jeg det bare over!
Avatar billede jogii Nybegynder
13. januar 2003 - 09:06 #2
Hvorfor anvender du copy/paste til denne funktion. Det kunne jo være at brugeren havde noget brugbart liggende i udklipsholderen, så det er synd at overskrive denne.

    Dim workspace As New NotesUIWorkspace
    Dim uidoc As NotesUIDocument
    Dim sTask as String
    sTask = workspace.CurrentDocument.Document.Taskname(0)
    set uidoc = workspace.ComposeDocument ("", "", "AssignTo" )
    Call uidoc.FieldSetText( "AssigneeTask", sTask )

eller med @formula

_task := Taskname;
@Command([Compose]; ""; "AssignTo");
@PostedCommand([EditGotoField]; "AssigneeTask");
@PostedCommand([EditInsertText]; _task);

Som du ser er det ikke nødvendigt at andvende formularen i EditMode for at dette virker.
Avatar billede sbay Nybegynder
15. januar 2003 - 15:35 #3
Det er smart, men feltet AssigneeTask skal være editable - det kan man ikke lave computed, vel????
Avatar billede jogii Nybegynder
17. januar 2003 - 13:05 #4
Jo, men ikke på kildedokumentet. Kildedokumentet må gerne være i ReadMode når du udfører min kode. Det nye dokument, som du opretter med COMPOSE, er jo allerede i EditMode og derfor virker InsertText/SetText.
//Jörg
Avatar billede sbay Nybegynder
17. januar 2003 - 14:28 #5
AssigneeTask ligger på det nye dokument - og det er her jeg gerne vil have dey Computed
Avatar billede jogii Nybegynder
17. januar 2003 - 14:59 #6
Jeg så lige at AssignTo formularen ligger i samme database som kildedokumentet. Så er det hele en helt anden sag. Feltet "AssigneeTask" skal være sat til "Computed when composed" og have Taskname som formel. Selve formularen skal være sat til "Formulas inherit values from selected document" i FormProperties. Det giver  mulighed for at alle @formler kan trække på kildedokumentets data via dets feltnavne. Der er således ikke brug for noget kodning hvis de to dokumenter er i samme database.


Hvis formularen "AssignTo" lå i en anden database så kan du anvende de tidligere koder og nedenstående:

Hvis du anvender @Formula så gem oplysningen med @Environment og hent den frem igen med @Environment.

På kildeformularen skal du blot skrive:
ENVIRONMENT TaskName := Taskname;
@Command([Compose]; ""; "AssignTo");
På AssignTo-Formularen skal feltet AssigneeTask være af typen "ComputedWhenComposed" og have følgende formel:
@Environment( "TaskName")

Jeg kan også vise noget LS kode, men det er vist nok ikke nødvendig. Du bør anvende "Formulas inherit values from selected document"
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