You are viewing limited content. For full access, please sign in.

Question

Question

Laserfiche Cloud 12: Can form table rows be inserted into Lookup Table rows on submission?

asked on February 2

I am working in Laserfiche Cloud 12 (Forms + Workflow) and need clarity on platform capabilities around Forms tables and Lookup Tables.

Use case:
A form contains a Forms Table with multiple items (each row represents one item).
I would like each row in the Forms Table to be inserted as its own row in a Lookup Table when the form is submitted.

What I have observed so far:

  • There is no Insert Row / Update Row activity in Cloud Workflow.

  • The For Each Row activity appears to be designed to iterate over Lookup Tables or Business Process tables, not Forms tables.

  • Forms table rows do not seem to be exposed as a row collection that Workflow can loop through.

  • Lookup Tables appear to allow writing one row per task, mapped from single-value fields, but not bulk inserts.

My questions:

  1. Is it supported in Laserfiche Cloud 12 to insert multiple rows into a Lookup Table from a Forms Table on submission?

  2. Can For Each Row iterate over Forms Table rows, or is it limited to Lookup Tables / Process tables?

  3. If this is not supported, is the only Cloud-supported approach:

    • one submission = one Lookup Table row (using single-line fields), or

    • redesigning the solution to avoid Lookup Tables for transactional data?

I want to confirm whether this is a platform limitation by design, so I can redesign the solution correctly rather than chasing unsupported patterns.

Thank you.

0 0

Replies

replied on February 2

This isn't immediately intuitive - I needed some extra time with this!

If I understand what you're trying to do it does work. I'll work backwards from the lookup table.

Create your lookup table. Create an Insert rule. 

Create your workflow. Add a 'for each value' with a 'run rule' inside the iteration. I had two value in each of my rows so I added them in the 'Values'. It's really important to get this part correct; there are a few parts to this. Here's the workflow:

 

But first...the workflow needs input parameters. Parameters need to be multivalued.

 

Here's the workflow:

 

In the "Values" of the "For Each Value" activity be sure to apply an index with "All values separated by a comma".

 

In the lookup table query "Run Rule", which is actually an Insert, set up your parameters like this:

Each of the Input Values needs an index:

 

On your Business Process you need a Workflow Service Task

 

 

Here's what the form looks like:

 

Maybe I missed a step. Let me know! But this should get you going.

1 0
replied on February 2

This is the solution. Well written. Form tables/collections are just multi-valued fields when sent to cloud workflow. You recreate the rows using the index function as shown here.

0 0
replied on February 3

Thank you for taking the time to respond and share this solution. I appreciate the detailed explanation — I haven’t tested it yet, but it’s very helpful and gives me a clear direction to work with.

As soon as i test, i will give you feedback

0 0
replied on February 4

I am seeing the same behavior as you. It appears we don't have the total number of rows from the table passed in to our workflow. 

We need to find a way to get the row count of the table and from 'for each value' that many times. 

1 0
replied on February 4

I'm not sure you need the "all values separated by commas"

 

When you pass a table column to workflow, you can pass it directly and workflow sees it as a multi-valued token

Input parameters on the workflow side 


Then you can setup the foreach value with just one of the columns from the workflow input parameters

Once inside the for each values, you can reconstruct the rows from the form table using the column input parameter indexed with the for each value current iteration




Your problem stems from here where your values are defining an array for firstname + lastname + age, instead of using just one column to define the amount of iterations needed.


 

0 0
replied on February 5

Thank you so much for the feedback. i managed to crack it.

 

Below is the screenshot of my workflow. 

I decided to create a new table and new query rule all together. i renamed my lookup table query to Array_Insert as shown above. On the Run Rule Activity, i referenced the assigned token as the Field Value hence you see %(CR1N).

 

 

I hope i was able to explain it the way you all understand. 

Thank you once again!

 

 

0 0
replied on February 4 Show version history

Hello once again, 

Thank you very much for taking the time to respond and for the detailed guidance — I followed your instructions exactly, and the workflow is running successfully.

However, I’m encountering an unexpected behavior when inserting data from a Laserfiche Cloud 12 form table into a lookup table, and I’d appreciate your advice.

Issue observed:

 

This is how my form table looks like: 

When I enter values into multiple rows in the form table, the data written to the lookup table does not behave as expected.

For example:

  • Row 1: First Name = A, Second Name = B, Age = 1

  • Row 2: First Name = D, Second Name = E, Age = 3

When I check the lookup table:

  • The second row is written twice

  • Instead of having 2 records, I end up with 3 records, where the last row is duplicated

Additionally, when I enter 3 or more rows in the form table:

  • the 4th,5th ... rows are never inserted into the lookup table

  • For example, When i enter 5 rows in the form table, the 4th and 5th row are never inserted into the lookup table.

  • Its like it is strictly inserting 3 rows only. 

I’ve attached screenshots to show:

  1. The data entered in the form table

  2. The resulting records in the lookup table

Could this be related to how the For Each Value activity, row indexing, or variable scoping is being handled in the workflow? I want to make sure each table row is written once and only once to the lookup table.

Thanks again for your help — it’s much appreciated.

 

Below is a screenshot of the workflow service task in the business process.

 

Below is the screenshot of the workflow highlighting the FOR EACH activity. 

 

0 0
replied on February 9

Hi everyone,

I am working in Laserfiche Cloud 12 and would appreciate guidance on how to conditionally insert or update records in a lookup table based on values entered in a form table within a Business Process.

Current Setup

1. Form Table (Business Process Form)

I have a form table with the following columns:

  • Item Name

  • Quantity as Qty

  • Unit Cost

  • Total Amount (Qty multiplied by Unit Cost)

  • Balance

Each row represents a single stock item entered by the user.

2. Master Inventory Lookup Table

I have created a Master Inventory lookup table with the following fields:

  • Item Name

  • Balance at Hand

  • Last Restock Date

This table represents the current stock inventory.

3. Select Rule on the Form Table

A Select rule is applied to the Item Name field in the form table:

  • When a user enters or selects an Item Name, the rule checks the Master Inventory lookup table

  • If a match is found:

    • The Balance field in the form table is auto-populated using Balance at Hand

  • If no match is found:

    • The Balance field remains blank

4. Lookup Table Queries

I have already created two lookup table queries:

  • Insert query – for adding new items

  • Update query – for modifying existing items

 

5. Workflow Design

In my workflow, I currently have  Three Run Rule activities:

  1. A Run Rule that inserts data from the form table into a lookup table

  2. A Run Rule that updates the Master Inventory lookup table using values from the form table

  3. A Run Rule that inserts data from the form table into a lookup table called Stock IN Table, which is just a table that displays the amount of items that was stocked into the inventory

The Problem

I want the workflow to execute conditionally for each row in the form table, depending on whether the item already exists in the Master Inventory lookup table.

Required logic:

  • If the item is new
    (i.e., no match in the Master Inventory lookup table and the Balance field is blank)
    → Insert the item into the lookup table

  • If the item already exists
    (i.e., the Balance field is populated from the Master Inventory)
    → Update the existing record
    → Specifically update Balance at Hand using the value from the Balance field in the form table

What I Need Help With

  • How can this conditional logic be implemented correctly in Laserfiche Cloud 12 workflows?

  • What is the recommended way to evaluate this condition per form table row?

  • When using Run Rule activities, how do I decide whether to execute the Insert query or the Update query for each row?

Any Laserfiche Cloud 12–specific guidance, best practices, or examples would be greatly appreciated.

Thank you in advance for your help.

 

You are not allowed to follow up in this post.

Sign in to reply to this post.