Uitleg gebruik samenvoegvelden.
Ervaren Expert

Waarom?

Samenvoegvelden kun je in een document template gebruiken zodat bij het genereren van een document deze samenvoegvelden ingevuld worden met data uit Coachview. De samenvoegvelden herken je door de blokhaken [ ]. 

In de editor verschijnen, na het selecteren van een voorbeeld-template (ofwel datagroep) een aantal menu's in de editor waarin de samenvoegvelden staan opgesomd. Een aantal menu's hebben een niveau, aangeduid met een getal. Dat wil zeggen dat zij onderdeel zijn van een zogenaamd 'loopje' (herhaling van gegevens). Wanneer en hoe je deze kunt gebruiken lees je hieronder.


Menu met samenvoegvelden:

Ga met de cursor in de editor staan op de plaats waar het samenvoegveld moet komen en selecteer in het menu het gewenste samenvoegveld.

In een menu vind je 3 verschillende soorten samenvoegvelden:
  1. in wit, de 'normale' samenvoegvelden.
  2. in grijs, de 'vrije velden' samenvoegvelden
  3. in geel, de 'loop (herhaling)' samenvoegvelden.


De eerste twee type samenvoegvelden zijn erg vergelijkbaar, het enige verschil is dat vrije velden klant specifiek zijn. Verder werken ze op dezelfde manier. Selecteer het juiste menu, kies een samenvoegveld en de code wordt in je document geplaatst. Deze samenvoegvelden zijn te herkennen aan dat ze een dubbele punt in de code hebben staan, bijvoorbeeld: [Persoon:NaamVolledig] De loop samenvoegvelden zijn iets ingewikkelder, en zal ik daarom hieronder in een apart menu uitleggen.


Loopje - stap voor stap uitleg:

De 'loop' samenvoegvelden heb je nodig wanneer je een samenvoegveld uit een van de menu's met een niveau indicatie wil halen. Het wordt een loop genoemd omdat je een serie van items raadpleegt waarvan je het samenvoegveld wil ophalen van ieder item.

Bijvoorbeeld: je wil een lijst met namen van deelnemers in een e-mail genereren die gestuurd moet worden naar de docent. Er zijn 4 deelnemers, je gebruikt datagroep:OpleidingsDocent en je wilt dat Coachview de voornaam en het geslacht toont.
Loop (herhaling)Resultaat
1e item plaatsen
    Samenvoegvelden ophalen voor [voornaam] en [geslacht]
Volgend item plaatsen (item 2)
    Samenvoegvelden ophalen voor [voornaam] en [geslacht]
Volgend item plaatsen (item 3)
    Samenvoegvelden ophalen voor [voornaam] en [geslacht]
Laatste item plaatsen (item 4)
    Samenvoegvelden ophalen voor [voornaam] en [geslacht]

Piet Man

Janneke Vrouw

Mick Man

Marloes Vrouw

Omdat we vooraf niet weten hoeveel items er zijn zetten we alleen het start en eind signaal in een loop en daartussen de samenvoegvelden. Coachview weet dat eerst gekeken moet worden bij het eerste item en wanneer we het 'einde loop signaal' tegenkomen, kijken we of er nog een item is en beginnen we weer bovenaan in de loop. Is er geen volgend item meer, dan wordt de loop afgesloten. Je zou bovenstaande loop dus kunnen herschrijven naar een verkorte versie, zoals hieronder:
Loop (herhaling)
Resultaat
Start loop
Samenvoegvelden ophalen: [voornaam] en  [geslacht]
Eind loop
Piet - Man
Janneke - Vrouw
Sandra - Vrouw


