Avatar billede roed Nybegynder
30. maj 2002 - 10:49 Der er 18 kommentarer og
1 løsning

Problem med script

I scriptet forneden virker kun halvt for mig, der bliver godt nok sendt en mail, men jeg vil gerne have en overskrift med bestående af noget fast text samt værdien af et felt på selve formen.
Men der er ingen overskrift.  Hvorfor???
Avatar billede roed Nybegynder
30. maj 2002 - 10:50 #1
Sub Click(Source As Button)
    Dim ws As New NotesUIWorkspace
    Dim s As New NotesSession
   
   
    Dim tmpdoc As New NotesDocument(s.CurrentDatabase)
    ret = ws.DialogBox("(AdvisBox)",True,True,False,False,False,False,"Skriv adviseringstext",tmpdoc)
   
    Dim Advistext As String
    Dim Navn As String
    Dim DocNumber As String
   
    If ret = 0 Then Exit Sub
   
    AdvisText = tmpdoc.AdvisText(0)
   
    Dim db As New NotesDatabase("","")
   
    Call db.OpenMail
   
    Set maildoc = New NotesDocument(db)
    Dim body As New NotesRichTextItem(maildoc, "Body")
   
    With body
       
        maildoc.Subject = "Information om opgave# "+DocNumber
        Call .AppendText(Kommentar)
        Call .AddNewline(2)   
        Call .AppendText("Med venlig hilsen")
        Call .AddNewline(2)   
        Call .AppendText("ITgruppen")   
    End With
   
    With maildoc
        .SendTo=Navn
        maildoc.Subject = "Information om opgave# "+DocNumber
       
        Call .send(False)
    End With
End Sub
Avatar billede cdelicht Nybegynder
30. maj 2002 - 11:02 #2
1) hvilken værdi har DocNumber og hvor kommer variablen fra?
2) Slet første udgave af linien maildoc.Subject = "Information om opgave# "+DocNumber
3) Slet maildoc fra linien maildoc.Subject = "Information om opgave# "+DocNumber
Avatar billede roed Nybegynder
30. maj 2002 - 11:18 #3
1)DocNumber er et tal i textformat (altså ikke et talfelt, men textfelt) og værdien kommer fra det doc. hvor på knappen til scriptet det placeret
2)Gjort
3)Gjort
Har testet efterfølgende men stadig problemer.
Desuden har jeg også skrevet noget forkert. Der kommer ingen mail frem, jeg får at vide at "Der er ikke fundet navne at sende post til".
Modtageren er en adresse som stammer fra samme doc. som beskrevet før. Altså en felt på formen!
Avatar billede cdelicht Nybegynder
30. maj 2002 - 11:29 #4
Så skal du skrive:
.Subject = "Information om opgave# "+tmpdoc.DocNumber(0)
... og ...
.SendTo=tmpdoc.Navn(0)
Tjek i øvrigt lige dit brug af kommentar of AdvisText, du sætter den sidste men bruger den første?!?!?
Avatar billede roed Nybegynder
30. maj 2002 - 11:35 #5
Hvad mener du med det sidste???
Jeg har rettet det nu, men stadig samme fejl med at sende til "navn"
Avatar billede cdelicht Nybegynder
30. maj 2002 - 11:45 #6
AdvisText = tmpdoc.AdvisText(0) - bruger du ikke
Call .AppendText(Kommentar) - "kommentar" har du ikke defineret tidligere

Slet
    Dim Advistext As String
    Dim Navn As String
    Dim DocNumber As String


