Avatar billede rethink Nybegynder
05. maj 2009 - 05:52 Der er 3 kommentarer og
1 løsning

script til indsættelse af fil i container field i portal row

Hvordan laver jeg et script der automatisk kan indsætte en fil (f.eks pdf. word m.v.)i et container field i en portal på en bestemt linie i portalen.

Mit script hopper altid op til den første linie i portalen ??

mvh
Henrik
Avatar billede zordesign Nybegynder
05. maj 2009 - 08:25 #1
Der er mange måder at gøre det på afhængigt af, hvor brugeren aktiverer funktionen.

Hvis brugeren står i den relevante portallinje, så kan du blot placere en knap i portalen ved siden af de øvrige portalfelter. Knappen vil stå én gang i hver linje (portalrække) lige som de øvrige felter. Du skal så sætte dit script til at køre, når brugeren trykker på knappen.

Antag, at dit layout er baseret på tabellen Master og portalrækkerne kommer fra rækken Detail. Lad os kalde dit containerfelt for Container. Dit script skal så sætte filen ind i feltet Detail::Container. Så vil det ramme den rigtige række.

Kontekst er vigtig i FileMaker Pro, og knappen vil køre med kontekst for den aktuelle portallinje, hvis den står i portalen som beskrevet før. Men hvis du starter dit script med fx at køre en Commit, så vil portalrækken ikke længere være aktiv og kontekst vil skifte til den tabel, layoutet er baseret på. Du har naturligvis stadig adgang til de relaterede felter i Detail, men da du ikke står i Detail men derimod i Master, vil du ramme den første relaterede post i Detail, og det vil være den første portalrække (med mindre du sorterer portalens poster anderledes end relationen er defineret i relationsgrafen).

Så hvis brugeren står uden for tabellen og skal indsætte noget i en bestem portalrække, skal du bruge en anden fremgagsmåde - skriv igen, så skal jeg prøve at hjælpe.

Det var et langt svar på et kort spørgsmål - jeg håber, det gav mening.

Mvh.
André Just Vedgren
ZorDesign ApS
Avatar billede zordesign Nybegynder
05. maj 2009 - 08:26 #2
Der er mange måder at gøre det på afhængigt af, hvor brugeren aktiverer funktionen.

Hvis brugeren står i den relevante portallinje, så kan du blot placere en knap i portalen ved siden af de øvrige portalfelter. Knappen vil stå én gang i hver linje (portalrække) lige som de øvrige felter. Du skal så sætte dit script til at køre, når brugeren trykker på knappen.

Antag, at dit layout er baseret på tabellen Master og portalrækkerne kommer fra rækken Detail. Lad os kalde dit containerfelt for Container. Dit script skal så sætte filen ind i feltet Detail::Container. Så vil det ramme den rigtige række.

Kontekst er vigtig i FileMaker Pro, og knappen vil køre med kontekst for den aktuelle portallinje, hvis den står i portalen som beskrevet før. Men hvis du starter dit script med fx at køre en Commit, så vil portalrækken ikke længere være aktiv og kontekst vil skifte til den tabel, layoutet er baseret på. Du har naturligvis stadig adgang til de relaterede felter i Detail, men da du ikke står i Detail men derimod i Master, vil du ramme den første relaterede post i Detail, og det vil være den første portalrække (med mindre du sorterer portalens poster anderledes end relationen er defineret i relationsgrafen).

Så hvis brugeren står uden for tabellen og skal indsætte noget i en bestem portalrække, skal du bruge en anden fremgagsmåde - skriv igen, så skal jeg prøve at hjælpe.

Det var et langt svar på et kort spørgsmål - jeg håber, det gav mening.

Mvh.
André Just Vedgren
ZorDesign ApS
Avatar billede rethink Nybegynder
10. maj 2009 - 22:44 #3
Tak for dit svar omend det ikke bringer mig meget videre....
flg. kan måske klarlægge minproblemstilling yderligere:
Jeg står i den enkelte portallinie og bruger scriptet "go to related record" og peger feltet ud i mit script og afligevel springer "insert file" funktionen i scriptet til den første linie i min portal. Hvad skal jeg ændre i mit script?
Avatar billede zordesign Nybegynder
11. maj 2009 - 16:44 #4
Hej rethink
Hvis jeg bruger eksemplet med Master (den tabel, layoutet er baseret på) og Detail (den tabel, portalen er baseret på, og hvor billedet skal gemmes), så sker der følgende: Go to Related Record går til alle relaterede poster i Detail, der matcher den aktuelle post i Master. De bliver (hvis ikke du har gjort noget mht. sortering) vist i oprettelsesrækkefølge, og du starter på den første post i det fundne sæt. Det er derfor, du altid lander på den første portalrække. Så her skal du her løbe igennem posterne, til du står på den rigtige (ved hjælp af Go To Record/Request/Page).
Men hvis du kun skal indsætte billedet i den aktuelle portalrække og ikke andet, så kan du klare dig med to script steps i dit script:
Go to Field [Detail::Picture]
Insert Picture
Når scriptet køres af en knap placeret i portalen, så vil billedet også blive indsat i den portalrække, brugeren står i, når der trykkes på knappen. Keine Hexerei!
Hvis ikke det var svar nok så må du fortælle noget mere om, hvad du prøver at gøre. Gør dit script fx andet end blot at indsætte billedet?
- André
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