Het enige wat we nu nog moeten doen is bovenstaande loop omzetten naar codering die Coachview begrijpt. En dat kunnen we doen met behulp van het 'loop' samenvoegveld uit het menu. Bij het kiezen van een dergelijk veld verschijnt er namelijk het volgende in je editor:
Loop (herhaling)
Uitleg
[OpleidingDeelnemer]
Geeft het samenvoegveld voor de start van de loop
(een 'loop samenvoegveld' herken je doordat er géén dubbele punt : in staat).
/* Hier kunnen niveau 1 OpleidingDeelnemer velden ingevoegd worden */
Geeft een opmerking aan waarin je de gewenste tekst en/of samenvoegvelden kan zetten. Let op: de speciale tekens aan het begin /* en aan het einde */ moet je ook weghalen.
[/OpleidingDeelnemer]
Geeft het einde van de loop aan.
(een 'loop samenvoegveld' herken je doordat er géén dubbele punt : in staat)

Let op: het lijkt dezelfde samenvoegcode, maar je mag niet de '/' vergeten!

We zijn bijna klaar, nog even de 'loop samenvoegvelden' voorzien van een extra stukje codering. Let op zodra je deze codering toevoegt, zul je zien dat je 'loop samenvoegveld' niet meer zichtbaar is in de editor. Geen nood, als je naar de broncode gaat zul je hem nog zien staan! Hieronder dan nog een laatste voorbeeld van hoe je loop eruit ziet:
Loop (herhaling)
Uitleg
[OpleidingDeelnemer]

[Persoon:Voornaam] - [Persoon:Geslacht_]<br>

De <br> betekent in HTML code een enter, de volgende naam wordt op de volgend regel geschreven.
Piet - Man
Janneke - Vrouw
Sandra - Vrouw
[/OpleidingDeelnemer]


Loopje plaatsen in een tabel

Zorg dat je eerst weet hoe een tabel wordt opgebouwd in html (info). We gebruiken hetzelfde voorbeeld als hierboven, zodat we al weten welke samenvoegvelden we moeten gebruiken.
Bedenk welke informatie in een loop moet komen staan, en welke informatie niet. Waarschijnlijk wil je de tabel-titels niet in de loop, deze hoeven namelijk niet steeds herhaalt te worden. Waarschijnlijk zal de loop dus in de Tbody zitten (ofwel de vulling van de tabel):
BroncodeResultaat
<table>
   <thead>
      <tr>
         <th><strong>Naam</strong></th>
         <th><strong>Geslacht</strong></th>
      </tr>
   </thead>
   <tbody>
         <tr>

            <td>[Persoon:NaamVolledig]</td>
            <td>[Persoon:Geslacht_]</td>
         </tr>
   </tbody>
</table>


Als de loop nog niet in de tabel staat, kunnen de samenvoegvelden niet gevonden worden en dus worden deze gezien als 'tekst' ipv samenvoegveld. Daarom zie je hierboven bij resultaat de samenvoegvelden nog staan.
De volgende stap is dus het toevoegen van de loop samenvoegvelden, zodat de samenvoegvelden herkent worden en ingevuld worden. We plaatsen het start signaal van de loop vóór de code om een nieuwe regel aan te maken <tr> en het eind signaal achter de code om een regel te beindigen </tr>. Dit doen we omdat de loop moet beginnen met een nieuwe regel aanmaken, vervolgens de kolommen met de samenvoegvelden moet aanmaken, en vervolgens de regel moet beindigen. Daarna moet de loop bekijken of er een nieuw item is en indien ja weer opnieuw een nieuwe regel aanmaken, etc.
BroncodeResultaat
<table>
   <thead>
      <tr>
         <th><strong>Naam</strong></th>
         <th><strong>Geslacht</strong></th>
      </tr>
   </thead>
   <tbody>

      <!--[OpleidingDeelnemer]-->
         <tr>

            <td>[Persoon:NaamVolledig]</td>
            <td>[Persoon:Geslacht_]</td>
         </tr>
       <!--[/OpleidingDeelnemer]-->
   </tbody>
</table>


Datumnotaties

Datumnotaties:
CodeOmschrijvingVoorbeeld
d
dd
ddd
dddd

