Vanaf 30 juli is een hotfix beschikbaar voor MS Word Merge Add-on voor Exact Synergy Enterprise. Deze hotfix met build 6.0.6.4314 is een volledige setup en vervangt de huidige commerciële versie.

In deze versie wordt het gereserveerde veld ‘NewDocID’ niet meer weergegeven als onbekend mergeveld en wordt dus gewoon tijdens het mergen gevuld.

Daarnaast is de functionaliteit rond de prefix MULTITBL_ uitgebreid om ook moeder-kind-structuren te kunnen mergen. Hieronder wordt deze nieuwe functionaliteit beschreven.

De nieuwe installatieset is te downloaden via:
BSE004_MS_WordMerge_Add-on_SE_6.0.6.4314
Wachtwoord is: eddon

Mogelijkheid voor mergen van moeder-kind-structuren

Met behulp van de prefix MULTITBL_ in uw mergeveld in de Word template is het nu met behulp van schakelopties mogelijk om complexere moeder-kind-structuren te mergen. U kunt bijvoorbeeld gegevens van kindprojecten vanuit een moederproject mergen. Maar u kunt bijvoorbeeld ook denken aan het mergen van alle relaties waar een medewerker accountmanager van is met daaronder alle afspraakverzoeken per relatie. LET OP: Deze moeder-kind-structuur werkt alleen voor tabellen en slechts 1 niveau diep. Dit werkt ook alleen met enkelvoudige merge.

Bijvoorbeeld:
U voert de merge uit vanuit een moederproject en in het mergedocument wilt u gegevens van alle kindprojecten tonen. Die gegevens wilt u in afzonderlijke tabellen weergeven per kindproject. In die tabellen wilt u in onderliggende tabellen ook nog gegevens van aan de kinderen gekoppelde relaties en verzoeken tonen, evenals kindprojecten van de kindprojecten. Uw Word template ziet er dan als volgt uit:

U maakt in de mergevelden in de Word template gebruik van de volgende schakelopties:
#1ST
&
#2ND
Tijdens het mergen worden twee runs doorlopen: de eerste run (#1ST) voor de moedergegevens, de tweede run (#2ND) voor de kindgegevens. In ons voorbeeld geldt #1ST voor de gegevens van de kindprojecten en #2ND voor de gegevens van de relaties, verzoeken en kindprojecten van de kindprojecten. U dient deze schakeloptie bij elk mergeveld toe te voegen, dus niet alleen voor de relatienaam en relatiecode uit ons voorbeeld, maar ook voor onder andere de adresgegevens van de relatie, enz.
#TBLx Hiermee geeft u aan hoeveel onderliggende tabellen u in uw hoofdtabel gebruikt. Op deze manier wordt er tijdens het mergen gecheckt waar het einde van een (onderliggende) tabel is om de nieuwe tabel te kunnen beginnen. In ons voorbeeld zijn er 3 onderliggende tabellen, dus dient u #TBL3 te gebruiken bij het veld waarop u de MULTITBL heeft gezet. LET OP: Deze schakeloptie mag slechts eenmalig worden gebruikt en moet dus alleen bij veld ‘MULTITBL_<veldnaam>#1ST…’ worden toegevoegd.
#DST<mergeveld> De schakeloptie #DST gebruikt u altijd in combinatie met een mergeveld. Door deze schakeloptie te gebruiken brengt u de hele structuur (moeder- en kindgegevens in losstaande tabellen) tot stand. In de eerste run is #DST bedoeld om de gehele tabel te herhalen voor het aantal unieke (DISTINCT) moedergegevens. In ons voorbeeld worden dus de unieke kindprojecten getoond. In de tweede run wordt gekeken welke gegevens er bij de desbetreffende unieke moedergegevens (in ons voorbeeld de relaties, verzoeken en kindprojecten van het kindproject) getoond mogen worden. Het veld waarmee vergeleken wordt of het gegeven overeenkomt is dus het mergeveld dat wordt meegegeven aan #DST voor run 2.

In de XML Parser definieert u de mergevelden als afzonderlijke select-queries. Voor ons voorbeeld bij onderdeel ‘Project’ ziet dat er dan als volgt uit:

Voor het opvragen van de kindprojecten en daarvan de kindprojecten SQLQuery:
Select  PRProject.Projectnr, PRProject.description, PRProject.ID, kind.Projectnr, kind.description from prproject left outer join prproject kind on kind.ParentProject = PRProject.ProjectNr where PrProject.parentproject = PROJECT order by PRProject.Projectnr, kind.Projectnr

Conditie:
Hoofdproject;Hoofdoms;Hoofdp;Kindproject;Kindoms
Voor het opvragen van de relatiegegevens SQLQuery:
Select PRProject.Projectnr,PRProject.description, c.cmp_name, c.cmp_code from prproject left outer join projectaccounts pa on pa.project = PRProject.ProjectNr left outer join cicmpy c on c.cmp_wwn = pa.account where PrProject.ParentProject = PROJECT order by PRProject.Projectnr

Conditie:
Moederproject;MoederOms;rn;rc
Voor het opvragen van de verzoekgegevens SQLQuery:
Select PRProject.Projectnr, a.hid, a.description from prproject left outer join absences a on a.projectnumber = PRProject.ProjectNr and a.Type=3120 where PrProject.ParentProject = PROJECT order by PRProject.Projectnr

Conditie:
VZProject;VZHID;VZOms

Het resultaat uit ons voorbeeld zal er dan als volgt uit kunnen zien: