Child pages
  • Another example of TableView Merger usage

This is the documentation for ConfiForms Server/Data Center app

However, this might also work for ConfiForms cloud and in most cases it does. But please see this page to understand the differences between server and cloud versions of the ConfiForms app.

LIVE Example of TableView Merger

<ac:structured-macro ac:macro-id="a1529b36-ff00-4b50-80f0-da941adec9d1" ac:name="confiform" ac:schema-version="1">
  <ac:parameter ac:name="formName">Invoice</ac:parameter>
  <ac:parameter ac:name="registrationFormTitle">Invoices rows</ac:parameter>
  <ac:rich-text-body>
    <p>
      <ac:structured-macro ac:macro-id="7be7e7f2-499c-4086-9cd2-a5954f1dd0c3" ac:name="confiform-field-definition" ac:schema-version="1">
        <ac:parameter ac:name="fieldName">type</ac:parameter>
        <ac:parameter ac:name="fieldLabel">Type</ac:parameter>
        <ac:parameter ac:name="values">false[1=Consulting|2=Repair|3=Transport|]</ac:parameter>
        <ac:parameter ac:name="extras">label;false</ac:parameter>
        <ac:parameter ac:name="type">select</ac:parameter>
        <ac:parameter ac:name="required">true</ac:parameter>
      </ac:structured-macro>
    </p>
    <p>
      <ac:structured-macro ac:macro-id="1d9a2690-2e83-4764-9ea7-70094cadc3b0" ac:name="confiform-field-definition" ac:schema-version="1">
        <ac:parameter ac:name="fieldName">description</ac:parameter>
        <ac:parameter ac:name="fieldLabel">Description</ac:parameter>
        <ac:parameter ac:name="type">textarea</ac:parameter>
      </ac:structured-macro>
    </p>
    <p>
      <ac:structured-macro ac:macro-id="7755a69a-3d17-4fcc-a68d-4d13eda5217d" ac:name="confiform-field-definition" ac:schema-version="1">
        <ac:parameter ac:name="fieldName">price</ac:parameter>
        <ac:parameter ac:name="fieldLabel">Price</ac:parameter>
        <ac:parameter ac:name="fieldDescription">in eur</ac:parameter>
        <ac:parameter ac:name="type">number</ac:parameter>
        <ac:parameter ac:name="required">true</ac:parameter>
      </ac:structured-macro>
    </p>
    <p>
      <ac:structured-macro ac:macro-id="37f431bc-9cfc-4975-9429-6ee3de67ea40" ac:name="confiform-field-definition" ac:schema-version="1">
        <ac:parameter ac:name="fieldName">count</ac:parameter>
        <ac:parameter ac:name="fieldLabel">Count</ac:parameter>
        <ac:parameter ac:name="fieldDescription">pcs</ac:parameter>
        <ac:parameter ac:name="type">number</ac:parameter>
        <ac:parameter ac:name="required">true</ac:parameter>
      </ac:structured-macro>
    </p>
    <p> <ac:structured-macro ac:macro-id="d23698df-27c3-4502-9e67-b6b74d63520d" ac:name="confiform-entry-register" ac:schema-version="1">
        <ac:parameter ac:name="atlassian-macro-output-type">INLINE</ac:parameter>
        <ac:rich-text-body>
          <p> </p>
        </ac:rich-text-body>
      </ac:structured-macro>
    </p>
  </ac:rich-text-body>
</ac:structured-macro>
<p> </p>
<p>ALL stored data</p>
<ac:structured-macro ac:macro-id="80220cd8-0cdd-4527-a1a8-7d41d02657a4" ac:name="confiform-table" ac:schema-version="1">
  <ac:parameter ac:name="formName">Invoice</ac:parameter>
  <ac:rich-text-body>
    <p> <ac:structured-macro ac:macro-id="25a2f91b-901f-4f3f-8364-906324291afa" ac:name="confiform-field" ac:schema-version="1">
        <ac:parameter ac:name="fieldName">type</ac:parameter>
      </ac:structured-macro>
    </p>
    <p>
      <ac:structured-macro ac:macro-id="ffe9390f-d35e-48c7-ada0-27d1566b142f" ac:name="confiform-field" ac:schema-version="1">
        <ac:parameter ac:name="fieldName">description</ac:parameter>
      </ac:structured-macro>
    </p>
    <p>
      <ac:structured-macro ac:macro-id="c34c0a39-93d5-409a-89ea-b360f2023ce5" ac:name="confiform-field" ac:schema-version="1">
        <ac:parameter ac:name="fieldName">price</ac:parameter>
      </ac:structured-macro>
    </p>
    <p>
      <ac:structured-macro ac:macro-id="414c44a6-1208-4368-b007-0b7f44a6af08" ac:name="confiform-field" ac:schema-version="1">
        <ac:parameter ac:name="fieldName">count</ac:parameter>
      </ac:structured-macro>
    </p>
  </ac:rich-text-body>