I sub'en (Options) for scriptet skriver du
Option Public
Option Declare
... og prøv så at gemme.
Avatar billede roed Nybegynder
30. maj 2002 - 11:52 #7
Det øverste er gjort. Men jeg kan ikke få lov at indsætte det du skriver i (Options) så får jeg script fejl, og altså ikke lov at gemme!
Og når jeg tester uden de to rettelser, så får jeg stadig samme fejl :(
Avatar billede roed Nybegynder
30. maj 2002 - 11:54 #8
AdvisText skal indsættes der hvor der står (kommentar), det var en fejl !! Så jeg har erstattet Kommentar med AdvisText
Avatar billede cdelicht Nybegynder
30. maj 2002 - 11:55 #9
Du får netop fejl fordi dit script ikke er i orden!
Option Declare siker at du får defineret alle variable på den rigtige måde, så prøv at kigge lidt på dem.
Avatar billede roed Nybegynder
30. maj 2002 - 12:06 #10
Synes alt ser OK ud, men jeg er også også langt fra en script-haj.
Når jeg indsætter i (Options) får jeg fejlen "PUBLIC is not allowed in this module"
Her er en aktuel kolpi af scriptet som det ser ud nu :

Sub Click(Source As Button)
    Dim ws As New NotesUIWorkspace
    Dim s As New NotesSession
   
    Dim tmpdoc As New NotesDocument(s.CurrentDatabase)
    ret = ws.DialogBox("(AdvisBox)",True,True,False,False,False,False,"Skriv adviseringstext",tmpdoc)
   
    If ret = 0 Then Exit Sub
   
    AdvisText = tmpdoc.AdvisText(0)
    Navn = tmpdoc.Navn(0)
    DocNumber = tmpdoc.DocNumber(0)
   
    Dim db As New NotesDatabase("","")
   
    Call db.OpenMail
   
    Set maildoc = New NotesDocument(db)
    Dim body As New NotesRichTextItem(maildoc, "Body")
   
    With body
       
        Call .AppendText(AdvisText)
        Call .AddNewline(2)   
        Call .AppendText("Med venlig hilsen")
        Call .AddNewline(2)   
        Call .AppendText("ITgruppen")   
    End With
   
    With maildoc
        .SendTo = Navn
        .Subject = "Information om opgave # " + DocNumber
       
        Call .send(False)
    End With
End Sub
Avatar billede cdelicht Nybegynder
30. maj 2002 - 12:49 #11
Slet linien Option Public

Prøv dette script:

Sub Click(Source As Button)
    Dim s As New NotesSession
    Dim db As New NotesDatabase("","")
    Dim ws As New NotesUIWorkspace
    Dim maildoc As NotesDocument
    Dim tmpdoc As New NotesDocument(s.CurrentDatabase)
   
    If ws.DialogBox("(AdvisBox)",True,True,False,False,False,False,"Skriv adviseringstext",tmpdoc) Then
        Call db.OpenMail
       
        Set maildoc = New NotesDocument(db)
        Dim body As New NotesRichTextItem(maildoc, "Body")
       
        With body
            Call .AppendText(tmpdoc.AdvisText(0))
            Call .AddNewline(2)   
            Call .AppendText("Med venlig hilsen")
            Call .AddNewline(2)   
            Call .AppendText("ITgruppen")   
        End With
       
        With maildoc
            .SendTo = tmpdoc.Navn(0)
            .Subject = "Information om opgave # " + tmpdoc.DocNumber(0)
            Call .send(False)
        End With
    End If
End Sub
Avatar billede roed Nybegynder
30. maj 2002 - 12:56 #12
Nu åd den scriptet, men siger stadig at der ikke er nogen at sende til. Den vil sgu ikke rigtig hive fat i det navnefelt. Mon det er det som er problemet, altså selve feltet. Skal det være noget specielt ved det???
Avatar billede cdelicht Nybegynder
30. maj 2002 - 13:54 #13
jae, det ku' tyde på at feltet ikke sættes korrkt. prøv at tilføje flg linie lige efter If..Then  sætningen
Print "Navn = " + Tmpdoc.navn(0)
.. og hold øje med status baren i bunden af dit notes vindue når du prøver næste gang.
Avatar billede roed Nybegynder
30. maj 2002 - 14:04 #14
"Navn = " så er det klart nok den fejler !!!
Hvad så??? ;o)
Avatar billede cdelicht Nybegynder
30. maj 2002 - 14:06 #15
Prøv lige "Print" med AdvisText og DocNumber også - har de værdier?
Avatar billede roed Nybegynder
30. maj 2002 - 14:11 #16
OK, AdvisText får den værdi jeg taster ind via dialogboxen. Men de to andre felter som skal hentes fra "hoveddokumentet" er tomme. Så der er altså et problem med at hente fra selve formen hvor knappen sidder på !!!
Avatar billede cdelicht Nybegynder
03. juni 2002 - 12:33 #17
Jeg tror du er nødt til at flytte functionaliteten til QueryClose på tmpdoc. Kopier hele molevitten til tmpdoc og slet så "if" sætningen.
Avatar billede roed Nybegynder
06. juni 2002 - 14:17 #18
Hmmm, det giver det samme. Der er ikke fundet nogle navne at sende til !! (dette er begyndt at blive temmelig træls!!)
Avatar billede roed Nybegynder
18. juni 2002 - 12:59 #19
Nå, har gjort det på "den gamle" måde.
Cdelicht du får points for dine ihærdige forsøg!!!
Og så opretter jeg lige et nyt spørgsmål som du gerne må se på ;o)
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