10 Replies Latest reply on Nov 28, 2015 5:57 AM by Karel

    Assistentie gevraagd

    Karel

      Ik werk met een relationele database waar twee verschillende mensen elk in een eigen deel werken.

       

      Maar de synchronisatie verloopt niet naar wens. Is er iemand die mij aan de hand van het document kan coachen over de juiste processen?

       

      Het lijkt me niet handig dit via dit forum te doen.

        • 1. Re: Assistentie gevraagd
          wimdecorte

          Twee verschillende bestanden (elk hun eigen bestand)?   Er zijn een aantal voorgebouwde commerciele sync oplossingen en 1 open source (FMeasySync) die je gemakkelijk kan gebruiken.

           

          Als het maar 1 bestand is: waarom moet de data gesynchroniseerd worden?

          • 2. Re: Assistentie gevraagd
            Karel

            1 bestand heeft drie tabellen. Tabel 1: aanmelding nieuwe leden. Tabel 2: intakecontrole op vereiste documenten. Tabel 3: Lidmaatschap. Elke tabel wordt door een andere medewerker beheerd.
            Daarom heb ik elke medewerker geautoriseerd om in de eigen layouts te werken. De input van gegevens gaat dus ook in die volgorde: van aanmelding naar intake naar lidmaatschap. Gegevens die in de volgende fase van belang zijn worden gesynchroniseerd, of hoe je dat noemt: "haal data op uit tabel..."

            • 3. Re: Assistentie gevraagd
              wimdecorte

              Een paar dingen:

               

              - ik werk voornamelijk in het engels dus "haal data op uit tabel.." zegt me niet zoveel, is dat een lookup?  Kun je een screenshot sturen?

               

              - een aparte layout betekent niet automatisch een andere tabel, dus ik wil even zeker zijn dat er wel degelijk aparte tabellen zijn.

               

              Als je inderdaad met een lookup werk dan stel ik voor dat je dat verandert in een scripted workflow zodat je de data zelf expliciet zet ipv impliciet.

              • 4. Re: Assistentie gevraagd
                Karel

                Dank voor je support Wim, was even te druk met andere zaken. Bijgaand een screenprint van de tabellen en de relatie.

                Wat bedoel je met expliciet en impliciet?

                sreenprint.png

                • 5. Re: Assistentie gevraagd
                  wimdecorte

                  impliciet: is dat je een veld een waarde laat krijgen door een lookup of iets anders wat in de veld-definities zet

                  expliciet: je zet een veld door een script te laten lopen

                  Het verschil is dat als je door een scripted worflow heenstapt (met script debugger bvb) dan kun je alles zien wat er gebeurt ipv dat er dingen gebeuren in de achtergrond.

                  • 6. Re: Assistentie gevraagd
                    Karel

                    Ben even weg geweest, maar kon vandaag de draad weer oppakken.

                     

                    De vraag is nu als volgt: met welke scriptopdracht kun je gegevens uit tabel 1 ophalen in tabel 3. In tabel 3 is iemand definitief geregistreerd als lid, op dat moment maak ik een nieuw record aan en de relevante gegevens uit tabel 1 wil ik dan importeren.

                     

                    In het script 'Importeren' moet je eigenlijk een externe database openen, terwijl het een interne tabel is.

                    • 7. Re: Assistentie gevraagd
                      wimdecorte

                      1 van de belangrijkste principes van database design is dat je zo min mogelijk data dupliceert, en in jouw geval is er heel veel dubbele data.  Dus ipv proberen op te lossen hoe die dubbele data door je solution heen en weer te bewegen zou ik het onderliggend design aanpassen...

                       

                      Dit gezegd zijnde: al het over individuele records gaat dan hoef je niet te importeren, dan kun je de gevens verzamelen in variables of in global fields en die gebruiken om een nieuwe record te maken in de andere tabel.

                       

                      Als het over veel records gaat dan exporteer je eerst naar "mer" formaat (=CSV met veldnamen als eerste rij) of naar fmp12 format.  En je importeert daarvan in de andere tabel.

                      • 8. Re: Assistentie gevraagd
                        Karel

                        OK, nieuwe uitdaging... werken met variables of global fields... Is daar een handleiding voor?

                        • 9. Re: Assistentie gevraagd
                          wimdecorte

                          Variables:

                          er zijn die soorten:

                          $variable: leven binnen een script zolang het script loopt

                          $$variable (oftewel een global variable, niet te verwarren met global field): leven binnen een file zolang de file open is

                          <geen vaste prefix>variable: binnen een Let() functie

                          Al deze declareer je in een script

                          Dit zal helpen eenmaal je de beginselen snapt:

                          http://www.soliantconsulting.com/blog/2014/02/all-variables-should-be-global-or-not

                           

                          Global fields: behoren tot een tabel, MAAR hebben 1 waarde die dezelfde is voor all records in die tabel, EN je kan een global field zetten in een andere tabel zonder dat je een relatie nodig hebt tussen de tabel waar jij bent en de tabel van de global fields.  Dikwijls gebruiken developers 1 tabel die ze gewoon "globals" noemen voor de global fields die ze gebruiken.

                          Net zoals met variables gebruik je die om tijdelijk iets te bewaren tijdens je scripts.  Dus niet om permanent dingen te bewaren.

                           

                          In het geval van jouw script ga je dus eerst naar de record die je wil dupliceren, zet je variables of global fields voor alle waardes die je wil overnemen, daarna ga je naar de layout waar je de record wil maken en zet je de velden met de waardes van wat je in je variables of global fields hebt staan.

                          • 10. Re: Assistentie gevraagd
                            Karel

                            Helder, ik ga huiswerk maken!