Jump to content
  • 0

Gerelateerd record aanmaken via scriptparameter


WJ

Question

Hallo allemaal,

 

De volgende vraag, in FMP7 heb je de mogelijkheden gebruikt te maken van een scriptparameter wat natuurlijk een geweldige toevoeging is.

 

2 vragen

 

1) Is er een bezwaar een Record ID mee te geven via een scriptparameter en deze vervolgens via een evaluate functie uit te lezen en te gebruiken bij het maken van het gerelateerde record.

 

2) Ik gebruik de get(scriptparameter) functie vaak ik type hem nu iedere keer in wat is de beste manier om deze snel in je functie dialoog box te krijgen?

 

Groet,

WJ

Link to comment

5 answers to this question

Recommended Posts

  • 0
1) Is er een bezwaar een Record ID mee te geven via een scriptparameter en deze vervolgens via een evaluate functie uit te lezen en te gebruiken bij het maken van het gerelateerde record.

Waarom denk je dat ?

 

2) Ik gebruik de get(scriptparameter) functie vaak ik type hem nu iedere keer in wat is de beste manier om deze snel in je functie dialoog box te krijgen?

Je kan Get(ScriptParameter) toch ook selecteren uit de lijst met functies ... ?

Link to comment
  • 0

Hallo,

 

als je FileMaker Developer hebt dan kan je zelf een functie schrijven die korter is dan get(ScriptParameter). Als je met meerdere parameters werkt dan kan je die functie meteen wat stroomlijnen voor het verwerken van de overbodige return-tekens. Een voorbeeldje om meerdere parameters op te vissen door te verwijzen naar het nummer in de volgorde:

 

_______________

//Retrieves value X from a set of scriptparameters where X is a number representing the position in a return-delimited list

Substitute (

MiddleValues (

Get ( ScriptParameter )

; paramNum

;1 )

; "¶"

; "" )

___________________

 

Noem deze functie bijvoorbeeld getPar(paramNum) en je hebt al veel minder tikwerk! Er zijn genoeg alternatieven te vinden voor het gebruik van custom functions en scriptparameters, o.a. op dit forum.

Custom functions are your best friends 8)

Veel groeten,

 

Joris

Link to comment
  • 0

Bedankt voor de goede tip Joris ! (Helemaal niet aan gedacht custum functies)

 

Waarom ik de vraag stelde of er nadelen zijn scriptparameter te gebruiken komt eigelijk doordat ik niet precies weet hoe deze functie werkt.

 

Vroeger gaf je gegevens van een tabel/file (FMP6) over dmv. het gebruik van global velden en een constante relatie (trigger relatie ?? AvD) Je kunt nu gegevens tussen bestanden overgeven d.m.v de scriptparameter.

 

Echter een global veld werk als volgt. Het is een lokale waarde welke globaal is doordat deze voor ieder record geld.

 

Een scriptparameter is lokaal en script specifiek je kunt deze scriptparameter overgeven aan andere scripts door bij die nieuwe scripts als scriptparameter get(scriptparameter) te gebruiker. Klopt dit.

Link to comment
  • 0
Een scriptparameter is lokaal en script specifiek je kunt deze scriptparameter overgeven aan andere scripts door bij die nieuwe scripts als scriptparameter get(scriptparameter) te gebruiker. Klopt dit.

 

Ja hoor, het klopt. Je kan je scripts nu nog meer modulair opbouwen en verschillende parameters voederen om ze flexibel te maken. Resultaat: minder scripts en globals voor meer resultaat. Hiep hoi! :lol:

Een typisch voorbeeldje is één afdrukscript dat je op het moment dat je het aanroept vertelt hoe je wil printen:

DrukAf(paginaGrootte; oriëntatie ; preview|geenPreview; dialoog|geenDialoog)

 

Het enige dat je nu nog nodig hebt is een knop of een ander script waarin je dit script aanroept en bijvoorbeeld volgende parameters meegeeft:

DrukAf("A4"¶"Portrait"¶"Preview"¶"Dialoog")

Niks in de handen, niks in de mouwen. In elk geval geen globals.

 

Lui als we zijn 8) , kunnen we één en ander nog eenvoudiger maken door sommige minder gebruikte parameters optioneel te maken:

DrukAf(paginaGrootte; oriëntatie ; opt geenPreview ; opt geenDialoog)

Dit is handig als je in 80% van de gevallen toch altijd afdrukt mét preview en met dialoogvenster.

Het oproepen van het script kan nu veel korter:

DrukAf("A4"¶"Portrait)

In je script moet je natuurlijk code voorzien om te checken of parameter 3 en 4 een waarde bevatten.

 

Het leuke aan scriptparameters is dat je geen nood meer hebt aan 'transport'-globals. Maar mijns inziens kunnen scriptparameters globals nooit helemaal vervangen. Het werkt immers zoveel gemakkelijker als je vaste context-elementen in globals opslaat.

 

Veel groeten,

Joris

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...