We could say the base of processes in Flowis are Transactions and Definitions. You already know about Transactions – but what are Definitions? Simply said, they are tables or lists of records. Lists with useful data, records from external databases… is this explanation not helpful? Table of currencies, table of suppliers, entities – all of these will be contained in Definitions.
Each Definition is filled with Rows. Each Row represents one record in this Definition – for example, we have a Definition of “Currencies”. The Rows in this Definition will be EUR, USD, HUF, etc.
Now in Flowis, we have three types of Definitions. All three of them work in the same way, the only difference is how we use them and what kind of data we put in them:
- Codelist Definitions – small code lists with not many records in each of them – for example the list of priorities, currencies, branches, countries, document types, etc.
- Input Definitions – large tables with information that serve as input data to processes in Flowis, they are often synchronized from an external database – for example, suppliers, purchase orders
- Output Definitions – large tables with records that are the output of the processes in Flowis
Creating a new Definition
To create a new Definition, you will need to set up:
- Name – should be short and self-explanatory
- Public name (Ruby eval) – by default, you see its ID when Definition Rows are shown somewhere. A piece of Ruby code here in Public name can be changed to show any of the information you want (e.g. name or code of the currency). However, since it requires the knowledge of coding, we recommend contacting your IT administrator to set this up for you.
- Preload for public name – needed to properly set up the previous field, please contact your IT administrator
- Pagination disabled? – pagination counts the total count of transactions and divides them into pages. If millions of Transactions are in the tool, pagination could take a lot of time.
- Every column unique? – if checked, uniqueness is not checked when importing data. This can be useful when importing logs from another system when you know there are no duplicities in the data
- Data types definition – data types represent the fields in the Definition and what kind of value they can contain – see our articles about Data types for more information. You need to create a new field for every needed attribute – for example, the Currencies definition can have fields like “Name”, “Code”, “Active?”, “Exchange rate to USD”, …
- On-change dependencies – auto-inline reload of the value when the form is being edited. As this requires coding, we recommend contacting your IT administrator to set this up for you.
- Model callbacks – if any Model callback related to this Definition should be executed, add it there
- Parse data entry to value ruby eval – Ruby code to set up custom mapping logic for the whole Definition. Contact your IT administrator to set this up for you
Creating a new Definition Row
Let’s say you already created a new Definition for Currencies. You created the structure for your list of currencies – you specified which data must be contained for every Row, but the Definition itself is empty. You need to create the Rows. There are two options to do so:
- Create the Rows manually – click the “+ New” button and fill in all the necessary fields. Then click save.
- Import the list of Rows from a .xlsx file – the easiest way is to click the “Download” button to get the correct template for the .xlsx file. Fill in the necessary rows in your sheets editor and then import it into Flowis with the “Import” button.
To be able to work with Rows in Definitions properly, the Users need to have all these things set up:
- Access Permissions – to access the Definition itself. If the permissions contain specific input conditions, the User will only have access to those Rows that meet the conditions (he will not even see the ones that do not meet them)
- Show Permissions – to see the detail of the Rows after the User clicks on any of them
- Create Permissions – to create new Rows. The User will only be able to add such Rows that meet the conditions of his Access Permissions (for example: if you only have Access Permissions regarding the American branch, you will not be allowed to create any Row related to the Slovak branch)
- Groups – any of the Groups the User is a part of needs to have permission to show, update, and/or manage Definitions AND Definition Rows. See our article about Permissions for more information
To make the maintenance of every Definition easier, you can use Bulk actions to edit or delete various Rows at once. Simply check all necessary rows and then select what should happen with these. Bulk action can be also used to download only the desired Rows (the “Download files” action).