Ari Posted January 10, 2014 Posted January 10, 2014 Ik wil op een pop up dmv de scripttrigger "OnObjectEnter" checken of de gebruiker toegang heeft tot het veld. Echter het script wordt pas getriggerd als de waarde van het veld al gewijzigd is. Weet iemand hoe ik fm toch te snel af kan zijn? Quote
0 Felix Posted January 10, 2014 Posted January 10, 2014 (edited) . Edited October 4, 2015 by Guest Quote
0 Ari Posted January 10, 2014 Author Posted January 10, 2014 Dat werkt helaas ook niet. Ik heb ook gedacht om een 'buttonscript' op het veld te zetten die bij geoorloofde veldtoegang een goto naar het veld geeft. Zowel bij jouw als bij genoemde oplossing wordt wel het veld actief maar komt niet de pop-up list tevoorschijn .. Quote
0 SuperWimmie Posted January 10, 2014 Posted January 10, 2014 Trigger On Record Load in de Layout plaatsen. Bij elk record wordt onvoorwaardelijk eerst deze trigger verwerkt. Het betreffende object kan in 13 uitgeschakeld worden op basis van een voorwaarde, bedenk zelf welke dat moet zijn. Quote
0 Ari Posted January 10, 2014 Author Posted January 10, 2014 Dank Wimmie maar we zitten helaas nog met 12 Quote
0 SuperWimmie Posted January 11, 2014 Posted January 11, 2014 Dan vraag ik mij af wat je precies bedoelt... Een popup, wat is dat in jouw ogen? Hebben we het over velden die je NA het openen van de popup wilt tonen / verbergen? (velden verbergen is lastig, maar via portals wel te doen) Of is jouw stap al bekend voordat je de popup opent? (scripting en meerdere layouts toepassen) Quote
0 Ari Posted January 11, 2014 Author Posted January 11, 2014 Stel je hebt de velden A en B. Als B een bepaalde waarde heeft mag A niet meer gewijzigd kunnen worden. Normaal gesproken geen probleem. Je plaatst een scripttrigger onobjectenter die onder voorwaarde een gotofield[] geeft. Als je veldwaarden uit een pop-up haalt gaat dit niet werken.. Quote
0 menno Posted January 11, 2014 Posted January 11, 2014 Zodra je een popup-menu gebruikt blijft het wel een beetje geknutsel, maar je kan in het onObjectEnter-Triggerscript een beetje meer spul inbouwen: If [ VeldB ≠ "" ] If [ Get ( RecordOpenState ) = 2 Revert Record [no dialog ] End-if Goto-Field [ VeldB ] End-if Dan wordt je veld welliswaar gewijzigd, maar de wijziging (evenals alle andere nog niet opgeslagen wijzigingen) wordt weer teruggedraaid, zodra je het veld probeert te verlaten. Quote
0 Ari Posted January 11, 2014 Author Posted January 11, 2014 Is inderdaad ook een oplossing Menno maar dan worden ook alle voorgaande veldmutaties gecanceld. Ik zat zelf te denken om een herhaling op het veld te zetten die de historische waarde bewaart en weer terugzet als het veld ten onrechte wordt muteert. Quote
0 rmw Posted January 12, 2014 Posted January 12, 2014 Wat nu als je een trigger zet op het veld wat je gaat verlaten...OnObjectValidate/Exit/Save? Kan dat nog helpen? Die kan je tenslotte annuleren. rmw Quote
0 Ari Posted January 12, 2014 Author Posted January 12, 2014 Bij het verlaten kan de veldinhoud inmiddels veranderd zijn. Dit moet je dan op eoa manier weer terug draaien. Quote
0 menno Posted January 12, 2014 Posted January 12, 2014 Bij het verlaten kan de veldinhoud inmiddels veranderd zijn. Dit moet je dan op eoa manier weer terug draaien.Ik denk dat hij bedoelt "op het veld dat je gaat verlaten voordat je VeldA activeert" en dan is er nog niets veranderd Quote
0 Ari Posted January 12, 2014 Author Posted January 12, 2014 Ah op die manier . Lijkt me heel lastig, ook omdat je nooit weet van welk veld je vandaan komt. Quote
0 menno Posted January 12, 2014 Posted January 12, 2014 Je zou op elk veld in de layout een onExit scripttrigger kunnen zetten die begint met het maken van een "snapshot" van je record. Op VeldA zou je een knop kunnen leggen en VeldA uit de tab-volgorde kunnen weglaten zodat eerste de inhoud van veldB wordt gecontroleerd Post eens eens screenshot van je layout, dan weten wij ook waar je over praat Quote
0 Ari Posted January 12, 2014 Author Posted January 12, 2014 Je zou op elk veld in de layout een onExit scripttrigger kunnen zetten die begint met het maken van een "snapshot" van je record. Misschien bij een paar velden haalbaar maar hoe dan ook een draak om te onderhouden. Op VeldA zou je een knop kunnen leggen en VeldA uit de tab-volgorde kunnen weglaten zodat eerste de inhoud van veldB wordt gecontroleerd Zodra je niet meer met je muis op het veld zelf kunt klikken (knop erboven) krijg je de dropdown niet meer zichtbaar. Post eens eens screenshot van je layout, dan weten wij ook waar je over praat Is een maatwerkapplicatie voor een klant incl. geheimhoudingsverklaring Maar voor de beeldvorming: De layout past alleen op een 27"" en staat vol met velden en portals... Quote
0 rmw Posted January 12, 2014 Posted January 12, 2014 Als je OnRecordLoad een script uitvoert dat van dat veld de bestaande waarde ophaalt en in een variabele stopt, dan kan je die waarde terugzetten als OnObjectEnter wordt geconstateerd dat de waarde niet mag worden gewijzigd. Blijft een raar verhaal dat OnObjectEnter niet wordt getriggerd als je het menu opent... Het zal volgens de FM logica wel kloppen, maar helemaal consistent voelt het niet. rmw Quote
0 Ari Posted January 12, 2014 Author Posted January 12, 2014 Blijft een raar verhaal dat OnObjectEnter niet wordt getriggerd als je het menu opent...Het zal volgens de FM logica wel kloppen, maar helemaal consistent voelt het niet. Volgens mij klopt het niet volgens de fm logica en is het een bug.. Je oplossing is in veel gevallen een goed alternatief voor de history herhaling die ik voor ogen had. In mijn geval gaat het echter om een veld op een portaal dat dus vele malen voor kan komen op de layout. Iedereen bedankt voor het meedenken! Quote
0 menno Posted January 12, 2014 Posted January 12, 2014 voor de beeldvorming: De layout past alleen op een 27"" en staat vol met velden en portals... Als de keuzelijst dan zo belangrijk is en als deze situatie ook nog eens veel voorkomt, waarom pak je dan geen geheel andere aanvliegroute? Je zou een soort dialoogvenster kunnen bouwen, met daarin een lijstje met keuzes die wél mogelijk zijn. Je kan dan de dropdown-menu laten vervallen en een gewoon veld gebruiken (met een scripttrigger uiteraard) en als je dat te omslachtig vind, dan zou je wellicht kunnen overwegen een plugin te gebruiken om een dialogbox met een keuzelijst te maken. Zoiets kan je heel goed generiek maken, zodat je alleen maar een lijstje, een titel, een bericht en een knop(pen) hoeft op te geven. Quote
0 Ari Posted January 13, 2014 Author Posted January 13, 2014 De drop down heeft wel zo zijn voordelen. 1 veld voor ID en content en bovenal, de gebruiker kan niets invullen wat niet in de valuelist staat. Dat is natuurlijk wel af te vangen maar dan krijgt de gebruiker pas een melding achteraf. De beste oplossing is toch maar zo snel mogelijk naar 13 Quote
0 SuperWimmie Posted January 13, 2014 Posted January 13, 2014 Dit soort vraagstukken zijn in 13 verleden tijd, kan ik je zeggen. Gewoon recht voor zijn raap knoppen en velden en andere objecten geconditioneerd uitschakelen, het lost veel andere zaken ook op. Quote
Question
Ari
Ik wil op een pop up dmv de scripttrigger "OnObjectEnter" checken of de gebruiker toegang heeft tot het veld. Echter het script wordt pas getriggerd als de waarde van het veld al gewijzigd is.
Weet iemand hoe ik fm toch te snel af kan zijn?
19 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.