Automatisera uppgifter med scripts > Exempel på script
 

Exempel på script

Du kan använda de exempel på scripts som finns i Hjälp som utgångspunkt för dina egna scripts. Fler exempelscript och mer hjälp finns i FileMaker Community.

Så här visar du ett script i FileMaker Pro Advanced:

1. Välj menyn Scripts > Scriptfönster. Eller öppna Arkiv-menyn > Hantera > Scripts.

2. I sektionen för scripts dubbelklickar du på scriptet som du vill visa.

Scriptet öppnas i en ny flik i sektionen för scriptredigering.

If-struktur, exempel

Scriptstegen If, Else If, Else och End If definierar en struktur som kontrollerar om scriptstegen ska utföras eller inte. Denna kontroll är beroende av resultatet av ett villkor som prövas eller av en logisk beräkning.

När resultatet av beräkningen inte är noll värderas villkoret till Sant och efterföljande scriptsteg utförs.

När resultatet av beräkningen är noll, tomt eller innehållet inte kan tolkas som ett tal, utvärderas villkoret som Falskt och efterföljande steg utförs inte.

Else If-steg ger ytterligare logiska villkor. Else-steg utgör alternativa steg som kan utföras om alla villkor utvärderas till Falskt.

Exempel 1

Utför en sökning. Om inga poster hittas visas en anpassad dialogruta. Om poster hittas sorteras sökresultatet.

Utför sökning [Återställ]
If [Get ( HittadePoster ) = 0]
Visa anpassad dialogruta ["Sök poster"; "Inga poster hittades."]
Else
Sortera poster [Återställ; Med dialogruta: Av]
End If

Exempel 2

Utför en sökning. Om inga poster hittas visas en anpassad dialogruta. Om en post hittas visas layouten Fakturainformation. Om mer än en post hittas visas layouten Fakturor.

Utför sökning [Återställ]
If [Get (HittadePoster) = 0]
Visa anpassad dialogruta ["Sök poster"; "Ingen post hittades."]
Else If [Get (HittadePoster) = 1]
Gå till layout ["Fakturainformation"]
Else
Gå till layout ["Fakturor"]
End If

Loop-struktur, exempel

Scriptstegen Loop, Exit Loop If och End Loop definierar en struktur som gör att scriptstegen kan upprepas. Scriptsteg mellan Loop och End Loop utförs kontinuerligt tills ett Exit Loop If- eller Avbryt efter sista-villkor har uppfyllts för något av stegen Gå till post/sökpost/sida eller Gå till portalrad.

Med scriptsteget Exit Loop If kan du ange att en beräkning ska utvärderas. När resultatet av beräkningen inte är noll värderas beräkningen till Sant och loopen avslutas. När resultatet av beräkningen är noll värderas beräkningen till Falskt och loopen fortsätter.

Exempel 1

Kopierar innehållet i Kunder::Arbetstelefon till Kunder::Kontakt dagtid i alla poster.

Gå till post/sökpost/sida [Första]
Loop
Tilldela fält [Kunder::Kontakt dagtid; Kunder::Arbetstelefon]
Gå till post/sökpost/sida [Nästa; Avbryt efter sista: På]
End Loop

Exempel 2

Loopar igenom poster för att exportera filer i containerfält. Avbryter loopen om en post har ett tomt containerfält.

Ange variabel [$SÖKVÄG; Värde: Get ( Dokumentsökväg ) & Produkter::Container]
Gå till post/sökpost/sida [Första]
Loop
Exit Loop If [IsEmpty ( Produkter::Container )]
Exportera fältinnehåll [Produkter::Container; "$SÖKVÄG"; Skapa
kataloger: Av ]
Gå till post/sökpost/sida [Nästa; Avbryt efter sista: På]
End Loop

Exempel på startscripts

Med ett start script kan man anpassa användarens databasvy eller utföra andra åtgärder när en databas öppnas. Startscript körs av scripttriggern VidFörstaFönsterÖppna. Information om hur du konfigurerar ett startscript finns i Ange filtillval.

Exempel 1

Går till administrationslayouten om kontot har tilldelats behörighetsuppsättningen Fullständig behörighet. Går annars till datainmatningslayouten.

If [Get ( KontoBehörighetsuppsättning ) = "[Full åtkomst]"]
Gå till layout ["Administration"]
Else
Gå till layout ["Datainmatning"]
End If

Exempel 2

Kollar vilken version av FileMaker Pro Advanced eller FileMaker Go som öppnade databasen och går till lämplig kundlayout.

If [Get ( Enhet ) = 3]
Gå till layout ["Kunder iPad"]
Else If [Get ( Enhet ) = 4]
Gå till layout ["Kunder iPhone"]
Else
Gå till layout ["Kunder"]
End If

Exempel på Utför script och scriptparametrar

Utför script utför ett script som har definierats i den aktuella filen eller i en annan FileMaker Pro Advanced-fil.

Valfria scriptparametrar kan överföra text till ett script. Du kan t.ex. använda en scriptparameter för att lagra den aktiva postens nummer när ett script startas, så att du lätt kan återgå till den posten när scriptet är slut. Du kan också anropa samma script från olika knappar i samma layout och lätt fastställa vilken knapp som anropade scriptet genom att använda olika scriptparametrar för varje knapp.

När du anger en parameter kan du hämta den i ett script eller överföra den till andra scripts med funktionen Get ( Scriptparameter ).

Du kan också använda komplexa parametrar, t.ex. en lista med namn eller andra värden. Komplexa parametrar som är avgränsade med returtecken kan tolkas med funktionen LeftValues, funktionen MiddleValues och funktionen RightValues. De här funktionerna returnerar de inledande, mellersta och avslutande värdena i listor som är avgränsade med returtecken. Komplexa parametrar som är avgränsade med andra tecken kan tolkas som text med t.ex. funktionen Left, funktionen Middle och funktionen Right.

Exempel 1

Kör scriptet "Skriv ut fakturarapport" utan några parametrar.

Gå till layout ["Fakturarapport"]
Utför script [ Angivet: Från lista ; "Skriv ut fakturarapport" ;
Parametrar: ]

Exempel 2

Använder ett fält, Kundnamn, som parameter. Fakturor för den aktuella kunden returneras i ett nytt fönster med layouten Fakturarapport.

Huvudscript: Aktuella kundfakturor

Sök efter matchande poster [Ersätt; Fakturor::Kund-ID]
#Anropar delscriptet "Visa kundfakturor" som anges nedan
Utför script [ Angivet: Från lista: "Visa kundfakturor"; Parameter: Fakturor::Kundnamn]

Delscript: Visa kundfakturor

Nytt fönster [Namn: "Kund: " & Get (ScriptParameter); Stil: Dokument]
Gå till layout ["Fakturarapport"]
Sortera poster [Återställ; Med dialogruta: Av]

Kommentarer

En scriptparameter finns bara kvar så länge scriptet utförs. Scriptparametrar återställs varje gång ett script körs. Om du vill att en scriptparameter ska kvarstå medan en fil är öppen, kan du använda en global variabel som scriptparameter.

En scriptparameter finns bara inom det överordnade scriptet om det inte uttryckligen överförs till ett annat script med funktionen Get ( Scriptparameter ).

En scriptparameter kan användas (men inte ändras) inom ett script och den kan överföras till delscript med funktionen Get ( Scriptparameter ) som parameter för delscriptet. Du kan också ange olika parametrar varje gång delscriptet anropas med Utför script. Ändring av parametrar som skickas till ett delscript ändrar inte värdet på parametrar som returneras från Get ( Scriptparameter ) i det överordnade scriptet.