Jump to content
  • 0

nummeren via een script?


Lin

Question

Posted

Ik heb een db met verschillende records, waaronder 'orderadministratie' en 'fakturen'. Op orderadministratie heb ik een button (of activeer ik een scriptje) waarmee ik een text verander in 'gefaktureerd'. Nu zou ik graag willen dat deze button er ook voor zorgt dat de betreffende order direct een faktuurnummer (waarde + 1) toekent.

 

Zelf heb ik verschillende dingen getest in met de scriptmaker maar ik kom er gewoon niet uit. Ik zal vast iets over het hoofd zien, maar wat... Het field 'faktuurnummer' zal ik bepaalde instellingen moeten meegeven maar in ieder geval geen 'auto-enter'... Toch? Sorry, ik snap er echt niets meer van...

 

zou iemand me hier mee kunnen en willen helpen?

19 answers to this question

Recommended Posts

  • 0
Posted
zou iemand me hier mee kunnen en willen helpen?

 

Ja hoor, tuurlijk :)

 

Ik begrijp alleen niet precies wat je wilt. Misschien kun je het bewuste bestand even posten? Of anders het script zoals je dat nu hebt, en wat je ervan verwacht? Dan kunnen we zien wat er mis gaat. Het lijkt me dat een scriptje als

 

Set field [tekstveld; "gefactureerd"]

Set field [nummerveld; nummerveld +1]

 

op zich wel moet doen wat jij wilt :)

  • 0
Posted

Hoewel het via persoonlijke berichten contact met elkaar hebben, natuurlijk zo zijn charmes heeft ;), zijn er hier vast wel meer mensen bereid om mee te denken of benieuwd naar de oplossing.

 

Ik - bijvoorbeeld - zou graag van het verloop van je vraag en de antwoorden erop, op de hoogte blijven (en dan bedoel ik niet per privé-bericht, maar gewoon: hier op het forum).

  • 0
Posted
Ik heb je even een PM gestuurd...

 

< Rony trekt nu even zijn groene jasje aan >

 

Lin, indien de info in die PM relevant is aan dit onderwerp, mogen wij dan ook de inhoud kennen ?

Zoniet ondermijn je het opzet van dit forum ... en we laten graag iedereen meegenieten van de problemen en bijhorende oplossingen ...

 

< Rony hangt zijn groene jasje weer aan de haak >

  • 0
Posted

Ehm, ja... Dat is natuurlijk ook weer waar. Ik post niet zo heel vaak op dit forum maar ik herinner me van de laatste keer dat ik helemaal tureluurs werd van alle reacties, mensen die met elkaar in discussie gingen, elkaar tegen spraken en ook nog eens niet-newbie-vriendelijke vaktermen bezigden.

 

Ik kon er in ieder geval geen touw meer aan vast knopen maar eerlijk is eerlijk, dat zegt misschien meer over mij dan over alle helpers. ;)

 

Oke; PM-metje er bij en even knippen en plakken.

 

[knip] Het bestand (of de database) die ik gebruik heb ik gekregen en ik heb beloofd dit niet verder weg te geven of te publiceren want de maker heeft er erg veel tijd in gestoken. Ik wil het dus liever niet online zetten...

 

Maargoed, wat ik nu heb:

 

een field, 'faktuurnummer' genaamd. De options hiervoor zijn: Auto-Enter; Serial number > on creation; next value F20044144, increment by 1.

 

een container 'faktuurnummer' genaamd met daarnaast een button.

 

de button activeert het volgende script genaamd 'vul in faktuurnummer':

Go to Field [select/perfom; Orderadministratie::faktuurnummer]

Set Field [Orderadministrati::faktuurnummer]

 

[plak]

 

De rest was een zelfde uitleg over het waarom zoals hierboven. Het Set Field heb ik inmiddels ontdekt (*zucht, léés dan ook goed Lin!*) Maar ik kon nergens tekstveld of nummerveld selecteren. Of iets dergelijks maar dan wel in het engels....

 

Zal ik het dan ooit leren?

 

Hoop dat ik het met deze reactie weer een beetje goed gemaakt heb. :D

  • 0
Posted
Ik heb even je PM beantwoord Lin ;)

 

Moet ik nu weer die groene jas aantrekken ? :evil:

 

Doe es niet zo streng modje :( Maar goed, ik copy-paste ook wel :) Ga me alleen niet vertellen dat er iets in staat wat je verbaast ;)

 

 

Set Field (of in NL versies "Veld instellen") is een uitermate krachtige scriptstap. Je kan het gebruiken om velden automatisch een bepaalde waarde te geven, middels een script. Ik zie nu ook wat er mis gaat bij je. Ik isoleer even het probleem. Je script luidt nu:

 

Go to Field [veld]

Set field [veld]

 

De grap van Set Field is dat je niet eerst met je cursor naar dat veld toe hoeft te springen, dus de regel "Go to field" is overbodig. Wat is daar zo grappig aan? Set field werkt OOK als het betrokken veld niet op de betreffende layout staat, en dat kan handig zijn bij complexe bewerkingen die je aan het oog van de gebruiker wilt onttrekken

Over de tweede regel: die is op dit moment behoorlijk loos, als ik het zo mag zeggen. De scriptstap Set Field heeft namelijk 2 argumenten: het veld wat ingesteld moet worden, en de waarde waarop dat veld ingesteld moet worden. Een werkende scriptstap zou bijvoorbeeld kunnen zijn

 

Set Field [Vakantiebestemming; "Portugal"]

 

Let er wel op dat je tekstwaarden (zoals in dit geval) omgeeft door aanhalingstekens. Anders neemt FileMaker aan dat er ook een veld Portugal bestaat, en stelt het veld Vakantiebestemming in op dezelfde waarde als het veld Portugal. Dat veld bestaat niet, dus dat zal dan tot foutmeldingen en niet werkende scripts leiden.

Overigens, laat je vooral niet afschrikken door "technisch geleuter" af en toe op het forum. In sommige discussies is dat niet altijd te vermijden, maar als je aangeeft dat je nog niet zo ervaren bent, dan zijn er altijd meteen een boel mensen die op een begrijpelijk niveau met je willen praten hoor ;) Ik hoop dat je hiermee wat geholpen bent :)

 

Groetjes,

 

Dr_Flash

  • 0
Posted

heel langzaam begint er iets onder die blonde lokken van me te dagen...

 

Ik ga morgen maar eens verder met het bestand want ik ben bang dat ik het 'n beetje om zeep heb geholpen door het getest. Als ik nu switch van de ene naar de andere layout dan blijft FM 'hangen' en moet ik het afsluiten met een force quit. Eerst dus maar even mijn backup reanimeren en vers opnieuw beginnen...

 

Moet wel zeggen dat ik het echt een barstens interessant programma vind hoor! Het zicht echt zo vreselijk knap in elkaar... Ooit ga ik het ook begrijpen!

 

 

*lin houdt moed!*

  • 0
Posted

Het komt heus goed, lin :) De hoeveelheid kennis die hier aanwezig is grenst aan het ongeloofelijke 8O. En als je dreigt te verdrinken, gewoon roepen, er is altijd wel iemand die je een reddingsboei toewerpt :lol:

 

..om de nautische parabel van Rony nog even te doen voortleven :D

  • 0
Posted

al doende leert men zullen we maar zeggen.

 

Met mijn backup ben ik geheel opnieuw begonnen. Helaas had ik even over het hoofd gezien dat er een aantal records bestonden die ik 'vrolijk' in mijn frisse start bui verwijderd had... Detail. Ook hier had ik weer een geprinte backup van dus ik kon ze vrij makkelijk opnieuw invoeren.

 

Het automatisch invoeren van het faktuurnummer is gelukt. Althans, ik zal heel goed moeten opletten dat ik geen faktuurnummers oversla want het lijkt er op dat de maker van deze database het zó hééft versleuteld dat bij iedere nieuwe order direct al een faktuur-record aangemaakt wordt.

 

Ik zal er dus gewoon op moeten letten dat ik geen orders aanmaak waar ik geheel nog geen acoord voor heb ontvangen. Dit weet ik nu dus ik kan er rekening mee houden.

 

Zeer per ongeluk ook nog wat 'handigheidjes' ontdekt dus deze worsteling is zeker niet voor niets geweest. Ik heb weer wat geleerd!

 

Dank allemaal voor de hulp en de leuke bemoedigende woorden!

  • 0
