Meerdere tekstblokken genest invoegen (1:N text block)

Vrijwel alle DocuBuilder functionaliteiten kunnen naast de sjablonen ook vanuit testblokken worden aangeroepen.

Dit is ook mogelijk met 1-n tekst blokken.

Wanneer de lijsten geen connectie hebben, blijft alle functionaliteit gelijk. In alle gevallen is de aanroep van de 1-n tekstblokken gelijk.

Wanneer men echter de lijsten wil koppelen, wordt verbinding gemaakt via de ‘BlockKey’. De ‘BlockKey’ bevat het ID van de bovenliggende lijst en wordt de filter van de onderliggende lijst.

Bijvoorbeeld:
Leverancier van kantoorinrichting & -artikelen brengt offerte uit met offerteregels gecategoriseerd op:

  • Laag 1 - Type product (bijvoorbeeld: Inrichting / Vloerbedekking / Aanvullend)

  • Laag 2 - Verdieping het gebouw waarvoor het product is besteld (bijvoorbeeld: Begane grond / 1e verdieping)
    Producten in deze laag worden gefilterd op het type product van de 1ste laag

  • Laag 3 - Ruimte in het gebouw waarvoor het product is besteld (bijvoorbeeld: Kantine / Kantoor Joop / Pantry)
    Producten in deze laag worden gefilterd op het type product van de 1ste laag en van de verdieping van de 2de laag

Dit resulteert in:

  •  

Inhoud

Voor gedetailleerde beschrijving van de 1-n tekstblokken zie https://documizers.atlassian.net/wiki/spaces/DK/pages/273711105

Dit hoofdstuk beschrijft alleen de specifieke verschillen om 1-n tekst blokken onderling te koppelen.

1a. Invoegen tekstblokken 1ste laag

In het voorbeeld wordt een tekstblok uit de tekstblok groep ‘ArtikelomschrijvingIND1’ opgehaald.

De ‘Conditional value’ bij het tekstblok is leeg en er zijn geen andere tekstblokken aanwezig, waardoor het veld ‘Column to insert’ niet relevant is, omdat dit tekstblok altijd automatisch wordt ingevoegd in het document.

(was dit wel het geval dan zou het veld ‘IND1’ moeten overeenkomen met ‘Conditional value’ van een tekstblok in de groep 'AFAS_Offerteregels_IND1_Tekstblokken')

In het voorbeeld is dit 'Laag 1” gevuld met Inrichting / Vloerbedekking / Aanvullend.

1b. BlockKey - 1ste laag

De BlockKey is het veld ‘IND1’ uit de tabel ‘AFAS_Offerteregels_IND1_Tekstblokken’.

2a. Invoegen tekstblokken 2de laag

In het tekstblok ArtikelomschrijvingIND1 uit de tekstblok groep ArtikelomschrijvingIND1 wordt de 2de laag aangeroepen.

Hier wordt uit de tekstblok groep ‘ArtikelomschrijvingIND2’ het tekstblok opgehaald m.b.v. de 1-n tekstblok functie.

Ook hier is net als bij laag 1de ‘Conditional value’ bij het tekstblok leeg en er zijn dus geen andere tekstblokken aanwezig, waardoor het veld ‘Column to insert’ niet relevant is, omdat dit tekstblok altijd automatisch wordt ingevoegd in het document.

Extra filter voor 2de laag via BlockKey

Tijdens het invoegen wordt gefilterd op de opgegeven BlockKey in de 1ste laag.

In de tabal “AFAS_Offerteregels_IND2_Tekstblokken” wordt gefilterd op IND1 = “{BlockKey}”

Let op: De BlockKey wordt ingegeven als {BlockKey}

In dit voorbeeld zijn dit de gegevens uit de 2de laag, zoals hieronder gemarkeerd.

2b. BlockKey - 2de laag

De BlockKey is het veld ‘IND2’ uit de tabel ‘AFAS_Offerteregels_IND2_Tekstblokken’.

3a. Invoegen tekstblokken 3de laag

In het tekstblok ArtikelomschrijvingIND2 uit de tekstblok groep ArtikelomschrijvingIND2 wordt de 3de laag aangeroepen.

Hier wordt uit de tekstblok groepken ‘ArtikelomschrijvingIND3’ het tekstblok opgehaald m.b.v. de 1-n tekstblok functie.

Ook hier is net als bij de 1ste en 2de laag de ‘Conditional value’ bij het tekstblok leeg en er zijn dus geen andere tekstblokken aanwezig, waardoor het veld ‘Column to insert’ niet relevant is, omdat dit tekstblok altijd automatisch wordt ingevoegd in het document.

Extra filter voor 3de laag via BlockKeys

Tijdens het invoegen wordt gefilterd op de opgegeven BlockKey in de 1ste laag én 2de laag.

In de tabel “AFAS_Offerteregels_IND2_Tekstblokken” wordt gefilterd op:

  • IND1 = “{BlockKey: ArtikelomschrijvingIND1}”

  • IND2 = “{BlockKey}”

Omdat de BlockKey van de 1ste laag 2 lagen boven de huidige 3de laag valt, dit ook de naam van de Tekstblok groep te worden opgegeven: {BlockKey: ArtikelomschrijvingIND1}

In dit voorbeeld zijn dit de gegevens uit de 3de laag, zoals hieronder gemarkeerd.

3b. BlockKey - 3de laag

De BlockKey is het veld ‘IND3’ uit de tabel ‘AFAS_Offerteregels_IND3_Tekstblokken’.

4. Inhoud tekstblok 3de laag

Deze tekstblokken wordt dus X keer ingevoegd (=aantalIND1 x aantalIND2 x aantalIND3)

In het voorbeeld (rechter pagina) bevat dit tekstblok de uiteindelijke tabel, welke wordt ingevuld met verschillende Lijst functies.

Uiteraard kan dit een eenvoudig tekstblok zijn met opgemaakte tekst en afbeeldingen.

Deze lijstfuncties worden weer gefilterd via de 3 reeds opgeslagen BlockKey’s.

De onderstaande tabellen wordt gefilterd op:

  • CategorieDSN = “{BlockKey: ArtikelomschrijvingIND1}”

  • CategorieDSNTXT = “{BlockKey: ArtikelomschrijvingIND2}”

  • CategorieOmschr = “{BlockKey}”

Voor Lijst- & tabelvelden in geneste tekstblokken zie https://documizers.atlassian.net/wiki/spaces/DK/pages/273842456

Voor de kop en voettekst van de tabel met een enkelvoudige lijst. Zie ook https://documizers.atlassian.net/wiki/spaces/DK/pages/268566587

Voor de offerteregels in de tabel (DocuBuilder tabel functie) inclusief afbeelding in linker kolom. Zie ook