Avatar billede sbay Nybegynder
02. juni 2004 - 12:42 Der er 27 kommentarer og
2 løsninger

Import af data til form og subform

Hejsa

Jeg importerer nogle data via en agent til et dokument. Dokumentet laver jeg via scriptkoden i agenten - altså jeg opretter et helt nyt dokument, men sætter formen til en standardform. Det virker jo fint og nemt. Men på formen er en subform - hvordan får jeg data sat ind på den???
Avatar billede mmmtm Nybegynder
02. juni 2004 - 12:47 #1
Refererer du ikke bare til felterne, som på "hoved"formen ?
Avatar billede sbay Nybegynder
02. juni 2004 - 13:01 #2
Njaaahhh - jeg synes ikke det virker! Jeg får ikke vist data fra subformen når jeg åbner dokumentet!
Avatar billede lrh Nybegynder
02. juni 2004 - 13:27 #3
Problemet kan være at du ikke får sat Summary property'en på dit item.
Syntax er NotesItem.IsSummary = True
Avatar billede lrh Nybegynder
02. juni 2004 - 13:28 #4
men kan godt da vist godt være at det kun er så data vises i view - men det er da et forsøg værd...
Avatar billede sbay Nybegynder
02. juni 2004 - 13:41 #5
hmm - det hjælper desværre ikke!
Avatar billede jogii Nybegynder
02. juni 2004 - 13:45 #6
Summary behøver ikke have noget med det at gøre. Summary har som LRH selv nævner kun noget med oversigtsvisning at gøre.

Det er som mmmtm skriver. Du kan evt. flytte enkelte felter fra subform til hovedform hvis du er i tvivl.
Undersøg hellere navngivningen af felterne. Den skal selvfølgelig være 100% korrekt.
Anvender du ComputedSubform? så kan det være at subformen ikke vises.