Dagnummer kort
Dagnummer
Dagnaam afkorting
Dagnaam volledig

9
09
wo; vr
woensdag; vrijdag

M
MM
MMM
MMMM

Maandnummer kort
Maandnummer
Maandnaam afkorting
Maandnaam volledig
3
03
mrt
maart
y
yy
yyyy

Jaartal 1 cijfer
Jaartal 2 cijfers
Jaartal 4 cijfers
7
07
2007
Voorbeelden:
\@ "dd-MM-yyyy"
\@ "ddd d MMM yy"
\@ "d MMMM"
\@ "yyyy/M/d"

09-03-2007
do 9 mrt 07
9 maart
2007/3/9


Tijdnotaties


Tijdnotaties:

Code: 
h
hh
H
HH

m
mm

s
ss
Omschrijving: 
Uur kort (schaal 0-12)
Uur lang (schaal 0-12
Uur kort (schaal 0-23)
Uur lang (schaal 0-23)

Minuut kort
Minuut lang

Seconde kort
Seconde lang
Voorbeeld: 
3
03
15
15

8
08

2
02

Voorbeelden:
\@ "HH:mm:ss"
\@ "H:m:s"
15:08:02
15:8:2
Combinaties van datum- en tijdnotaties zijn ook mogelijk.
Bijvoorbeeld "dd-MM-yyyy / HH:mm:ss" wordt getoond als "09-03-2007 / 15:08:02"


Overige mogelijkheden:

Als de eerste letter een hoofdletter moet zijn:
[Persoon:Adressering \* "FirstCap"]

Als het hele veld uit hoofdletters moet bestaan:
[Persoon:Plaats \* "Upper"]



Filters toepassen op datagroepen:

Het is mogelijk om filters toe te passen op enkele 'loopjes' in bepaalde datagroepen. Hierdoor kun je er bijvoorbeeld voor zorgen dat enkel het eerste onderdeel wordt getoond i.p.v. alle onderdelen met behulp van de extra tekst zoals bijv. "\@ filter:top=1" in het samenvoegveld. Hieronder een overzicht van de mogelijkheden:


Opsommingen van onderdelen

Datagroep:
Loop incl filter
Opleiding
[OpleidingOnderdeel \@ FILTER:top=1]
OpleidingsAanvraag
[OpleidingsOnderdeel \@ FILTER:top=1]
OpleidingsVraag
[Opleidingsonderdeel \@ FILTER:top=1]
OpleidingsDocent
[OpleidingsonderdeelVanOpleiding \@ FILTER:top=1]
OpleidingsDeelnemer
[OpleidingDeelnemerOnderdeel] <-- hier kan nog geen filter op toegepast worden



Opsommingen van deelnemers

Datagroep:
Loop incl filter
Opleiding
[OpleidingDeelnemer \@ FILTER:betaald=true]
OpleidingsDocent
[OpleidingDeelnemer \@ FILTER:betaald=true]



Opsomming van opleidingen (datagroep OpleidingsVraag)
Voor datagroep OpleidingsVraag kun je de filters gebruiken voor onderstande menu's, hier heb je ook de mogelijkheid filter bottom te gebruiken:
Opleiding
Voorbeelden: [Opleiding \@ FILTER:top=1]
[Opleiding \@ FILTER:bottom=1]
Opleidingsonderdeel
Voorbeelden: [Opleidingsonderdeel \@ FILTER:top=1]
[Opleidingsonderdeel \@ FILTER:bottom=1]



Notaties persoonsnamen:


Opleiding
Voorbeeld:
Opleidingsonderdeel
Voorbeeld:






Persoon:NaamVolledig
Annemarie van der Aa
Persoon:Naam
Aa, A.G.M van der
Persoon:NaamFormeel
A.G.M van der Aa
Persoon:Adressering
mevrouw Ing A.G.M van der Aa
Persoon:Aanhef
mevrouw Van der Aa