Posted
Althans, ik zal heel goed moeten opletten dat ik geen faktuurnummers oversla want het lijkt er op dat de maker van deze database het zó´´hééft versleuteld dat bij iedere nieuwe order direct al een faktuur-record aangemaakt wordt.

 

Als je wilt voorkomen, kun je werken met een globaal veld, dat je met het gewenste increment ophoogt, iedere keer dat je een nieuw factuurnummer nodig hebt. Op die wijze kun je ook verschil maken tussen ordernummers en factuurnummers, als dat relevant is tenminste.

  • 0
Posted
Als je wilt voorkomen, kun je werken met een globaal veld, dat je met het gewenste increment ophoogt, iedere keer dat je een nieuw factuurnummer nodig hebt. Op die wijze kun je ook verschil maken tussen ordernummers en factuurnummers, als dat relevant is tenminste.

 

Met een globaal veld? Dan werkt het enkel en uitsluitend in een single user-omgeving omdat globals locally stored zijn en dus per computer verschillen...

  • 0
Posted

Met een globaal veld? Dan werkt het enkel en uitsluitend in een single user-omgeving omdat globals locally stored zijn en dus per computer verschillen...

 

...ja...maar ...wie ben ik tenslotte om André tegen te spreken.... :oops:

 

Als je een bestand hebt met 1 record (ik gebruik bv een 'Main' als het 'voorhanden is) kun je met een Constant 1 veld en een relatie ervoor zorgen dat gelijk welk veld 'zich als een global gaat gedragen', dus ook in een multi-user omgeving.

Je moet het geheel alleen scripten en de mogelijke aangemaakte records in 'Main' terug laten verdwijnen....

Dus als je zegt dat een veld met dezelfde inhoud doorheen een bestand een globaal is (wie was er op zoek naar een 'reverse') en per computer kan verschillen.... :wink:

 

...is soms wel handig in gebruik bij bv serials doorheen een multi user toepassing met verschillende bestanden... 8O

  • 0
Posted
Als je een bestand hebt met 1 record kun je met een Constant 1 veld en een relatie ervoor zorgen dat gelijk welk veld 'zich als een global gaat gedragen'.

Een global ZIJN en (voor een gewoon veld: ) zich als een global GEDRAGEN zijn 2 fundamenteel verschillende dingen.

  • 0
Posted

...ja...maar ...wie ben ik tenslotte om André tegen te spreken.... :oops:

 

Je spreekt helemaal niemand tegen en de oplossing die jij voorstelt - we zullen die maar de Kazar-methode noemen - is inderdaad het enige echte alternatief (dat we trouwens allemaal al vele jaren gebruiken).

Waar ik het echter niet mee eens kan* zijn is wanneer je schrijft dat een op die manier gerelateerd veld zich als een global gedraagt:

Als je een bestand hebt met 1 record (...) kun je met een Constant 1 veld en een relatie ervoor zorgen dat gelijk welk veld 'zich als een global gaat gedragen', dus ook in een multi-user omgeving.

 

Een echt globaal veld is - net zoals het veld dat je hierboven beschrijft, toegankelijk voor iedereen doorheen de hele database. Dat is waar, en zou je kunnen zien als een eigenschap van globaliteit. Wat niet meer klopt, is de inhoud van het veld: bij de Kazar-methode is dat voor iedere user identiek, bij een echt globaal veld is dat niet noodzakelijk zo en kan elke user zijn eigen waarden hebben, wat bij het doornummeren van facturen uiteraard totaal onbruikbaar is...

------------

* Ik onderstreep "kan" omdat ik geen andere weg zie of ken: als er iets is, dan weet ik het niet :cry: .

  • 0
Posted

....is wanneer je schrijft dat een op die manier gerelateerd veld zich als een global gedraagt

 

Je vergat wel de aanhalingstekens André...(en miste de intonatie :wink: )

 

Ik wilde gewoon duidelijk maken dat als je een veld, in een multi-user app, nodig hebt dat doorheen de app eenzelfde waarde heeft, het, mits 'een workaround', wel mogelijkheden geeft....

 

...omdat ik hier toepassingen gezien heb die veel 'te zwaar' waren op dat gebied, terwijl het 'eenvoudig' kan met drie velden in het ene bestand en 2 in alle anderen....

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