Jump to content

menno

Moderators
  • Posts

    1988
  • Joined

Everything posted by menno

  1. Gefeliciteerd! En nog steeds is deze website een vraagbaak voor heel veel ontwikkelaars en aficionados! Erg leuk!
  2. Nou ja uh, dat zou dan alleen nodig zijn voor het aanmaken van een totaal nieuw bestand en dat doe ik eigenlijk niet dagelijks, zelfs niet wekelijks. Er zijn m.i. wel zaken die belangrijker zijn, zoals de scriptregelnummer die iedere keer wegvalt het écht kunnen afbreken van een zoekopdracht een betere interface voor de security extern geauthenticeerde accounts per script kunnen toevoegen de schedules in fmserver kunnen sorteren etc. etc. Allemaal zaken die ook half af zijn en waar je wél dagelijks tegenaan loopt
  3. "Het" standaard thema van FileMaker kan je niet wijzigen, maar wél je eigen werkwijze. Zodra je een bestand aanmaakt kan je voor de allereerste lay-out een thema kiezen (of importeren). Daarna wordt bij de aanmaak van iedere nieuwe lay-out het thema van de lay-out die op dat moment actief is gebruikt. M.a.w. na aanmaak van een bestand is de eerste stap die je moet uitvoeren: het thema wijzigen ..... Het zou wel ideaal zijn als je net als met de DefaultFields.xml een DefaultThemes.xml zou kunnen maken, met daarin alleen de Themes die je wilt gebruiken én met je standaard-theme ingesteld
  4. De naam FileMaker Pro verdwijnt, dat wordt Claris Pro. Met Claris Studio heb je de beschikking over de hele productrange voor één gratis gebruiker. Bij de voorstelling aan de Partners werd meteen de vraag gesteld: hoe met verschillende privilegesets c.q. account zal worden omgegegaan en daarop werd geantwoord dat daar op de een of andere manier een oplossing voor zal worden geboden. Zo vaag is het niet in mijn ogen, ze hebben alleen het product nog niet klaar. Er is ook nog geen beta-test van de Studio beschikbaar, tot die tijd moeten we dan maar nog even afwachten
  5. Die Belgische nummerplaten: Dat dacht ik nou ook toen ik die presentatie zag. Hoe komt hij aan die dingen? Heeft hij ooit in België gewoond? Over de naam Claris ipv FileMaker: dat maakt mij eigenlijk niet zoveel uit. Ik denk gewoon dat ze bij Claris op zoek willen naar een nieuw 'imago'. Er zijn nog steeds weinig mensen die weten wat FileMaker is en van de mensen die het wel (denken te) weten, denkt een groot deel dat het een niche-product is. Voor een deel klopt dat beeld ook als gevolg van de prijsstelling. Ze proberen dat nu weg te nemen met re-branding én een 'gratis' single-user-development-studio. Ik ben heel benieuwd naar de toevoegingen, want oude licenties, on-premises, go, etc. etc. zullen ook blijven bestaan. We moeten het zien als een aanvulling of uitbreiding van het platform. Verder krijgen wij als ontwikkelaars kennelijk toegang tot alles van het platform om mee te ontwikkelen. Pas nadat we het door ons ontwikkelde systeem uitrollen bij een klant moet er een rekening worden betaald. Er valt verder nog geen zinnig woord over de kosten te zeggen. Eindelijk gaat Claris eens een kant op bewegen waarmee een groter publiek kan worden bereikt en wellicht komt er nu ook eindelijk eens aanwas van ontwikkelaars vanuit de jeugd en de opleidingen. Microsoft en andere softwaremakers geven al jaren producten voor (bijna) niets aan studenten en opleidingen, zodat die ermee leren omgaan en er een voorkeur voor ontwikkelen. Als ze dan na hun opleiding aan de slag gaan, dan vragen ze hun werkgevers om de producten aan te schaffen die ze gedurende hun opleiding hebben gebruikt.
  6. Zet een if() om de berekening heen waarmee je de geldigheid van de input controleert, zodat de berekening alleen wordt uitgevoerd als alle data zijn ingevuld. Bijv: If ( not ( IsEmpty ( geboortedatum ) or IsEmpty ( overlijdensdatum ) ) ; <leeftijdsberekening> )
  7. De simpelste benadering is een combinatie van substitute() en list(): Substitute ( List ( veld1 ; veld2 ; veld3 ) ; ¶ ; "/" ) Wel even opletten dat de velden niet alleen spaties bevatten of dat er returns (¶) in staan, die moet je er eerst uithalen voordat je dit toepast.
  8. @BanachJe hebt gelijk en versie 13 heeft ook al styles en hide objects, maar versie 12 nog niet, dus als de extensie fmp12 is, dan gebruikt @robert427 dus versie 12 en anders versie 11, die is optisch bijna identiek .............. @robert427 In de menubalk bovenaan staat het menu "help" de laatste keuze in dat menu is "About FileMaker Pro" of iets van die strekking en daar kan je zien welke versie je gebruikt. Je schrijft in het eerste bericht dat je FM opnieuw hebt geïnstalleerd. De laatste versie die is geïnstalleerd is ook de versie die Windows gebruikt om een bestand met een specifieke extensie (fmp12) te openen. M.a.w. als je er nu voor zorgt dat je daadwerkelijk versie 14 op je computer installeert, dan beschik je weer over de features die je nu mist. 😁
  9. Ik vermoed dat @robert427 "FileMaker Pro 14" en niet "FileMaker Pro 14 Advanced" gebruikt er was t/m versie 16 zowel een "gewone" als een "advanced" versie beschikbaar. Vanaf versie 17 moet je in het voorkeurenpaneel de advanced-features expliciet aanzetten en kan je bij installatie van FMP middels "Assisted Install.txt" die mogelijkheid voor een user helemaal uitzetten.
  10. Gooi de temp-map leeg en probeer het dan nog eens %userprofile%\AppData\Local\Temp\
  11. Zie ook de help met de uitleg daarover: https://help.claris.com/nl/pro-help/content/different-system-formats.html
  12. Maak een kloon (clone) van het bestand dat je wilt omzetten naar een andere "locale" (in beter Nederlands: landinstellingen) en open dat alleen als eerste op een Mac of PC met de gewenste landinstellingen. Het betreffende bestand is leeg en dus moet je nog even alle gegevens importeren uit je originele database. Je zou dit eigenllijk met de FMDataMigerationTool moeten kunnen doen, maar dat is jammergenoeg niet mogelijk. Hopelijk dat Claris dat in een volgende versie van de FMDMT eindelijk eens mogelijk maakt.
  13. Je kan een relatie leggen op gewichten waarbij je met die relatie een bereik aangeeft. Zie het voorbeeldje Vrachtkosten.fmp12
  14. Als je pakketten wil aanmelden voor verzending bij PostNL via hun API's dan moeten deze gegevens gescheiden worden aangeverd. Heel vaak staat alles echter in één veld en veel webshops leveren het ook in één veld aan. Het afgelopen weekeinde had ik weer zo'n geval en toen heb ik daar een CF gebakken, die in de meeste gevallen een correct resultaat levert. Alleen wanneer de straat eindigt op een jaartal, wordt het lastig. (Een adres zoals: plein 1940-1945 heb ik hierin opgelost, maar andere gelijksoortige straatnamen denk ik niet) /* ################################################################## # # AdresSplitsen custom-function # Format: AdresSplitsen ( StraatHuisnrToev ) # # Parameters: # StraatHuisnrToev: Straat, huisnummer en toevoeging in één # # Data returned: # JSON met 3 objecten: street, housenr, addition # # Description: # Voor het aanmelden van zendingen bij Postnl via hun API moet van alle adressen # de adresregel worden geplitst in de 3 velden street, housenr en addition. # Tussen de straatnaam en het huisnummer moet een spatie staan, de toevoeging # mag aan het huisnummer vast zitten. # De functie werkt matig bij straatnamen die eindigen op een jaartal. # # Author: # Menno van Beek # # 20220226 Initial version # # ©2022 - FileMakerTips.nl # ################################################################## */ Let ( [ aList = Substitute ( TrimAll ( Substitute ( StraatHuisnrToev ; [ "-" ; " " ] ; [ "/" ; " " ] ) ; 1 ; 1 ) ; [ " " ; ¶ ] ) ; n = ValueCount ( aList ) ; i = If ( n > 2 ; n - 2 ; 1 ) ; a = Trim ( Substitute ( LeftValues ( aList ; i ) ; [ ¶ ; " " ] ) ) ; b = GetValue ( aList ; i + 1 ) ; c = GetValue ( aList ; i + 2 ) ; bn = Filter ( b ; "1234567890" ) ; cn = Filter ( c ; "1234567890" ) ; nn = Case ( Exact ( b ; bn ) and not ( b = 1945 and PatternCount ( a ; 1940 ) ) ; 1 ; 0 ) ; nr = Case ( nn ; b ; Filter ( If ( n > 2 ; c ; b ) ; "1234567890" ) ) ; ex = If ( Length ( nr ) ; Case ( nn ; c ; Substitute ( If ( n > 2 ; c ; b ) ; nr ; "" ) ) ) ; st = If ( IsEmpty ( nr ) ; StraatHuisnrToev ; Trim ( Left ( StraatHuisnrToev ; Position ( StraatHuisnrToev ; " " & nr ; Length ( nr & ex ) + 2 ; 1 ) ) ) ) ; nr2 = Case ( IsEmpty ( st ) ; ex ) ; nr = Case ( IsEmpty ( nr2 ) ; nr ; Filter ( nr2 ; "1234567890" ) ) ; ex = Case ( IsEmpty ( nr2 ) ; ex ; Substitute ( nr2 ; nr ; "" ) ) ; st = Case ( IsEmpty ( nr2 ) ; st ; Trim ( Left ( StraatHuisnrToev ; Position ( StraatHuisnrToev ; " " & nr ; Length ( nr & ex ) + 2 ; 1 ) ) ) ) ; result = JSONSetElement ( "" ; [ "street" ; st ; JSONString ] ; [ "housenr" ; nr ; JSONString ] ; [ "addition" ; ex ; JSONString ] ) ] ; result )
  15. Als het alleen gaat om weergave in bijvoorbeeld een dialoog of om af te drukken op een rekening, dan is deze oplossing prima. Wil je deze datum of een door de gebruiker aangepaste datum gaan gebruiken (vanuit een dialoog dus), dan zou ik in jouw geval overwegen de "locale" van je bestand te corrigeren. Voor je het weet wordt 6/2/22 anders geïnterpreteerd, nl als 2 Juni ipv 6 Februari. Een ander probleem kan zijn dat je foutmeldingen krijgt bij de invoer, bijv. 18/2/2022 kunnen wij als mensen alleen maar interpreteren als 18 Februari. Als jouw bestand 2/18/2022 verwacht, dan krijg je een foutmelding. Je kan natuurlijk opgeven van dat "use system formats" moet worden gebruikt, maar als je datumformat mm/dd ipv dd/mm is dan krijg je met importeren/exporteren en api's snel problemen met wat nu de juiste inhoud is. Voor getallen geldt precies hetzelfde als het decinaalscheidingsteken een punt is ipv een comma. Het kan vaak goed gaan, maar in sommige gevallen gaat het niet goed en dat wil je normaliter voorkomen.
  16. Plak deze formule eens in de dataviewer (gegevensweergave): Substitute ( GetAsText ( Date ( 4 ; 3 ; 2222 ) ) ; [ "2222" ; "YYYY" ] ; [ "22" ; "YY" ] ; [ "04" ; "MM" ] ; [ "4" ; "M" ] ; [ "03" ; "DD" ] ; [ "3" ; "D" ] ) Dan zie je het opgeslagen datum-formaat van het bestand (in fm19.1+ heb je tegenwoordig de commando's Get ( FileLocaleElements ) en Get ( SystemLocaleElements ), die geven nog meer leuke informatie) Aan de datum te zien is het opgeslagen formaat van het bestand ANSI; mm/dd/yyyy ip het nederlandse dd-mm-yyyy. Een datum is in FM opgeslagen als een getal dat het aantal dagen vanaf 1-1-0001 voorstelt. Het systeemformaat van de computer op het moment dat het bestand voor de allereerste keer werd geopend (typisch bij de aanmaak of de eerste opening van een kloon) is opgeslagen in het bestand en bepaalt deze weergave. Wil je of kan je de "locale" niet wijzigen dan kan je de datum als getal opvragen en die vervolgens omzetten naar tekst en de datum weergeven zoals Mars hieronder voorstelt. [edit]Ik moest ineens wat anders gaan doen, dus kon ik mijn reactie vanochtend niet afmaken[/edit]
  17. Toch leuk, de Add-on staat nu online bij Claris/FileMaker in de marketplace: https://marketplace.claris.com/detail/2216.html
  18. Ja, maar dat zou dan een lijst met acteurs zijn, waarop je portals laat zien met de films waarin ze hebben gespeeld. Jouw topic ging tot nu toe over films waarop je de acteurs wilt laten zien met hun leeftijd tijdens de opnamen. Dat is een ander uitgangspunt en dan heb je een andere definitie nodig
  19. Ik snap niet waarom je geen tussentabel wilt inzetten, terwijl je de leeftijd wel op een gerelateerd record wilt berekenen. De films zijn "vaste" basisgegevens en de namen van de acteur en geboortejaren zijn dat ook. Eenmalige gegevens worden normaal gesproken altijd in een tussentabel vastgelegd. Dus daarin zouden dan per deelname aan een film de id van de acteur en die van de film worden vastgelegd. Allerlei bijkomende informatie kan dan ook daarop worden vastgelegd, zoals de rol, het salaris etc. etc. Als je geen tussentabel gebruikt, dan is de oplossing van Marsau een hele slimme, maar als je dat een lijst van films zou willen zien, werkt die oplossing niet. Je zou dan de namen met de leeftijden op het filmrecord kunnen berekenen met een recursieve functie. Dan wordt het informatie die niet meer hoeft te worden gewijzigd/getriggerd. films menno.fmp12
  20. De downloads voor de Add-on zijn bijgewerkt en de bronvermelding staat nu ook op de pagina. De downloads kan je ook hier starten: Data API Explorer Add-on Een bug verwijderd en extra functionaliteit toegevoegd Database met voorbeelddata en Add-on UFO sightings, Olympics deelnames en 3 uitgebreide voorbeeld-queries toegevoegd
  21. Die JRE wordt voor zover ik weet alleen nog maar gebruikt voor web-publishing en niet meer voor de admin-server en ook niet meer voor de admin-console. Kennelijk is het deel dat wordt gebruikt door de WPE ook niet meer zo kritisch als voorheen. Tot nu toe ben ik met deze strategie nog geen enkel probleem tegengekomen, ben ik van het gezeur van de java-updater af en heb ik geen verschillende java-versies meer op "mijn" servers staan. [edit]Ik gebruik Corretto-versie 11: https://docs.aws.amazon.com/corretto/latest/corretto-11-ug/downloads-list.html Versie 17 is de allernieuwste, maar die werkt (nog) niet samen met de WPE[/edit]
  22. Ik schakel die uit om te voorkomen dat gebruikers zich aanmelden tijdens mijn onderhoudswerk of terwijl dat de FmService een keer herstart. Op deze manier kan ik rustig data aanpassen, installeren, herstarten, etc. en kunnen de gebruikers niks wijzigen, zodat ik bij problemen op mijn snapshot kan teruggrijpen. Verder worden bij sommige klanten flink wat schedules gedraaid en het is prettig wanneer er een update en een herstart is geweest, dat die schedules "bij" zijn, vóórdat de gebruikers weer inloggen. De praktijk heeft me getoond dat deze manier van werken noodzakelijk is, sommige users loggen minder dan 10 seconden nadat de firewall weer open is al in. Met veel gebruikers (in dit geval meer dan 100) is dat op een andere manier niet onder controle te houden.
  23. De methodes van Infomatics en Marsau een klein beetje getweaked naar één formule: Let ( [ values = SortValues ( List ( <RepeatingField> ) ; -2 ) ; top5 = LeftValues ( values ; 5 ) ; top5som = Evaluate ( "Sum(" & Substitute ( Left ( top5 ; Length ( top5 ) - 1 ) ; [ ¶ ; ";" ] ) & ")" ) ; top5gem = Round ( top5som / 5 ; 0 ) ] ; List ( "Top5:" ; top5 ; "Som van top5: "; top5som ; "¶Gemiddelde van top5:" ; top5gem ) )
  24. Wellicht heeft het inderdaad te maken met die specifieke VPS, heb je wel écht admin toegang op die server? Dit soort problemen zou mij ook niet lekker zitten, dus ik begrijp jouw nervositeit wel. Op windows moet je sowieso zelf kiezen voor een java versie en die voor zover ik weet ook zelf installeren. Voorheen installeerde ik altijd die van de Oracle-website, maar om de haverklap moet je die updaten en dan blijft de oude versie ook nog eens staan.... Corretto heeft dat probleem niet en zeurt ook niet om updaten en daarom download ik eens per kwartaal de nieuwste versie en die kan over de bestaande heen worden geïnstalleerd. Daarna de WPE of eventueel FMServer nog even herstarten, done. Al met al veel minder gedoe. Algemeen voor upgraden van FMServer doe ik zodra de server een VM/VPS is altijd beginnen met de firewall-regel van FMServer disable'en (na fmserver te hebben afgesloten, want dat moet toch). Dan maak ik een snapshot en start de upgrade. Als die upgrade is gelukt en alle controles etc. gaan ook goed, zet ik de firewall weer open en verwijder de snapshot weer. Ik heb inmiddels tientallen servers op deze manier bijgewerkt en zonder problemen, maar ook ik blijf voorzichtig
  25. De-installatie op Windows 2019 server zou helemaal niet meer nodig moeten zijn. Ik heb eergisteren een W2K19 server ge-upgraded van 19.2.1 naar 19.4.2 en dat ging probleemloos. fmserver-service gestopt. Voor java gebruik ik altijd amazon corretto 11 x64 dus daarvan de nieuwste gedownloaded en geïnstalleerd (deze overschrijft de oude ipv er weer een versie toe te voegen). Daarna de fmserver installer draaien, die herkent dat er al een installatie is en werkt die vervolgens bij. Hele actie duurde nog geen tien minuten inclusief de herstart.
×
×
  • Create New...