</ac:structured-macro>
<p> </p>
<p> </p>
<p>Totals per type</p>
<ac:structured-macro ac:macro-id="30654675-fc29-4a5f-b82e-82682150fd02" ac:name="confiform-table-merger" ac:schema-version="1">
  <ac:rich-text-body>
    <p> <ac:structured-macro ac:macro-id="3b540c9e-5243-4a37-8fc8-03858983fe8b" ac:name="confiform-field" ac:schema-version="1">
        <ac:parameter ac:name="fieldName">type</ac:parameter>
      </ac:structured-macro>
    </p>
    <p>
      <ac:structured-macro ac:macro-id="39c9fcd4-b4ea-4174-91f0-b44778108573" ac:name="confiform-field" ac:schema-version="1">
        <ac:parameter ac:name="fieldName">Total:([entry.count]*[entry.price])</ac:parameter>
      </ac:structured-macro>
    </p>
    <ac:structured-macro ac:macro-id="12fa94ed-24aa-484a-8ff8-7b123dac31fa" ac:name="confiform-table" ac:schema-version="1">
      <ac:parameter ac:name="formName">Invoice</ac:parameter>
      <ac:rich-text-body> </ac:rich-text-body>
    </ac:structured-macro>
  </ac:rich-text-body>
</ac:structured-macro>
<p> </p>
<p>Record ID is used as a grouping key, together with a type and therefore rows are showed separately</p>
<ac:structured-macro ac:macro-id="e5bdffe1-2841-4885-be2a-dadc408eaf28" ac:name="confiform-table-merger" ac:schema-version="1">
  <ac:rich-text-body>
    <p>
      <ac:structured-macro ac:macro-id="d01c437d-d68a-4141-9b68-4595e616d2cb" ac:name="confiform-field" ac:schema-version="1">
        <ac:parameter ac:name="fieldName">id</ac:parameter>
      </ac:structured-macro> </p>
    <p>
      <ac:structured-macro ac:macro-id="5903bb6e-b217-46f4-be77-3a435637f7b7" ac:name="confiform-field" ac:schema-version="1">
        <ac:parameter ac:name="fieldName">type</ac:parameter>
      </ac:structured-macro>
    </p>
    <p>
      <ac:structured-macro ac:macro-id="a62605e1-9a0e-414a-b65f-8614810d5c31" ac:name="confiform-field" ac:schema-version="1">
        <ac:parameter ac:name="fieldName">Total:([entry.count]*[entry.price])</ac:parameter>
      </ac:structured-macro>
    </p>
    <ac:structured-macro ac:macro-id="630cd566-0723-493b-8042-7ba52280b149" ac:name="confiform-table" ac:schema-version="1">
      <ac:parameter ac:name="formName">Invoice</ac:parameter>
      <ac:rich-text-body> </ac:rich-text-body>
    </ac:structured-macro>
  </ac:rich-text-body>
</ac:structured-macro>
<p> </p>
<p>Same, as above, but description field used as a grouping key, together with a type and therefore rows are showed separately. </p>
<ac:structured-macro ac:macro-id="17df3203-dc06-4567-91b7-8bcf2624fc77" ac:name="warning" ac:schema-version="1">
  <ac:rich-text-body>
    <p>Important to note is that IF there are rows with SAME type and description they will be MERGED! See below</p>
  </ac:rich-text-body>
</ac:structured-macro>
<ac:structured-macro ac:macro-id="4be247d7-4b37-40c7-9c6c-2d3f1aa032fe" ac:name="confiform-table-merger" ac:schema-version="1">
  <ac:rich-text-body>
    <p>
      <ac:structured-macro ac:macro-id="9d9541ed-751e-4363-8740-1ef8b82a3e73" ac:name="confiform-field" ac:schema-version="1">
        <ac:parameter ac:name="fieldName">type</ac:parameter>
      </ac:structured-macro>
    </p>
    <p>
      <ac:structured-macro ac:macro-id="5eb340e8-d8b6-4d1b-ac55-cff058f05f65" ac:name="confiform-field" ac:schema-version="1">
        <ac:parameter ac:name="fieldName">description</ac:parameter>
      </ac:structured-macro>
    </p>
    <p>
      <ac:structured-macro ac:macro-id="911211ff-91ca-48bf-9bd1-2b431b46c682" ac:name="confiform-field" ac:schema-version="1">
        <ac:parameter ac:name="fieldName">Total per row:([entry.count]*[entry.price])</ac:parameter>
      </ac:structured-macro>
    </p>
    <ac:structured-macro ac:macro-id="7f15fa9a-821c-43a0-bc3e-f80d1d7a2fbb" ac:name="confiform-table" ac:schema-version="1">
      <ac:parameter ac:name="formName">Invoice</ac:parameter>
      <ac:rich-text-body> </ac:rich-text-body>
    </ac:structured-macro>
  </ac:rich-text-body>
