Spring naar bijdragen

hans erik

Leden
  • Aantal bijdragen

    795
  • Geregistreerd

  • Laatst bezocht

Recente profielbezoeken

Het blok recente bezoekers is uitgeschakeld en wordt niet getoond aan andere gebruikers.

  1. hans erik

    Login prompt WebDirect aanpassen

    Ja. En ik heb ook de defaultnaam van fmwebd_home.html veranderd in 'mijnhome.html' maar dat lijkt niks uit te maken. De aangepaste homepage is toch gewoon een aangepaste kopie die in dezelfde directory staat?
  2. hans erik

    Login prompt WebDirect aanpassen

    Ik probeer de loginprompt aan te passen maar ergens doe ik iets fout. Misschien heeft iemand een goede tip. De Server is FMS16/Mac, in test even met het self signed certificaat. Volgens de aanwijzingen van FMI zou ik het bestandje fmwebd_home.html moeten aanpassen. Heb ik gedaan, in HTTPserver/htdocs/ als in HTTPserver/htdocs/httpsRoot/. Maar geen resultaat. Ik kom in het bestandje dit tegen: var kCustomLogin = false; => heb ik veranderd in true en verderop de password prompt in de variabele met de variabele 'dbname'. Die prompt heb ik aangepast maar ik zie geen verandering in WebDirect. Vervolgens heb ik verderop de <DIV> met id = “mylogin” gedeblokkeerd en aangepast, want dat is volgens de aangepaste dialoog. Maar toch blijft WD de default prompt tonen....
  3. hans erik

    Transponeren van een Excel bestand

    Jawel, mits in de eerste regel van het Excelbestand wordt aangegeven wat voor gegeven de kolom bevat. Anders heb je geen aanknopingspunt. Maar dan kom je er handmatig ook niet uit denk ik! Als elke kolomkop een string bevat die de betekenis van de gegevens aanduidt, kun je met een slim script alles vanuit de tussentabel verdelen: naar aparte rijen in 1 tabel, naar meerdere tabellen enz enz. , eigenlijk zoals je in het voorbeeld al liet zien maar dan met wat meer voorwaarden.
  4. hans erik

    Facturatie vraagstuk

    My 2 cents. Ik zou: - één tabel met bedrijven hanteren, dus geen aparte bedrijven_facturen. - in de factuur met 2 velden aangeven wie de order geplaatst heeft en wie de factuur ontvangt. Beide hebben een koppeling met de bedrijventabel. Als je daarnaast ook nog wil vastleggen welke bedrijven voor andere bedrijven debiteur kunnen zijn, moet je dat OF met een tussentabel aangeven tussen 2 Table Occurrences van de bedrijventabel, OF door de verwijzingen naar de 'mogelijke debiteuren' als een lijstje in een apart veld in bedrijven op te slaan. Die laatste optie maakt gebruik van een 'multi-key' relatie, waarbij je meerdere sleutels in een lijste opneemt. Bespaart je de extra tabel.
  5. hans erik

    Transponeren van een Excel bestand

    Ik denk dat je allereerst moet uitzoeken wat je precies aangeleverd krijgt. Stel, de ene dag een Excel bestand met 4 kolommen, met namen col_1 tm col_4. De volgende dag een Excel bestand met 7 kolommen, col_1 tm col_7. Bevat col_3 dan in beide gevallen dezelfde soort gegevens? Zo niet, dan heb je een probleem, want dan vul je je database telkens met verschillende sets. En stel dat col_3 wel altijd hetzelfde soort gegeven bevat, maar niet altijd wordt aangeleverd. Dan wordt je script ook wel iets ingewikkelder, lijkt me.
  6. hans erik

    Transponeren van een Excel bestand

    Je voorbeeld is duidelijk en het antwoord van Banach ook, maar... Je gaf eerder aan : Als dat betekent dat het aantal kolommen van dag tot dag verschilt, heb je nog wel een extra probleem op te lossen. Je kunt het 'omzetten script' voorbereiden op 100 kolommen. Dan moet je de Listfunctie uitbreiden of vervangen door een berekend veld in je import tabel, en je moet de loop langer laten lopen. Maar dan moeten kolommen van dag tot dag wel dezelfde betekenis cq vergelijkbare inhoud hebben.
  7. hans erik

    Opvragen datasource?

    Fijn dank je. En wat betreft het antwoord van Menno: inderdaad, er is geen tool voor nodig, alleen een hoop geduld en discipline. Maar ik heb overigens besloten om Legacy oplossingen uit de Pre-FP7 tijd altijd opnieuw te bouwen, en niet te proberen een garagebox in een kantoorvilla om te bouwen. Toch vind ik het een duidelijke 'blind spot' in de Filemaker developer tools. De informatie is er wel, want elke datasource heeft een ID, een naam en een pad. Wat bijvoorbeeld ook ontbreekt: ik zou in het database diagram alle TOC's van een bepaalde datasource willen kunnen hilighten, en ze dan een bepaalde kleur geven. Dat ligt toch voor de hand?
  8. hans erik

    Opvragen datasource?

    OK, maar dat bevestigt dus mijn vermoeden dat er binnen FileMaker op dit punt niet veel mogelijk is behalve een hoop fröbelwerk. Je kunt 1 voor 1 de TOCs aflopen en de datasource in een lijstje noteren. Vervolgens kan ik dan wel de scriptstappen en scripts selecteren die de 'foute' datasource gebruiken. Het gaat natuurlijk altijd om een flinke database, of nog erger: om een geconverteerde database uit de FileMaker 6 tijd.
  9. hans erik

    Opvragen datasource?

    PS dubbelklikken in het schema werkt natuurlijk maar daarmee heb je niet automatisch de referenties in de scripts omgezet....
  10. hans erik

    Opvragen datasource?

    Ik heb 2 databases A en B, beide draaien op dezelfde server. In A heb ik twee datasources B1 en B2 die allebei naar B verwijzen, op deze manier: B1: File Path: file:B B2: File Path: fmnet:/<de_complete_url_van_de_server>/B In het database diagram van A komen meerdere Table Occurrences van een bepaalde tabel in B voor. Niks bijzonders, maar....een deel loopt via B1, een ander deel via B2. Nu probeer ik erachter te komen welke Table Occurrence aan welke datasource gekoppeld is, maar hoe?? Weet iemand een (custom) functie of plugin die dit uitvlooit? Ik heb alle Get() en Design functies bekeken, maar die leveren op zijn best de Base Table op. Maar dat is niet genoeg. Het ddr biedt een optie 'datasources' maar dat levert alleen een lijstje van de datasourecs op met een ID. Heb ik iets gemist of staat dit nog ergens op een 'wishlist'? Je kunt namelijk niet zomaar een Table Occurrence verwijderen of omzetten, want een scriptstap verwijst naar de ID en zodra dat uit het schema verdwijnt zijn de rapen gaar.
  11. hans erik

    Transponeren van een Excel bestand

    Als het een eenmalige importaktie is, kun je het beste de transpose in Excel doen. Als je het elke week of maand moet doen kun je beter een tussentabel in FM inrichten.
  12. hans erik

    Berekenen van paginanummers

    Het probleem is, dat het document (de PDF) is opgebouwd uit (sub)koppen en tekst (en nog wat andere dingen, maar dat is niet belangrijk hier). Op één pagina komen één of meer subkoppen en bijbehorende tekstblokken. Je wilt geen halflege pagina's, maar een pagina mag ook niet eindigen met een subkop (orphan). Als je de paginanummers weet, kun je de orphans corrigeren door het paginanummer te wijzigen (als je gebruikt maakt van een subsummary voor de paginering) of door een lege alinea (¶) toe te voegen aan het record vóór de orphan. Die schuift dan net door naar de volgende pagina. Je hebt de paginanummers dus nodig om de orphans op te sporen. Ik heb al wel bedacht dat je het proces kunt versnellen door eerst pagina 1 en 2 te doen, dan 2 en 3, enzovoorts. Stel je hebt 150 records, met gemiddeld 15 records per pagina. Dan pak je eerst regel 1 tm 20. Stel dat daarna p.1 eindigt met regel 12, dan pak je daarna 13 tm 35, en zo schuif je door het document. Ik had gehoopt op een hidden feature ergens in de subsummaries maar het is me niet gegund geloof ik.
  13. hans erik

    Berekenen van paginanummers

    Ik zoek nog een gouden tip over het berekenen van paginanummers. Mijn systeem genereert een PDF van meerdere pagina's op A4 uit een set records. Elk record bevat een tekstveld, dat kan variëren van 1 regel tot een flinke lap tekst. Met sliding... en hide/show field ontstaan geen lege witte blokken, maar de controle over page breaks is minimaal. Subsummaries om page breaks te forceren heb ik wel in gedachte, maar dat lost niet het probleem op, nl. detecteren en corrigeren van regels die onderaan een pagina blijven hangen (orphans). Startpunt is om elke record in de gevonden reeks te voorzien van het nummer van de pagina waarop het afgedrukt wordt en tot dusver heb ik de volgende methode bedacht: 1. sorteren en dan een loop: 2. preview mode >go to page (last) > get(pagenumber) in $variabele > browse mode > Go to record (last) > set field (pagenumber ; $variabele) > omit record en vervolgens bovenstaande procedure (2.) herhalen net zo lang tot je geen records meer over hebt. Je werkt als het ware van achter naar voren met een steeds kleiner wordende set. Werkt, maar: 1. het is tijdrovend bij veel records; 2. het werkt niet on Server (want preview mode is niet Server compatible, wat ik overigens raar vind omdat je wel een PDF kunt aanmaken). Weet iemand iets wat beter / sneller / ook werkt? Het probleem is namelijk dat je orphans daarna kunt corrigeren, maar telkens bovenstaande procedure moet herhalen omdat elke orphan die naar de volgende pagina verhuist, de berekende paginering in principe weer overhoop gooit. Alles na de orphan schuift weer op... NB Wel teleurstellend dat Filemaker Inc hier sinds versie 6 feitelijk niets aan verbeterd heeft, maar dat terzijde.
  14. hans erik

    Niet gebruikte scripts

    Je kunt ook heel leuke dingen doen met de MBS plugin. De clipboard functie zet de inhoud van het clipboard om naar leesbare XML, die je vervolgens kunt parsen naar records in FileMaker. En dat werkt bere-snel! bijv. je opent de script workspace, dan kopieer je ALLE scripts (select all + copy) en vervolgens zet de MBS plugin het om naar XML. Bij een beetje redelijke toepassing (paar honderd scripts) kun je binnen 60 sec. een listing maken van alle scriptstappen, in mijn geval ruim 20.000 regels. En die kun je dan weer doorzoeken op veldnamen, layoutnamen, functies etc etc. Bij de download van de MBS plugin zit een voorbeeldbestand waarin een en ander wordt voorgedaan, 'Filemaker Snippet Storage.fmp12' meen ik. Sowieso is de MBS plugin onontbeerlijk voor ontwikkelwerk.
  15. hans erik

    Global field behoudt waarde na delete

    Overigens is het sowieso geen slechte gewoonte om alle globale velden in een opstartscript (on WindowsFirstOpen) van een waarde te voorzien. Of juist leeg te maken. Dan kun je gelijk even in een comment opschrijven waarvoor ze ook alweer dienen. Wordt het allemaal weer een beetje voorspelbaarder van!
×