Ga naar inhoud

menno

Moderators
  • Items

    2.190
  • Registratiedatum

Alles dat geplaatst werd door menno

  1. Volgens FileMaker worden data, tijden en tijdstempels altijd opgeslagen als een getal. Data als aantal dagen vanaf 1/1/0001, tijden als seconden sinds 0:00:00 en tijdstempels als seconden vanaf "01-01-0001 00:00:01". Het vervelende is dat je dan nog steeds tegen problemen kan oplopen, want op de een of andere manier wordt het lokale formaat tóch in de gegevens opgeslagen. In dit topic van freaky kan je problemen zien die kunnen onstaan zodra een bestand met meerdere invoertalen/landinstellingen wordt gebruikt. Ik heb in mijn antwoord een mogelijke oplossing beschreven voor die problemen, maar echt opgelost is het daarmee natuurlijk niet. 10 januari 2015 kan op de volgende manieren worden beschreven, bijvoorbeeld als 1-10-2015, 10-1-2015 of 2015-10-1, verder kan ipv de "-" een "/" of bijvoorbeeld een "." worden gebruikt en kan er gebruik worden gemaakt van wél of géén voorloopnullen. Dat zijn nog niet alle voorbeelden, maar het probleem lijkt duidelijk en dit geldt ook voor tijden en tijdstempels. Kortom het idee om alle waarden als getal op te slaan is zo gek nog niet, maar waarom de de weergave (evenals de invoer) niet enig en alleen afhankelijk is van de weergave kenmerken van de door de gebruiker of de programmeur ingestelde eigenschappen van het systeem, de layout of het invoerveld, is me een raadsel. Op de een of andere manier worden die eigenschappen óók bij de data opgeslagen en dat zou nu eigenlijk niet moeten. Als het veld op de layout eigenschappen heeft mbt de weergave zouden die eigenschappen bij invoer en exports moeten worden gebruikt, zijn die afwezig, dan moeten de layouteigenschappen, missen die ook, dan de bestandseigenschappen en als die óók ontbreken, de systeeminstellingen. In formules en variabelen maak ik veelvuldig gebruik van Date ( m ; d ; y ), Time ( h ; m ; s ), GetAsText ( date/time/timestamp ) en GetAsDate/GetAsTime(Stamp) om er maar voor te zorgen dat ik geen appels met peren aan het vergelijken ben en dat functioneert tot nog toe goed. Het is alleen wel veel werk en als ik het eens vergeet, dan onstaan er meestal snel problemen. Met getallen uit scriptvariabelen heb ik ook al eens een gelijksoortig probleem gehad: "2 < 12" was volgens FileMaker FALSE! De oorzaak was echt heel simpel: de waarde "12" was een tekstwaarde! Het gevolg: de evaluatie was niet "2 < 12" maar "2 < 1". Dus met GetAsNumber ( "12" ) was het probleem opgelost. (uiteraard was de werkelijke uitvoering is iets complexer, maar de essentie was GetAsNumber ( "12" ) ) Ik kan me de frustratie van Andries dus heel goed voorstellen en wellicht moeten we dit eens bij FMI aankaarten en kijken of ze hier niet eens een oplossing voor kunnen implementeren
  2. @plotter: ach, de opmerking van boven de rivieren, daar ben ik niet over begonnen, dat was Vicky. Ik heb hem slechts even "geleend", ik vind het nou eenmaal leuk om iemand een spiegel voor te houden. Ik zie persoonlijk niet zo'n scherpe grens tussen de twee taalgebieden, maar ben wel van boven de rivieren en weet uit ervaring dat wij van boven de rivieren de vlamingen niet altijd even goed begrijpen en zij ons niet. Dat van dat éénrichting-verkeer naar de beide deelnemers ben ik overigens met je eens, alhoewel het in dit geval een min of meer besloten feestje was, waar vreemdelingen met harde hand naar buiten zijn gewerkt @peerke: ik ben ook benieuwd naar die mening en ik zou ook graag ervaren wie van de moderatoren namens het team heeft gesproken. @ari: "grote (alter)ego's" zo had ik het nog niet bekeken ... wel toepasselijk
  3. Ja vind ik ook. Jammer dat het deze manier moet escaleren en ophouden. In de bovenstaande discussie kwam er een opmerking voorbij over "boven de moerdijk" en die beschouw ik als een signaal dat Nederlands en Vlaams in veel opzichten twee totaal verschillende talen zijn. Mensen begrijpen plagend en grappig bedoelde opmerkingen daarom soms helemaal niet, vooral niet wanneer het schriftelijk wordt gedaan en dan gaat het soms helemaal mis. Jammer dat er mensen zijn die denken de wijsheid in pacht te hebben en dat op beledigende wijze moeten uiten, daar geef ik Felix gelijk. De reactie van Bruno was, behalve de laatste regels, nog best een aardige, pas aan het einde werd hij beledigend. De reactie van Vicky, snap ik helemaal niet, wat is het nut? Waarom stuur je nou iemand niet gewoon een PB om verhaal te halen? Ik begrijp best dat je je soms tekort voelt gedaan of dat je denkt niet te worden gewaardeerd, maar ga dan in die gevallen ofwel gewoon door met zakelijk commentaar en voorbeelden geven of stuur een PB of laat het daarbij.
  4. inmiddels zijn we een maand verder, ben je al iets wijzer geworden? Wat wil je eigenlijk naar exact toesturen? Echt de facturen of alleen de financiële boekingen? Het laatste is over het algemeen een stuk eenvoudiger. Wil je werken met csv- of met xml-bestanden of wil je de nieuwe rest-api gaan gebruiken? Heb je de documentatie van exact al gevonden? Daar kom je een flink eind mee op weg en mocht je al een koppeling hebben met Exact Globe, dan kan je die grotendeels met minimale aanpassingen gebruiken voor exact-online
  5. Wanneer je het fmp-bestand lokaal hebt staan dan krijg je met: Get ( FilePath ) & "/" & GetContainerAttribute ( containerveld ; "externalFiles" ) het pad op de schijf naar het bestand in de container. (is overigens alleen zinvol bij "open" opslag)
  6. Het bestand heb je beschikbaar in een containerveld? Dan kan je (sinds FM13) met GetContainerAttribute ( containerveld ; "filename" ) de bestandsnaam oplepelen. Alles in één formule zou dan zo kunnen: Let ( [ name = GetContainerAttribute( containerveld ; "filename" ) ; len = Length ( name ) ; pos = Position ( name ; "." ; len ; -1 ) ] ; Right ( name ; len - pos ) )
  7. Dus jullie wijzigen de ForeignID's niet in de dochtertabellen en evengoed zijn wijzigingen in bijvoorbeeld de naam (van school, persoon etc.) niet in de dochterrecords zichtbaar? Kopieer je dan zulke gegevens óók naar de dochterrecords? Je kan toch aan de hand van de ForeignID en de relatie die gegevens gerelateerd tonen? Als je de (gewijzigde) namen alleen kan zien door de ForeignID's opnieuw in te vullen dan gebruik je denk ik Lookups in die velden. Het bijgevoegde voorbeeld toont zo abstract mogelijk wat ik bedoel: wijzig de namen in de basistabellen cursus, school en docent .... in de tabel inschrijving wijzigt alle mee zonder dat je de ForeignID's opnieuw moet ingeven om gegevens te verversen ........ en je kan er gewoon geïndexeerd op zoeken Cursussen.fmp12
  8. Je hebt er niet bij verteld hoe jij je data aangeleverd krijgt. Ik ga er dus maar gemakshalve vanuit dat je YYYY-MM-DD krijgt aangeleverd. Als het anders is dan kan je gemakkelijk de gebruikte substring formules aanpassen: <?xml version='1.0' encoding='UTF-8'?> 0 - - - -
  9. Als ik de door jou geschilderde structuur goed begrijp zou je van de deelnemers een aparte personentabel (gekoppeld aan hun school) kunnen maken en op de inschrijving-records de id van die personen kunnen vastleggen en als je in je overzichten de id van de inschrijving-records gebruikt ipv die van de personen, dan hoef je geen id's te vervangen als de naam van de personen is gecorrigeerd.
  10. Op welke OSX (server) werk je met FMS12? Op 10.7 en 10.8 werkt het zo te zien zonder problemen, mits je de bij FMS meegeleverde JRE hebt geïnstalleerd. Op 10.9 moet je updaten naar 12.0.6. Op 10.10 heb ik het nooit aan de gang gekregen ... installeren lukt daar nog wél, maar de deployment start gewoon niet omdat geen compatible JVM kan worden gevonden. Wat je zou kunnen proberen is de hele fms-applicatie te stoppen en te starten: sudo launchctl stop com.filemaker.fms en daarna na enkele minuten weer te starten met: sudo launchctl start com.filemaker.fms Het zou ook kunnen zijn dat Java bij jou het probleem veroorzaakt en als dat inderdaad het probleem is, dan kan je eens proberen alle java-versies te verwijderen en daarna FMS12 te installeren: sudo rm -rf /System/Library/Java/JavaVirtualMachines/1.6.0*.jdk sudo rm -rf /Volumes/Macintosh\ HD/Library/Java/JavaVirtualMachines/jdk1.7.0*.jdk sudo rm -rf /Volumes/Macintosh\ HD/Library/Java/JavaVirtualMachines/jdk1.8.0*.jdk sudo rm -rf /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/ sudo rm -rf /Library/PreferencePanes/JavaControlPanel.prefPane Daarna even de mac herstarten en testen met java -version dan moet er een error-box verschijnen Daarna nog eens proberen FMS te installeren ..... als dat dan nog steeds geen soelaas biedt, dan kan je het eens op een volledig "schoon" systeem proberen zoals Felix al zei.
  11. Op je screenshot kan je zien dat je "favorieten" hebt aangezet, dat is toch hopelijk niet de reden dat je op de iPad de databases wel kon openen, maar niet kon zien?
  12. "fmnet:/" toevoegen? In welke versie van FilemakerGo werk jij dan? Ik heb dit net even getest met FmGo14: Als je FmGo 14 hebt geïnstalleert, dan kan je onderaan je scherm naar "hosts" door op dat ikoon te tappen, daarna zie je linksboven in je scherm weer "hosts" en als je daar op tapt, klapt er een menu "hosts" uit waar je op een "+" kan tappen en dan krijg je "Host toevoegen". Bij "HOSTADRES" voer je alleen maar het ip-adres of de domeinnaam van jouw server in en dan tap je "Bewaar", de nieuwe host is meteen de host waar FmGo expliciet naar kijkt en daar zie alle "niet verborgen" databases in je lijst verschijnen. FmGo is nog steeds kosteloos, dus er is geen reden om die versie niet te installeren.
  13. menno

    Datum perikels

    Top dat jouw probleem is opgelost! Wel jammer dat deze "extremely longstanding bug" nog steeds niet is opgelost. In FileMaker Pro 3 heb ik deze al gezien! ik kan me niet voorstellen dat niet meer mensen dit hebben (gehad).
  14. De API bestaat uit diverse onderdelen, waar loop je vast? Wat heb je al gebouwd?
  15. menno

    Datum perikels

    @freaky je vertelt een beetje weinig over wat je nu eigelijk doet, geef je een zoekopdracht met de hand op of gebruik je een script. Heb je een index opgevraagd van het veld? Hoe zit het met het eigendom van het bestand? Is het van jouzelf en kan je het downloaden van de server? etc. etc. Mijn ervaring met het niet kunnen zoeken van data in datumvelden is dat dit gebeurt in omgevingen waar de gebruikers met verschillende landinstellingen werken. Hetzelfde kan met getallen gebeuren en kan de gegevens in een bestand onvindbaar maken. Ik heb daarom een kleine anekdote voor je: Ik was kort geleden bij een klant waar medewerkers de talen Nederlands, Engels en Chinees gebruiken, eigen formaten voor getallen, tijden, data hebben ingesteld en daarbij nog Windows en MacOS door elkaar gebruiken. Op de windows-server was een bestand geplaatst met engelse systeeminstellingen, de systeembeheerder zijn Mac is ingesteld op nederlands en hij is degene die scripts en layouts maakt. Bij deze klant traden er allerlei problemen op met zoeken en in scripts die overzichten moesten samenstellen. De oplossing bleek uit 4 stappen te bestaan: 1) Layouts maken met expliciet geformatteerde gegevens en met die layouts (met "apply current layout's data formatting to exported data" ingeschakeld) alle tabellen exporteren. 2) Een kloon maken/pakken van het gehoste bestand en op het lokale werkstation openen. 3) Op diverse layouts alle veld-voor-veld instellingen aangepast, zodat voortaan altijd de systeem-instellingen kunnen worden gebruikt 4) Alle data weer in de tabellen importeren. Het resultaat is dat alle zoekopdrachten nu prima werken en de overzichten nu de verwachtte resultaten leveren. De klant blij, maar toch ook verast, want hij had niet gedacht dat dit zijn probleem is geweest. (de bestanden waren al eens hersteld, maar dat heeft geen soelaas geboden) Meerdere systeemformaten in één bestand opgeslagen, vraag me niet hoe dat kan, want dat weet ik niet, maar ik heb het meer dan eens gezien en je kan er erg lang naar zoeken. De oplossing van deze 4 stappen hoeft niet lang te duren, dat is een beetje afhankelijk van hoe groot je solution is en hoeveel data deze bevat. Het loont in elk geval de moeite....
  16. menno

    Datum perikels

    Voor een bepaalde datum kan je in een script ook de date-functie gebruiken Veld-Instellen [ datumveld ; Date ( Maand ; Dag ; Jaar ) ]
  17. menno

    Datum perikels

    Als je onzeker bent over het juiste formaat van een datum(veld) of je kan om één of andere reden "use systemformats" niet gebruiken of aanzetten dan kan je misschien in je script de Date-functie gebruiken om kalender-data te maken. Om de 3 voorbeelden die jij zelf gaf te nemen: Voor */01/2015 kan je dan gebruiken: Let ([ yr = 2015 ; mo = 1 // wijzig dit voor 5 voor */05/2015 ] ; GetAsText ( Date ( mo ; 1 ; yr ) ) & "..." & GetAsText ( Date ( mo + 1 ; 0 ; yr ) ) ) Het resultaat is een range: 1-1-2015...31-1-2015 , maar dan in het voor de op dat moment geldende systeeminstellingen. Dus als het systeemformaat M/D/Y is, dan maakt deze functie automatisch: 1/1/2015...1/31/2015. Voor */*/2015 kan je dan gebruiken: Let ([ yr = 2015 ] ; GetAsText ( Date ( 1 ; 1 ; yr ) ) & "..." & GetAsText ( Date ( 12 ; 31 ; yr ) ) )
  18. menno

    uren rekenen

    Ik zou om te beginnen een RitID toevoegen om een relatie te kunnen maken met de entries die bij elkaar horen. Verder zou ik voor de berekening een tijdstempel-veld gebruiken; datum én tijd in één veld. Eventueel kan je die berekenen met de losse datum en tijdvelden. Dan zou je het volgende voorbeeldje als basis kunnen gebruiken: Werktijden.fmp12
  19. Ik heb het net even getest: fm13 op fmserver14 toont niet de server in de lijst als poort 5353 dicht is, maar je kan als je het adres weet, ip of via dns wel gebruiken om de lijst met bestanden te zien. fm14 op fms14 toont niet de server in de lijst met servers wanneer poort 5353 dicht staat. Poort 5353 wordt dus alleen maar door bonjour gebruikt om aan de wereld kenbaar te maken dat je een filemaker (server) benaderbaar hebt staan en wat je dan met die service deelt kan je blijkbaar ook zien met alleen poort 5003 open.
  20. Als je 5353 niet open hebt staan, maar 5003 wél, dan zou je met open remote met: fmnet:/jouwdomein/JouwBestand.fmp12 het bestand moeten kunnen openen. Je kan het ook proberen met vanuit een browser met: fmp://jouwdomein/Jouwbestand.fmp12 en dan heb je bonjour helemaal niet nodig en kan je poort 5353 gewoon vergeten en niet gebruiken. Poort 5353 staat geloof ik niet niet in de lijst met vereiste poorten van FMServer, maar bonjour gebruikt die poort om zijn diensten kenbaar te maken .. FMS gebruikt bonjour, vandaar.
  21. Om de bestanden te kunnen zien moet je (naast TCP-poort 5003) de UDP-poort 5353 open hebben staan, maar dat betekent wel dat de hele wereld kan zien welke bestanden je open hebt staan, wil je dat? Kan je geen VPN definiëren? Dat is heel wat veiliger.
  22. Als je kijkt naar de handleiding bij de update van FmServer op: http://help.filemaker.com/app/answers/detail/a_id/15021/ dan kan je daar het volgende lezen De roodomlijnde schakelaars moet je even uitzetten Het commando in de terminal is gewoon om dat allemaal te omzeilen en in één keer alles uit te zetten, want dat komt op hetzelfde neer. Na één beide varianten te hebben uitgevoerd kan je dan wél een update draaien. Op bijvoorbeeld windows, kan je naar de lijst met "services" en daar FmServer gewoon uitschakelen, maar ook daar heb je de terminal beschikbaar en kan je zeggen net stop "Filemaker Server" en dan is FmServer uit. In ieder geval zal de updater de service nooit stoppen (en zo hoort het ook, zal iedere systeem beheerder zeggen)
  23. Je kan in de terminal Filemaker Server afsluiten met sudo launchctl stop com.filemaker.fms De username en password zijn dezelfde als die je opgeeft bij installeren van software etc.
  24. Officieel encodeert de File plug-in standaard UTF-8 maar pas sinds een bepaalde versie (weet even niet welke) gebeurt dat ook werkelijk, oudere versies encoderen de tekst als UTF-16, het interne formaat van FileMaker. Ik heb een paar jaar geleden exact hetzelfde probleem gehad met de File plug-in. Ik gebruik zelf nog steeds bij voorkeur xslt, maar ieder heeft zo zijn eigen voorkeur hé? Verstandig dat je in het resultaat ook de encoding opgeeft, want veel programma's en webservices verwachten dat ook.
×
×
  • Nieuwe aanmaken...