Hvis du har et dokument du er i tvivl om, så undersøgt feltindholdet med DocumentProperties (<Alt-Enter> og faneblad #2)
Avatar billede sbay Nybegynder
02. juni 2004 - 14:08 #7
Det er en computed subform. Den vises, bare uden data i! Jeg har tjekket Document Properties og her er feltnavn og data korrekt (har tjekket det mod et dokument lavet i Notes)!
Avatar billede jogii Nybegynder
02. juni 2004 - 16:25 #8
Har du prøvet at flytte et felt fra subformen til formularen?
Avatar billede notes2c Nybegynder
02. juni 2004 - 17:35 #9
Prøv at kalde funktionen <doc>.ComputeWithForm inden du gemmer dokumentet i agenten. Du kan teste på returværdien om formen kunne beregnes eller ej. Hvis ikke er der en afhængighed/værdi/felt som mangler på formen.
Avatar billede lrh Nybegynder
03. juni 2004 - 09:42 #10
men husk lige på at ComputeWithForm er _meget_ performance tung, så det er sjældent en god ide at bruge den i drift - eller er det bare mit indtryk?
Avatar billede notes2c Nybegynder
03. juni 2004 - 10:33 #11
Ja jeg ved godt at der er lidt overhead ved at bruge denne funktion, men hvis det er på små datamængder spiller det ikke den store rolle.
Avatar billede sbay Nybegynder
03. juni 2004 - 15:47 #12
jeg har prøvet med doc.computewithForm, mne den fejler - eller rettere success bliver false:

Function CreateAssignment
   
    Dim Session As New NotesSession
    Dim db As NotesDatabase
    Set db = session.CurrentDatabase
    Set doc2 = New NotesDocument(db)
   
    Doc2.Form = ".Assignment"
    Doc2.FormName = "Assignment"
    Doc2.AssignedTo = "Søren Bay/Elopak"
    Doc2.AssignmentNumber = "SBA0001"
    'Doc2.AssignmentName = "Test"
    'Doc2.rekvno = ""
    'Doc2.CompanyName = "EDC"
    'Doc2.CompanyNumber = "5555"
    'Doc2.ProjectNo = ""
    'Doc2.Description = "Kontor"
    'Doc2.MachineNo = "0909"
    'Doc2.MachineBPCSNo = "0909"
    'Doc2.RunningHours = 0
    'Doc2.Priority = "Planerad"
    'Doc2.HidDeleted = 0
    'Doc2.EmplNumb = "10150"
    'Doc2.DocType = ".Assignment"
    'Doc2.Readers = ""
   
    success = doc2.ComputeWithForm( False, False )
    If success Then
        Call doc2.Save( True, True )
    End If
   
    'Call Doc2.Save(True, False)
   
End Function
Avatar billede jogii Nybegynder
03. juni 2004 - 15:53 #13
Har du prøvet at flytte et felt udenfor subform?
Hvad er formlen for <Computed subform>?
Avatar billede jogii Nybegynder
03. juni 2004 - 15:55 #14
Du må MEEEEGET undskylde jeg bliver så vedholdende ved med at spørge om det samme, men det er så dumt at undersøge alt mulig andet inden man ved om man overhovedet HAR et problem, eller om man leder efter problemet det forkerte sted.
Avatar billede sbay Nybegynder
03. juni 2004 - 16:03 #15
Subformen:

REM {Contact Information};

DbSynonym:=@GetProfileField(".Database";".Synonym");

@If(DbSynonym=".Assignments";".AppNCContactInformationHEL";".AppNCContactInformationWMCUS")
Avatar billede jogii Nybegynder
03. juni 2004 - 16:12 #16
mao så er det ALTID den samme subform der vises. Derfor kan du godt flytte feltet udenfor.
Er koden ovenfor den du anvender for at oprette felter? Hvis, så skal du være opmærksom på at feltet "AssignedTo" nok ikke kommer til at indeholde det du forventer. Hvis så der ligger en sektion-med-sikkerhed på formularen (eller delformularen), så kan det have konsekvenser.
Avatar billede notes2c Nybegynder
03. juni 2004 - 16:38 #17
Når funktionen fejler, så er der nogle betingelse som ikke er opfyldt. Og jeg mener at ComputeWithForm stopper når den møder den første fejl. Og det kan jo være før den komme til den computed subform, prøv at sætte nogle "compute when compose" felter på formularen i top og bund og før og efter subformen. Kig så via debugger hvilke af disse felter som ComputeWithForm har lavet, hvilket giver en indikation om hvorlangt den kommer. Evt kan du ændre fra computed subform til at inkludere begge subforms og bruge hide-when til at vise den ene eller den anden.
Avatar billede sbay Nybegynder
04. juni 2004 - 08:48 #18
Okay - hvis jeg kigger i debugger efter ComputeWithForm fejler, så kan jeg se at det sidste felt der er sat på doc, er DatePlaced. Herefter ligger der et TimeDatePlaced!

Går den fra oppe fra og ned + fra venstre mod højre (ligesom man læser!), når den beregner felter??
Avatar billede sbay Nybegynder
04. juni 2004 - 08:52 #19
Hvis jeg fjerner de 8 felter der har noget med date og time at gøre så fungerer den! Men jeg mangler stadig lidt data på formen, men det arbejder jeg da videre med :-)
Avatar billede jogii Nybegynder
04. juni 2004 - 08:56 #20
Søren, grundlæggende handler det om at finde ud af om dit dokument indeholder de data det skal for at kunne vise formularen korrekt.
ComputeWithForm kan måske hjælpe, men det er nøjagtig det samme som at oprette dokumentet som du gør nu, åbne det i editmode og trykke <F9>. Så når du får det til at virke med ComputeWithForm har du allerede løst dit oprindelilge problem. Anvend derimod ComputeWithForm hvis der er mange følgefelter, som kræves til visning i oversigter og lignende.
Avatar billede notes2c Nybegynder
04. juni 2004 - 08:58 #21
Ja helt korrekt, fra venstre mod højre og oppe fra og ned.
Avatar billede notes2c Nybegynder
04. juni 2004 - 09:02 #22
Vel ikke helt, for hvis man sætter nogle felter under UI via UI funktioner, så skal man selve sørge for den logik nå man skaber dokumentet under backend.
Avatar billede jogii Nybegynder
04. juni 2004 - 09:12 #23
Det er rigtigt. Jeg påpeger blot at ComputeWithForm sandsynligvis ikke vil løse problemet. Hvis det kommer til at virke med ComputeWithForm, så er det fordi der bliver lavet de passende tilpasninger i enten selve formularen eller de data som dokumentet bliver født med FØR dokumentet kommer helskindet igennem ComputeWithForm.
Avatar billede sbay Nybegynder
04. juni 2004 - 10:04 #24
Så er den sgu ved at være der! Tusind tak for hjælpen begge to :-) I mangler at lave et svar!!!!
Avatar billede notes2c Nybegynder
04. juni 2004 - 11:47 #25
Det er da godt at høre, men kan du ikke lige kort skive hvad du har gjort.
Avatar billede jogii Nybegynder
04. juni 2004 - 11:48 #26
Ja ud med sproget !!
Avatar billede sbay Nybegynder
04. juni 2004 - 12:43 #27
Jeg kan ikke give en detaljeret step-by-step beskrivelse, men kort fortalt:

ComputeWithForm stoppede ved DatePlaced-feltet, så jeg fjernede dette (bliver ikke brugt :-) ) og 7 andre. Så kørte den igennem. Jeg kunne dog ikke gemme dokumentet efterfølgende, når jeg åbnede det via et view. Der var validering på de fjernede felter, men så satte jeg dem i agenten, og så virkede det

Doc2.DatePlaced = Today
Doc2.TimeDatePlaced = ""
Avatar billede notes2c Nybegynder
04. juni 2004 - 12:50 #28
Men de felter som du har fjernet, hvor var de placeret på formen eller subformen
Avatar billede sbay Nybegynder
04. juni 2004 - 13:27 #29
De var på formen!!!
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