Jump to content
  • 0

Waarde op wijziging


dudematters

Question

Posted

Ik zoek een oplossing voor het volgende, moet niet moeilijk zijn maar kom er even niet uit.

 

Ik heb een veld Bron, deze vermeld de bron van het record waar het vandaan komt. Nu wil ik dat als dat record aangepast wordt (handmatig) dat de inhoud van dit veld direct veranderd in "Handmatig". Ik kan dit oplossen door op alle velden een script-trigger te zetten, maar ik denk dat het efficiënter moet kunnen, wellicht in combinatie met automatisch wijzig-datum. Maar ik zie het even niet. Iemand een wakker idee?

7 answers to this question

Recommended Posts

  • 0
Posted

Ik heb 3 velden

aanmaaktijdstempel

wijziginginstijdstempel

tekstveld met berekende waarde: case(aanmaaktijdstempel wijziginginstijdstempel;"handmatig")

 

vr groet

Harry

  • 0
Posted

Harry, dank voor reactie... maar dit is niet helemaal goed, want de aanmaakdatum kan ver in het verleden liggen, de wijziging hoeft niet direct te zijn, kan ook veel later plaatsvinden. Wat ik vergeten ben te vertellen is dat de bron wel aangepast kan worden door het systeem, dan geldt de regel niet. Dan moet de bron blijven. Het is alleen op een wijziging (handmatig) dat de bron moet wijzigen in "Handmatig"

  • 0
Posted

Scripttriggers op alle invoervelden is het meest doeltreffend en volgens mij ook het meest efficiënt. Het is layoutgebonden, het reageert niet op wijzigingen door scripts, en je kunt de triggers op alle velden in één keer aanbrengen.

  • 0
Posted

Jammer, ik had gehoopt het op een betere manier te doen. Nu verlies ik de mogelijkheid een script-trigger op een enkel veld te zetten, afwijkend van de rest. Omdat de wijzig-datum al bestaat hoopte ik op een record-on-change functie die ik nog niet ken ;-)

  • 0
Posted

Er is ook een oplossing met Auto-Enter, in combinatie met een globale variabele en de Evaluate functie. Voordeel is dat deze methode niet layout-gebonden is, zoals de script trigger methode:

- Laat je scripts die velden instellen aan het begin een globale variable, bv $$systeem op 1 zetten, en op het einde op 0

- Voeg aan je 'Bron' veld een Auto-Enter Calculation toe à la:

Evaluate(
"Case($$systeem ; \"Systeem\" ; \"Handmatig\")" ; 
[veld1;veld2; veldn]
)

 

Het is nl. zo dat de Evaluate functie een 2de parameter accepteert, die bestaat uit een lijst van velden die de evaluatie triggeren. Nadeel is ook hier dat je al je wijzigbare velden aan de Evaluate functie moet toevoegen.

 

HTH

 

Jeroen

  • 0
Posted

Je kunt denk ik beter iets met de rechten doen. Als een record op systeem staat kun je het niet wijzigen.

De gebruiker dient eerst het record op handmatig te zetten. Zo tackle je het probleem op een mooiere manier ??

  • 0
Posted
Scripttriggers op alle invoervelden is het meest doeltreffend en volgens mij ook het meest efficiënt. Het is layoutgebonden, het reageert niet op wijzigingen door scripts, en je kunt de triggers op alle velden in één keer aanbrengen.

Voor de volledigheid: zolang je "Set Field" gebruikt, reageren script triggers inderdaad niet. Als je één van de "insert" script steps gebruikt dan werken de script triggers wel.

 

De oplossing via security is inderdaad veilig en ondubbelzinnig, maar verplicht gebruikers wel om zelf de "handmatig"-switch om te zetten om records te unlocken.

De oplossing via auto-enter centraliseert mooi alle logica in één auto-enter en gebruikers merken er niks van.

In beide gevallen kruipt de business-logica in je data-laag. Maar dat is natuurlijk wel meer het geval met FM.

De script-triggers hebben het voordeel dat je die logica naar je interface-laag brengt. Vraag is of je dat wil natuurlijk.

Groeten,

Joris

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