Ga naar inhoud
  • 0

Adaptive value list


Roger

Vraag

Ik wil een portaaltje (Personen) van maximaal 6 records vullen via een Venstermenu, met namen die ik haal uit een andere datatabel. Nu zou ik in de waardelijst van dat venstermenu alleen de namen willen zien die in Personen nog niet zijn gebruikt. Nu heb ik wel een idee hoe ik dit zou kunnen oplossen m.b.v. een derde tabel en een scripttrigger maar zou dit ook chiquer kunnen? 

Link naar reactie

7 antwoorden op deze vraag

Aanbevolen berichten

  • 0

Hi Roger, ik heb een iets andere oplossingswijze gekozen, zonder globals en zonder scriptjes om waarden aan te passen. (muv het aanmaken van team-records bij een project).

De kern is een custom-function die ik heb gemaakt om de gekozen waarden in een team te verwijderen uit de poule met mensen (medewerkers). Aan het resutaat voeg de ID van de op dat record gekozen medewerker toe en gebruik dat totale resultaat om alleen de medewerkers te tonen die kunnen worden gekozen (inclusief die ene gekozen op dat record)

Het enige dat hier wel nodig is, is het forceren van de berekening en het legen van de cache, omdat anders de lijst met waarden nooit klopt. Een ander nadeel is dat je echt eerst een portaal-record moet aanmaken om een werkende keuzelijst te krijgen. Meestal script ik het aanmaken van portaal-records toch al, dus voor mij is dat geen nadeel, voor jou misschien wel.

 

Adapting_Valuelist_v2.fmp12

Adapting_Valuelist_v2_andereweergave.fmp12

Link naar reactie
  • 0

Ik heb het al voor elkaar zonder extra tabel en op zich was het niet zo heel moeilijk. Vandaar wellicht geen reacties. Maar ik kan me toch voorstellen dat niet iedereen dit eventjes maakt. Ik wil het techniek-filetje wel delen, als iemand daar interesse in heeft. In dat geval graag even een berichtje. 

 

Link naar reactie
  • 0

Haha, nee hoor Roger, het is absoluut niet zo dat hier alleen moeilijke problemen reacties krijgen. Het is prachtig weer en het is week-end zodat menigeen eventjes niet op het forum zit. Daarbij komt dat de oplossing van jouw vraag niet 1,2,3 is te geven, er moet toch wel even over nagedacht worden. Ik ben dan ook heel benieuwd naar jouw oplossing, dus wanneer je het zou willen delen, heel graag!

Link naar reactie
  • 0

In het script: 'delete from ID' ben ik vergeten de If t/m End if (eerste drie regels) te verwijderen. Voor de werking op zich geen probleem. Ik was nog wat aan het experimenteren... Ik wilde bereiken dat een bestaande waarde in het venstermenu nog te kiezen is wanneer het venstermenu opnieuw wordt geopend als het al een waarde heeft. Ik had dit echter nog niet voor elkaar, vooral eigenlijk omdat een scripttrigger BijToegangObject niet werkt bij de eerste toegang van een venstermenu. Dit gebeurt pas zodra een waarde wordt gekozen. Daardoor ben ik niet in staat de oorspronkelijke 'deelnemer-ID' van de portaalrij uit te lezen om die nog aan de global home::g_id toe te voegen alvorens het venstermenu zich opent. De verbeterde file toegevoegd.

adaptive_value_list_v1.1.fmp12

Link naar reactie
  • 0

Ik vind het superleuk Menno dat je jouw knap gemaakte oplossing deelt. Dit bekijkende moet ik (weer) constateren dat er nog veel te leren valt en dat is leuk. Zo kende ik die get ( UUID ) functie niet. En ook zo'n custom-functie vind ik heel interessant. Ik zou daar graag meer over leren. Heb je misschien ook een tip hoe ik daar meer over te weten kan komen? 

Normaal script ik de aanmaak van portal-records ook, voor mij ook geen nadeel dus. In hoeverre het noodzakelijk legen van de cache een nadeel is kan ik niet beoordelen. Is het normaliter prettig dat de cache niet geledigd wordt? Ook met deze functie ben ik eigenlijk niet bekend.

Ik kan hetgeen je gemaakt hebt nog wel niet helemaal doorgronden maar het wordt al wel steeds duidelijker. ik vind het i.i.g. een leuk en interessant studieobject. 

Hartelijk dank voor het delen!

 

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...