Ga naar inhoud
  • 0

Gerelateerd record aanmaken via scriptparameter


WJ

Vraag

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 naar reactie

5 antwoorden op deze vraag

Aanbevolen berichten

  • 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 naar reactie
  • 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 naar reactie
  • 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 naar reactie
  • 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 naar reactie

Doe mee aan dit gesprek

Je kunt dit nu plaatsen en later registreren. Indien je reeds een account hebt, log dan nu in om het bericht te plaatsen met je account.

Gast
Beantwoord deze vraag...

×   Geplakt als verrijkte tekst.   Plak in plaats daarvan als platte tekst

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

×
×
  • Nieuwe aanmaken...