</ac:structured-macro>
<p> </p>
<p>Chart showing invoice items grouped by TYPE and with their totals</p>
<ac:structured-macro ac:macro-id="ecb4d365-e591-46fd-92d2-9f742230f649" ac:name="chart" ac:schema-version="1">
  <ac:parameter ac:name="3D">true</ac:parameter>
  <ac:parameter ac:name="orientation">vertical</ac:parameter>
  <ac:parameter ac:name="showShapes">false</ac:parameter>
  <ac:parameter ac:name="width">950</ac:parameter>
  <ac:parameter ac:name="rangeAxisLowerBound">1</ac:parameter>
  <ac:parameter ac:name="dataOrientation">vertical</ac:parameter>
  <ac:parameter ac:name="title">Invoice data</ac:parameter>
  <ac:rich-text-body>
    <ac:structured-macro ac:macro-id="c65cc40c-3d2f-4331-b759-938946fce84c" ac:name="confiform-table-merger" ac:schema-version="1">
      <ac:rich-text-body>
        <p>
          <ac:structured-macro ac:macro-id="cfbe3c84-9751-4664-8723-2c32ba1ca7b6" ac:name="confiform-field" ac:schema-version="1">
            <ac:parameter ac:name="fieldName">type</ac:parameter>
          </ac:structured-macro>
        </p>
        <p>
          <ac:structured-macro ac:macro-id="18d3904f-c0df-4af2-9fc8-8ee2b9c0d02b" ac:name="confiform-field" ac:schema-version="1">
            <ac:parameter ac:name="fieldName">Total:([entry.count]*[entry.price])</ac:parameter>
          </ac:structured-macro>
        </p>
        <ac:structured-macro ac:macro-id="a06e57da-b3fe-435a-9dc8-aa002b000f67" ac:name="confiform-table" ac:schema-version="1">
          <ac:parameter ac:name="formName">Invoice</ac:parameter>
          <ac:rich-text-body> </ac:rich-text-body>
        </ac:structured-macro>
      </ac:rich-text-body>
    </ac:structured-macro>
  </ac:rich-text-body>
</ac:structured-macro>
<p> </p>
<p> </p>


So, we have a form with 4 fields

  • type - dropdown field
  • description - text are field to store invoice item details
  • price - numeric field to store numeric data for item price
  • count - numeric field to store number of items per that price



ALL stored data 

Type

Description

Price

Count

Consulting some consulting work 100 4
Transport delivery 23 2
Transport another delivery 35 1
Transport delivery 23 1
Consulting interview 100 2


To get Totals per type

We have 2 fields in TableView Merger, type and Total which is described as expression

Total:([entry.count]*[entry.price])

Type

Total

Consulting 600
Transport 104


Record ID is used as a grouping key, together with a type and therefore rows are showed separately

We have 3 fields in TableView Merger, id, type and Total which is described with the same expression

Total:([entry.count]*[entry.price])

ID

Type

Total

7720ce38-adb6-4466-8f6d-27878f4c6ff2 Consulting 400
50571577-0cc2-42ca-9193-9fe7e0cecd30 Transport 46
9fd98121-cecd-46ee-89d6-9deb316bc0a4 Transport 35
9cbbc2fe-f301-4055-8368-3a89fc32828c Transport 23
834657f8-4424-4dbd-8ef8-654cb499687d Consulting 200


Same, as above, but description field used as a grouping key, together with a type and therefore rows are showed separately. 


We have 3 fields in TableView Merger, type, description and Total which is described as expression

Total:([entry.count]*[entry.price])

Important to note is that IF there are rows with SAME type and description they will be MERGED! See below

Type

Description

Total per row

Consulting some consulting work 400
Transport delivery 69
Transport another delivery 35
Consulting interview 200


Chart showing invoice items grouped by TYPE and with their totals (Chart macro uses the same table as you can see in 1st example, where we group by type field and calculate totals per row)

Pie chart for Invoice data