update
All checks were successful
Deploy Static Site / deploy (push) Successful in 6m6s

This commit is contained in:
2025-05-29 16:42:45 +04:00
parent e217f89702
commit 00717a92fb
2681 changed files with 173810 additions and 0 deletions

303
platform/360010201779.html Normal file
View File

@ -0,0 +1,303 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>Table data type</title>
<meta name="generator" content="Help+Manual" />
<meta name="keywords" content="" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="A Table is a specific field type that can be used both in apps and in business processes. By adding it to a form, you will be able to organize data in rows and columns and..." />
<meta name="picture" content="" />
<meta property="og:type" content="website" />
<meta property="og:title" content="Full documentation for BRIX365 platform. Low-code developer guide. User guide. Admin guide. Developer guide." />
<meta property="og:url" content="https://brix365.com/en/help" />
<meta property="og:image" content="" />
<link rel="icon" href="favicon.png" type="image/png" />
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet" />
<link rel="stylesheet" href="./jquery-ui.min.css" />
<link rel="stylesheet" href="default.css" />
<link rel="stylesheet" href="./search-yandex.css" />
<link rel="stylesheet" href="./article.css" />
<link rel="stylesheet" href="./glossary.css" />
<link rel="stylesheet" href="./theme.css" />
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="helpman_settings.js"></script>
<script type="text/javascript" src="helpman_topicinit.js"></script>
<script type="text/javascript" src="highlight.js"></script>
<script type="text/javascript">
$(document).ready(function(){highlight();});
</script>
</head>
<body>
<script>!function(e,t,c,n,r,a,m){e.ym=e.ym||function(){(e.ym.a=e.ym.a||[]).push(arguments)},e.ym.l=1*new Date;for(var s=0;s<document.scripts.length;s++)if(document.scripts[s].src===n)return;a=t.createElement(c),m=t.getElementsByTagName(c)[0],a.async=1,a.src=n,m.parentNode.insertBefore(a,m)}(window,document,"script","https://mc.yandex.ru/metrika/tag.js"),ym(83179930,"init",{clickmap:!0,trackLinks:!0,accurateTrackBounce:!0,webvisor:!0})</script><noscript><div><img alt=""src=https://mc.yandex.ru/watch/83179930 style=position:absolute;left:-9999px></div></noscript>
<header class="header elma-365">
<div class="container">
<a class="header__logo" href="https://brix365.com/en/help">
<img src="./logo-en.svg" alt="header logo">
</a>
<!-- <div class="hero__search-form" id="search-panel">
<form class="search-form" onsubmit="ym(83180416,'reachGoal','poisk')">
<label class="search-form__label">
<span id="reset-search" class="search__icon"></span>
<input class="search-form__input" type="text">
</label>
<input class="search-form__submit" type="submit" value="Submit">
</form>
</div> -->
<div class="hero__search-form" id="search-panel"> <form class="search-form"> <label class="search-form__label"> <span id="reset-search" class="search__icon"></span> <input class="search-form__input" type="text"> </label> <input class="search-form__submit" type="submit" value="Submit"> </form> </div>
<div class="hero__search">
<a href="#" id="search-icon" class="hero__search-icon">
<img src="search-icon-white.svg" alt="search string">
</a>
<a href="#" id="side-menu-icon" class="hero__side-icon">
<img src="side_menu.svg" alt="side menu">
</a>
</div>
<div class="header__navi">
<ul class="header__list"><li><span class="solution-select"><span class="solution-select__selected"></span><svg width="7" height="4" viewBox="0 0 7 4" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1 1L3.5 3.5L6 1" stroke="white" stroke-linecap="round" stroke-linejoin="round"/></svg><ul class="solution-select__list"><li><a class="project-link" href="https://brix365.com/en/help/platform/get-trial.html">Platform</a></li><li><a class="project-link" href="https://brix365.com/en/help/ecm/ecm-functions.html">ECM</a></li><li><a class="project-link" href="https://brix365.com/en/help/crm/crm_overview.html">CRM</a></li><li><a class="project-link" href="https://brix365.com/en/help/service/service-functions.html">Service</a></li><li><a class="project-link" href="https://brix365.com/en/help/projects/projects-functions.html">Projects</a></li><li><a class="project-link" href="https://brix365.com/en/help/business_solutions/-elma365-store.html">Business Solutions</a></li></ul></span></li><li><a href="https://api.brix365.com/en/" target="_blank">API</a></li><li><a href="https://tssdk.brix365.com/" target="_blank">SDK</a></li></ul>
</div>
</div>
</header>
<main class="main container">
<aside class="sidebar" id="sidebar">
<div class="sidebar__header">
<a class="header__logo" href="https://brix365.com/en/help">
<img src="./logo-light-en.svg">
</a>
<span class="sidebar__close elma-365-close" id="close"></span>
</div>
<div class="sidebar__wrapper" id="side-menu">
</div>
</aside>
<article class="article" id="article">
<div class="article-inner">
<div class="content">
<header class="article__header">
<div class="article__bread" style="display:flex; gap:10px;">
<span id="subcategory" class="search-res__item-category search-res__item-category_subcategory subcategory article__badge"></span>
<div class="topic__breadcrumbs">
<p>Low-code designer &gt; App builder / Table data type</p>
</div>
</div>
<div class="topic__title"><h1 class="p_Heading1" style="text-align: center; line-height: 1.20; margin: 19px 0 19px 0;"><span class="f_Heading1" style="font-size: 32px;">Table data type</span></h1>
</div>
</header>
<section class="article__content">
<div class="scroll-top-inner">
<a href="#h1-article" class="scroll-top"></a>
</div>
<!-- Placeholder for topic body. -->
<p class="p_Normal" style="line-height: 1.20; margin: 14px 0 0 0;">A <span style="font-weight: bold;">Table</span> is a specific <a href="360009707032.html" class="topiclink">field type</a> that can be used both in apps and in business processes. By adding it to a form, you will be able to organize data in rows and columns and insert formulas to make calculations.</p>
<p class="p_Normal" style="line-height: 1.20; margin: 14px 0 0 0;">For instance, add a table to the <span style="font-weight: bold;">Orders</span> <a href="360009918011.html" class="topiclink">app form</a> to display all the goods selected by a customer. Insert a formula to one of the table cells to automatically calculate the total amount depending on the number of the purchased goods.</p>
<h2 class="p_Heading2"><a id="addingtabletoappform" class="hmanchor"></a><span class="f_Heading2">Add a table to the app form</span></h2>
<p class="p_Normal" style="line-height: 1.20; margin: 14px 0 0 0;">You can add a table field when <a href="360007235031.html#from_scratch" class="topiclink">creating a new app</a> or <a href="360009918011.html#edit_form" class="topiclink">editing an existing one</a>. </p>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">начало&nbsp;внимание</span></p>
<p style="line-height: 1.20; margin: 19px 0 0 0;">Only users in the <a href="360006871932.html" class="topiclink">Administrators</a> group can add and set up tables.</p>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">конец&nbsp;внимание&nbsp;</span></p>
<p class="p_Normal" style="line-height: 1.20; margin: 14px 0 0 0;">Drag the <span style="font-weight: bold;">Table</span> property form a side panel to a form and configure the settings: </p>
<p class="p_Normal" style="line-height: 1.20; margin: 14px 0 0 0;"><img alt="tables 365" width="1039" height="605" style="margin:0;width:1039px;height:605px;border:none" src="hmfile_hash_a8a2e178.gif"/></p>
<p class="p_Normal" style="line-height: 1.20; margin: 14px 0 0 0;">&nbsp;</p>
<ul style="list-style-type:disc">
<li style="line-height: 1.20;"><span style="font-weight: bold;">Name</span><span style="font-weight: bold; color: #ff0000;">*</span>.<span style="font-weight: bold;"> Enter a </span>name that employees will see on the create, view, and edit forms of an app item.</li><li style="line-height: 1.20;"><span style="font-weight: bold;">Code</span><span style="font-weight: bold; color: #ff0000;">*</span>.<span style="font-weight: bold;"> </span>Field code which is used when working with API, <a href="type-script.html" class="topiclink">scripts</a>, templates.</li><li style="line-height: 1.20;"><span style="font-weight: bold;">Tip</span>.<span style="font-weight: bold;"> </span>Here you can enter additional information, for example, a description or a short instruction. This helps employees fill out a table correctly.</li><li style="line-height: 1.20;"><a id="kind-of-table" class="hmanchor"></a><span style="font-weight: bold;">View</span>. Select the table view:<ul style="list-style-type:disc">
<li style="line-height: 1.20;"><span style="font-weight: bold;">Table</span>.<span style="font-weight: bold;"> </span>Standard table view.</li><li style="line-height: 1.20;"><span style="font-weight: bold;">Template</span>.<span style="font-weight: bold;"> </span>You might want to use this setting when working with large tables. It is not always necessary to show all the table rows. For instance, sometimes you need to display only the total amount while keeping the other rows hidden. In this case, use a template.</li></ul></li></ul>
<p style="line-height: 1.20; margin: 14px 0 0 26px;"><img alt="tables 1" width="617" height="89" style="margin:0;width:617px;height:89px;border:none" src="hmfile_hash_5b7771a9.png"/></p>
<p style="line-height: 1.20; margin: 14px 0 0 31px;">In the <span style="font-weight: bold;">Template</span> field, enter a text that users will see on the form, for example, <span style="font-weight: bold;">Order total</span>.</p>
<p style="line-height: 1.20; margin: 14px 0 0 31px;">Click on the <span style="font-weight: bold;">{+}</span> icon to add the total value of the corresponding column. This option is available if the table has already been created and configured. Otherwise, you can add only the number of table rows.</p>
<p style="line-height: 1.20;"><a id="table_settings" class="hmanchor"></a></p>
<ul style="list-style-type:disc">
<li style="line-height: 1.20;"> <span style="font-weight: bold;">Use one header for all nested tables</span>.<span style="font-weight: bold;"> </span>You can create a table inside another table. By default, each row of a nested table will have a header. If you want the header to appear only under the parent column header, enable this option. &nbsp;</li><li style="line-height: 1.20;"><span style="font-weight: bold;">Table Settings</span>.<span style="font-weight: bold;"> </span>Click this link to go to the table display settings. You can read more about them in <a href="table-visibility.html" class="topiclink">Table settings</a>. </li></ul>
<h2 class="p_Heading2"><span class="f_Heading2">Add a column to the table</span></h2>
<p class="p_Normal" style="line-height: 1.20; margin: 19px 0 0 0;">In a table, you can add columns and specify what type of data they will contain, create auto-complete formulas.</p>
<p class="p_Normal" style="line-height: 1.20; margin: 14px 0 0 0;">To add a new column, <a href="360010201779.html#table_settings" class="topiclink">in the table settings window</a> click the <span style="font-weight: bold;">+</span> icon.</p>
<p class="p_Normal" style="line-height: 1.20; margin: 14px 0 0 0;"> <span class="f_ImageCaption"> <img alt="tables 2" width="424" height="313" style="margin:0;width:424px;height:313px;border:none" src="hmfile_hash_32983fb3.png"/></span></p>
<p class="p_Normal" style="line-height: 1.20; margin: 14px 0 0 0;">Select column type: </p>
<ul style="list-style-type:disc">
<li style="line-height: 1.20;"><a href="360010201779.html#data_column" class="topiclink">Data</a>.<span style="font-weight: bold;"> </span>Each column can contain data of only one type. For example, only numbers, email addresses, or app items. You can choose any of the standard BRIX data types. For a detailed description of each type see <a href="360009707032.html" class="topiclink">System data types</a>. &nbsp;</li></ul>
<ul style="list-style-type:disc">
<li style="line-height: 1.20;"><a href="360010201779.html#formula_column" class="topiclink">Formula</a>. This option is available only for such data types as <span style="font-weight: bold;">String</span>, <span style="font-weight: bold;">Money</span> or <span style="font-weight: bold;">Number</span>. It allows you to specify a formula for calculating the value in each row of a column. These rows cannot be filled out manually. A formula may include constants, operators, links.</li></ul>
<p style="line-height: 1.20; margin: 14px 0 0 0;">A constant is a fixed value; it is not calculated, but always stays the same. It can be a number or a text. String constants should be written in double quotation marks.</p>
<p style="line-height: 1.20; margin: 14px 0 0 0;">Operators are used to perform arithmetic operations and return numerical values. You can add, subtract, multiply, and divide numbers using the following operators: +, -, *, and /. Parentheses () are used to set the priority of mathematical operations.</p>
<p style="line-height: 1.20; margin: 14px 0 0 0;">Links allow making reference to other table columns or to the app<span style="font-size: 15px; font-family: Calibri,Vectora,'Droid Sans','Open Sans',Frutiger,sans-serif;"></span>s fields. </p>
<h3 class="p_Heading3" style="line-height: 1.20; margin: 19px 0 0 0;"><a id="data_column" class="hmanchor"></a><span class="f_Heading3" style="font-size: 19px;">Data type column</span></h3>
<p class="p_Normal" style="line-height: 1.20; margin: 19px 0 0 0;"><img alt="tables 3" width="951" height="542" style="margin:0;width:951px;height:542px;border:none" src="hmfile_hash_c2d26992.gif"/></p>
<p class="p_Normal" style="line-height: 1.20; margin: 14px 0 0 0;">To create a column, enter the following information: </p>
<ul style="list-style-type:disc">
<li class="p_Normal" style="line-height: 1.20; margin-top: 14px; margin-right: 0; margin-bottom: 0;"><span style="font-weight: bold;">Display Name</span><span style="font-weight: bold; color: #ff0000;">*</span>. The name of the column that will be displayed on the create, view, and edit forms of an app item.</li><li class="p_Normal" style="line-height: 1.20; margin-top: 14px; margin-right: 0; margin-bottom: 0;"><span style="font-weight: bold;">Property Name</span><span style="font-weight: bold; color: #ff0000;">*</span>. The name of the property used when working with the API, scripts, and templates. The name is generated automatically, but you can change it if necessary.</li><li class="p_Normal" style="line-height: 1.20; margin-top: 14px; margin-right: 0; margin-bottom: 0;"><span style="font-weight: bold;">Tip</span>. An explanatory text or an additional description that will be displayed as a tooltip when you hover over the column heading.</li><li class="p_Normal" style="line-height: 1.20; margin-top: 14px; margin-right: 0; margin-bottom: 0;"><span style="font-weight: bold;">Type</span><span style="font-weight: bold; color: #ff0000;">*</span>.<span style="font-weight: bold;"> </span>The data <a href="360009707032.html" class="topiclink">type</a> used in this column. For example, by selecting the <span style="font-weight: bold;">String</span> type you will be able to fill the column with any text information.</li></ul>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">начало&nbsp;внимание</span></p>
<p style="line-height: 1.20; margin: 14px 0 0 0;">If you select <span style="font-weight: bold;">S</span><span style="font-weight: bold;">tring</span>, <span style="font-weight: bold;">Money</span> or <span style="font-weight: bold;">N</span><span style="font-weight: bold;">umber</span> data types, you will be able to calculate the column total. For the <span style="font-weight: bold;">M</span><span style="font-weight: bold;">oney</span> and <span style="font-weight: bold;">N</span><span style="font-weight: bold;">umber</span> data types, you can calculate the sum, maximum, minimum, or average. For the <span style="font-weight: bold;">String</span> type, you will be able to add a caption.</p>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">конец&nbsp;внимание</span></p>
<h3 class="p_Heading3" style="line-height: 1.20; margin: 19px 0 0 0;"><a id="formula_column" class="hmanchor"></a><span class="f_Heading3" style="font-size: 19px;">Formula type column</span></h3>
<p class="p_Normal" style="line-height: 1.20; margin: 19px 0 0 0;">To understand formulas better, consider the following example.</p>
<p class="p_Normal" style="line-height: 1.20; margin: 14px 0 0 0;">An employee enters order details in a table on the <span style="font-weight: bold;">Orders</span> app form. He or she specifies the name of the product, its quantity, and the price per unit. The total price for each table item can be calculated automatically via a formula, by multiplying the unit price and the quantity of the product.</p>
<p class="p_Normal" style="line-height: 1.20; margin: 14px 0 0 0;">Create a column of the <span style="font-weight: bold;">Formula</span> type where the quantity will be automatically multiplied by the price.</p>
<p class="p_Normal" style="line-height: 1.20; margin: 14px 0 0 0;">To do so, click the <span style="font-weight: bold;">+</span> icon and select <span style="font-weight: bold;">Formula</span>. &nbsp;</p>
<p class="p_Normal" style="line-height: 1.20; margin: 14px 0 0 0;"><img alt="tables 4" width="949" height="573" style="margin:0;width:949px;height:573px;border:none" src="hmfile_hash_f30ab24b.gif"/></p>
<p class="p_Normal" style="line-height: 1.20; margin: 14px 0 0 0;">In the provided window, configure the <span style="font-weight: bold;">Formula</span> settings. First, create a name, for example, <span style="font-weight: bold;">Total cost</span>. </p>
<p class="p_Normal" style="line-height: 1.20; margin: 14px 0 0 0;">In the <span style="font-weight: bold;">Formula</span> field, click the <span style="font-weight: bold;">{+}</span> icon. In the drop-down list, you will see the names of other columns and app fields. Select <span style="font-weight: bold;">Quantity</span> (link to the second column) and <span style="font-weight: bold;">Price</span> (link to the third column). Add the <span style="font-weight: bold;">* </span>operator to multiply the contents of the second and the third columns.</p>
<p class="p_Normal" style="line-height: 1.20; margin: 14px 0 0 0;">In the <span style="font-weight: bold;">Type</span><span style="font-weight: bold; color: #ff0000;">*</span> field, select <span style="font-weight: bold;">Money</span>, as the column will show the total cost for each order position.</p>
<p class="p_Normal" style="line-height: 1.20; margin: 14px 0 0 0;">Note that the types of fields you can add to the formula depend on the type selected for the column. To add a field, click <span style="font-size: 15px; font-family: Inter; font-weight: bold; color: #394149;">{+} </span><span style="font-size: 15px; font-family: Inter; color: #394149;">and select a variable in the drop-down list. For a </span><span style="font-size: 15px; font-family: Inter; font-weight: bold; color: #394149;">String</span><span style="font-size: 15px; font-family: Inter; color: #394149;"> type column, you can only use fields of the </span><span style="font-size: 15px; font-family: Inter; font-weight: bold; color: #394149;">String</span><span style="font-size: 15px; font-family: Inter; color: #394149;"> type in the formula. For a </span><span style="font-size: 15px; font-family: Inter; font-weight: bold; color: #394149;">Number</span><span style="font-size: 15px; font-family: Inter; color: #394149;"> type column, you can only add </span><span style="font-size: 15px; font-family: Inter; font-weight: bold; color: #394149;">Number</span><span style="font-size: 15px; font-family: Inter; color: #394149;"> type fields. If you select a variable of a different type, the formula wont be validated. However, for a </span><span style="font-size: 15px; font-family: Inter; font-weight: bold; color: #394149;">Money</span><span style="font-size: 15px; font-family: Inter; color: #394149;"> type column, you can use the </span><span style="font-size: 15px; font-family: Inter; font-weight: bold; color: #394149;">Money*Number</span><span style="font-size: 15px; font-family: Inter; color: #394149;"> combination, that is, you can multiply the value of a </span><span style="font-size: 15px; font-family: Inter; font-weight: bold; color: #394149;">Money</span><span style="font-size: 15px; font-family: Inter; color: #394149;"> type field by the value of a </span><span style="font-size: 15px; font-family: Inter; font-weight: bold; color: #394149;">Number</span><span style="font-size: 15px; font-family: Inter; color: #394149;"> type field.</span></p>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">начало&nbsp;внимание</span></p>
<p style="line-height: 1.20; margin: 14px 0 0 0;">For a <span style="font-weight: bold;">Formula</span> type column, BRIX can show the total in the footer. Click the footer. In the drop-down list, select the function you need: text, total, maximum, minimum, or average.</p>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">конец&nbsp;внимание</span></p>
<p style="line-height: 1.28; margin: 0 0 11px 0;"><span style="font-size: 15px; font-family: Calibri,Vectora,'Droid Sans','Open Sans',Frutiger,sans-serif;">Now when an employee fills out the table, he or she will only need to select a product and enter the quantity, and the total cost will be calculated automatically.</span></p>
<p style="line-height: 1.20; margin: 14px 0 0 0;"><a class="dropdown-toggle" style="font-style: normal; font-weight: normal; color: #000000; background-color: transparent; text-decoration: none;" href="javascript:HMToggle('toggle','TOGGLE0186A1')">Example of a configured table</a></p>
<div id="TOGGLE0186A1" class="dropdown-toggle-body" style="text-align: left; text-indent: 0; padding: 0 0 0 0; margin: 14px 0 0 0;"><table style="border:none; border-spacing:0;">
<tr>
<td style="vertical-align:top; padding:0; border:none"><p class="p_Normal"><img alt="tables ex" width="798" height="572" style="margin:0;width:798px;height:572px;border:none" src="hmfile_hash_14038d85.gif"/></p>
</td>
</tr>
</table>
</div>
<h2 class="p_Heading2"><span class="f_Heading2">Delete columns or rows from a table</span></h2>
<p style="line-height: 1.28; margin: 0 0 11px 0;"><span style="font-size: 13px; font-family: Inter; color: #394149;">To delete a column, open the table settings window. Click the gear icon next to the name of the column you want to delete. A pop-up window will open. In the bottom right corner, click the recycle bin icon and confirm deletion.</span></p>
<p style="line-height: 1.28; margin: 0 0 11px 0;"><img alt="tables-7" width="527" height="456" style="margin:0;width:527px;height:456px;border:none" src="tables-7.png"/></p>
<p style="line-height: 1.28; margin: 0 0 11px 0;"><span style="font-size: 13px; font-family: Inter; color: #394149;">If you want to delete a row in a table, you can do it on the apps create or edit form. Hover over the row you want to delete. Then click the recycle bin icon that appears on the left. Alternatively, you can use the </span><span style="font-size: 13px; font-family: Inter; font-weight: bold; color: #394149;">Сtrl + Delete</span><span style="font-size: 13px; font-family: Inter; color: #394149;"> keyboard shortcut to delete a row you select.</span></p>
<p style="line-height: 1.28; margin: 0 0 11px 0;"><img alt="tables-8" width="560" height="216" style="margin:0;width:560px;height:216px;border:none" src="tables-8.png"/></p>
<p style="line-height: 1.28; margin: 0 0 11px 0;"><span style="font-size: 13px; font-family: Inter; color: #394149;">Note that if the table includes columns with the </span><span style="font-size: 13px; font-family: Inter; font-weight: bold; color: #394149;">Read only</span><span style="font-size: 13px; font-family: Inter; color: #394149;"> option enabled, you wont be able to delete rows. You can change this by opening the <a href="table-visibility.html#generalsettings" class="topiclink">table settings</a> and checking the </span><span style="font-size: 13px; font-family: Inter; font-weight: bold; color: #394149;">Allow deleting rows with read-only cells</span><span style="font-size: 13px; font-family: Inter; color: #394149;"> box.</span></p>
<h2 class="p_Heading2"><span class="f_Heading2">Add data from another app to the table </span></h2>
<p class="p_Normal" style="line-height: 1.20; margin: 19px 0 0 0;">When creating a table, you might need to refer to data from another app. Suppose you keep records of all stock items in the <span style="font-weight: bold;">Stock List</span> app, and all customer orders are accounted for in the <span style="font-weight: bold;">Orders</span> app. You can add a table to the order form, in which employees can select stock items from the drop-down list. At the same time, BRIX will automatically retrieve the item price from the <span style="font-weight: bold;">Stock List</span> app and display it in the table.</p>
<p class="p_Normal" style="line-height: 1.20; margin: 14px 0 0 0;">To do this, <a href="360010201779.html#addingtabletoappform" class="topiclink">add a Table type field</a> to the <span style="font-weight: bold;">Orders</span> app form. Then, in the table settings, create the <a href="360010201779.html#data_column" class="topiclink">Data column</a>. In the <span style="font-weight: bold;">Type</span> field, select <span style="font-weight: bold;">App </span>and add a link to the <span style="font-weight: bold;">Stock List</span> app. The column name is filled in automatically and matches the name of the app item.</p>
<p class="p_Normal" style="line-height: 1.20; margin: 14px 0 0 0;"><img alt="tables 5" width="527" height="419" style="margin:0;width:527px;height:419px;border:none" src="hmfile_hash_76fb2a1a.png"/></p>
<p class="p_Normal" style="line-height: 1.20; margin: 14px 0 0 0;">Once you've completed the settings, save the table. On the app form, you will see a table that will refer to the items of the <span style="font-weight: bold;">Stock List</span> app. By clicking on the cell in the <span style="font-weight: bold;">Product </span>column, an employee can select a product.</p>
<p style="line-height: 1.20; margin: 7px 0 16px 0;"><span style="font-size: 13px; font-family: Inter; color: #394149;">The </span><span style="font-size: 13px; font-family: Inter; font-weight: bold; color: #394149;">Stock List</span><span style="font-size: 13px; font-family: Inter; color: #394149;"> app also stores each products price. You can add a <a href="360010201779.html#formula_column" class="topiclink">Formula</a> type column to the table and configure it so that the information about the price is displayed automatically. The employee will only need to select the products name.</span></p>
<p style="line-height: 1.28; margin: 0 0 11px 0;"><span style="font-size: 13px; font-family: Inter; color: #394149;">To do this, add a </span><span style="font-size: 13px; font-family: Inter; font-weight: bold; color: #394149;">Formula</span><span style="font-size: 13px; font-family: Inter; color: #394149;"> type column. In the column creation window, in the </span><span style="font-size: 13px; font-family: Inter; font-weight: bold; color: #394149;">Formula</span><span style="font-size: 13px; font-family: Inter; color: #394149;"> field, click the </span><span style="font-size: 13px; font-family: Inter; font-weight: bold; color: #394149;">{+} </span><span style="font-size: 13px; font-family: Inter; color: #394149;">icon. In the drop-down list, you will see the names of other columns and app fields. Select </span><span style="font-size: 13px; font-family: Inter; font-weight: bold; color: #394149;">Product </span><span style="font-size: 13px; font-family: Inter; color: #394149;">(link to the first column), then </span><span style="font-size: 13px; font-family: Inter; font-weight: bold; color: #394149;">Price per unit</span><span style="font-size: 13px; font-family: Inter; color: #394149;"> (property).</span></p>
<p class="p_Normal" style="line-height: 1.20; margin: 14px 0 0 0;"><img alt="tables 6" width="631" height="498" style="margin:0;width:631px;height:498px;border:none" src="hmfile_hash_6e14a91f.png"/></p>
<p class="p_Normal" style="line-height: 1.20; margin: 14px 0 0 0;">Now, instead of entering this information into the form manually, the employee will open a drop-down list, select and item, and the system will automatically show its price.</p>
<h2 style="line-height: 1.20;"><span style="font-size: 13px; color: #000000;">&nbsp;</span></h2>
<h2 class="p_Heading2"><span class="f_Heading2">Provide access to a file in a table</span></h2>
<p style="line-height: 1.20;"><span style="font-size: 15px; color: #394149;">Take a look at the following example:</span></p>
<ul style="list-style-type:disc">
<li style="line-height: 1.20;"><span style="font-size: 15px; color: #394149;">there is a </span><span style="font-size: 15px; font-weight: bold; color: #394149;">Table</span><span style="font-size: 15px; color: #394149;">-type field added to an app item form;</span></li><li style="line-height: 1.20;"><span style="font-size: 15px; font-weight: bold; color: #394149;">File</span><span style="font-size: 15px; color: #394149;">-type data is used in the table's column;</span></li><li style="line-height: 1.20;"><span style="font-size: 15px; color: #394149;">during a business process, a user is given </span><span style="font-size: 15px; color: #394149;"><a href="assign_permissions.html" class="topiclink">permissions to the app item</a> but they cannot view the file in the table</span><span style="font-size: 15px; color: #394149;">.</span></li></ul>
<p style="line-height: 1.20;"><span style="font-size: 15px; color: #394149;">In this case, you can use a script and the </span><span style="font-weight: bold; color: #394149;">.setPermissions() </span><span style="color: #394149;">method</span><span style="font-size: 15px; color: #394149;"> to provide access to the file.</span></p>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">начало&nbsp;внимание</span></p>
<p style="line-height: 1.20;"><span style="color: #394149;">The Administrator always has access to files regardless of access permissions.</span></p>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">конец&nbsp;внимание</span></p>
<p class="p_Normal">Script example:</p>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">async</span><span class="f_CodeExample" style="color: #ffffff;">&nbsp;</span><span class="f_CodeExample">function</span><span class="f_CodeExample" style="color: #ffffff;">&nbsp;</span><span class="f_CodeExample">setPerm():</span><span class="f_CodeExample" style="color: #ffffff;">&nbsp;</span><span class="f_CodeExample">Promise&lt;</span><span class="f_CodeExample" style="font-weight: bold;">void</span><span class="f_CodeExample">&gt;</span><span class="f_CodeExample" style="color: #ffffff;">&nbsp;</span><span class="f_CodeExample">{</span><br />
<span class="f_CodeExample">&nbsp;</span><br />
<span class="f_CodeExample" style="font-style: italic;">//&nbsp;Find&nbsp;the&nbsp;current&nbsp;user</span><br />
<span class="f_CodeExample" style="font-weight: bold;">const</span><span class="f_CodeExample" style="color: #ffffff;">&nbsp;</span><span class="f_CodeExample">user</span><span class="f_CodeExample" style="color: #ffffff;">&nbsp;</span><span class="f_CodeExample">=</span><span class="f_CodeExample" style="color: #ffffff;">&nbsp;</span><span class="f_CodeExample">await</span><span class="f_CodeExample" style="color: #ffffff;">&nbsp;</span><span class="f_CodeExample">System.users.getCurrentUser();</span><br />
<span class="f_CodeExample">&nbsp;</span><br />
<span class="f_CodeExample" style="font-style: italic;">//&nbsp;Get&nbsp;the&nbsp;current&nbsp;app&nbsp;item</span><br />
<span class="f_CodeExample">let</span><span class="f_CodeExample" style="color: #ffffff;">&nbsp;</span><span class="f_CodeExample">app</span><span class="f_CodeExample" style="color: #ffffff;">&nbsp;</span><span class="f_CodeExample">=</span><span class="f_CodeExample" style="color: #ffffff;">&nbsp;</span><span class="f_CodeExample">await</span><span class="f_CodeExample" style="color: #ffffff;">&nbsp;</span><span class="f_CodeExample">Context.data.order.fetch();</span><br />
<span class="f_CodeExample">&nbsp;</span><br />
<span class="f_CodeExample" style="color: #ffffff;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="f_CodeExample" style="font-style: italic;">//&nbsp;Process&nbsp;each&nbsp;row&nbsp;with&nbsp;a&nbsp;cycle</span><br />
<span class="f_CodeExample" style="color: #ffffff;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="f_CodeExample" style="font-weight: bold;">for</span><span class="f_CodeExample" style="color: #ffffff;">&nbsp;</span><span class="f_CodeExample">(let</span><span class="f_CodeExample" style="color: #ffffff;">&nbsp;</span><span class="f_CodeExample">i</span><span class="f_CodeExample" style="color: #ffffff;">&nbsp;</span><span class="f_CodeExample">=</span><span class="f_CodeExample" style="color: #ffffff;">&nbsp;</span><span class="f_CodeExample">app.data.table!.length</span><span class="f_CodeExample" style="color: #ffffff;">&nbsp;</span><span class="f_CodeExample">-</span><span class="f_CodeExample" style="color: #ffffff;">&nbsp;</span><span class="f_CodeExample">1;</span><span class="f_CodeExample" style="color: #ffffff;">&nbsp;</span><span class="f_CodeExample">i</span><span class="f_CodeExample" style="color: #ffffff;">&nbsp;</span><span class="f_CodeExample">&gt;=</span><span class="f_CodeExample" style="color: #ffffff;">&nbsp;</span><span class="f_CodeExample">0;</span><span class="f_CodeExample" style="color: #ffffff;">&nbsp;</span><span class="f_CodeExample">i--)</span><span class="f_CodeExample" style="color: #ffffff;">&nbsp;</span><span class="f_CodeExample">{</span><br />
<span class="f_CodeExample" style="color: #ffffff;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="f_CodeExample" style="font-weight: bold;">const</span><span class="f_CodeExample" style="color: #ffffff;">&nbsp;</span><span class="f_CodeExample">row</span><span class="f_CodeExample" style="color: #ffffff;">&nbsp;</span><span class="f_CodeExample">=</span><span class="f_CodeExample" style="color: #ffffff;">&nbsp;</span><span class="f_CodeExample">app.data.table![i];</span><br />
<span class="f_CodeExample" style="color: #ffffff;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><br />
<span class="f_CodeExample" style="color: #ffffff;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="f_CodeExample" style="font-style: italic;">//&nbsp;Check&nbsp;if&nbsp;a&nbsp;row&nbsp;stores&nbsp;a&nbsp;file.&nbsp;Here&nbsp;you&nbsp;can&nbsp;specify&nbsp;other&nbsp;data&nbsp;for&nbsp;providing&nbsp;access&nbsp;to&nbsp;the&nbsp;file</span><br />
<span class="f_CodeExample" style="color: #ffffff;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="f_CodeExample" style="font-weight: bold;">if</span><span class="f_CodeExample" style="color: #ffffff;">&nbsp;</span><span class="f_CodeExample">(row.file)</span><span class="f_CodeExample" style="color: #ffffff;">&nbsp;</span><span class="f_CodeExample">{</span><br />
<span class="f_CodeExample" style="color: #ffffff;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><br />
<span class="f_CodeExample" style="color: #ffffff;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="f_CodeExample" style="font-style: italic;">//&nbsp;Create&nbsp;a&nbsp;new&nbsp;object&nbsp;of&nbsp;the&nbsp;Tpermissions&nbsp;type&nbsp;with&nbsp;permissions&nbsp;to&nbsp;read&nbsp;and&nbsp;delete.&nbsp;Give&nbsp;access&nbsp;to&nbsp;the&nbsp;user&nbsp;written&nbsp;to&nbsp;the&nbsp;user&nbsp;variable</span><br />
<span class="f_CodeExample" style="color: #ffffff;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="f_CodeExample" style="font-weight: bold;">const</span><span class="f_CodeExample" style="color: #ffffff;">&nbsp;</span><span class="f_CodeExample">permissions</span><span class="f_CodeExample" style="color: #ffffff;">&nbsp;</span><span class="f_CodeExample">=</span><span class="f_CodeExample" style="color: #ffffff;">&nbsp;</span><span class="f_CodeExample" style="font-weight: bold;">new</span><span class="f_CodeExample" style="color: #ffffff;">&nbsp;</span><span class="f_CodeExample">Permissions([</span><br />
<span class="f_CodeExample" style="color: #ffffff;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="f_CodeExample" style="font-weight: bold;">new</span><span class="f_CodeExample" style="color: #ffffff;">&nbsp;</span><span class="f_CodeExample">PermissionValue(user,</span><span class="f_CodeExample" style="color: #ffffff;">&nbsp;</span><span class="f_CodeExample">[PermissionType.DELETE,</span><span class="f_CodeExample" style="color: #ffffff;">&nbsp;</span><span class="f_CodeExample">PermissionType.READ]),</span><br />
<span class="f_CodeExample" style="color: #ffffff;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="f_CodeExample">]);</span><br />
<span class="f_CodeExample" style="color: #ffffff;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><br />
<span class="f_CodeExample" style="color: #ffffff;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="f_CodeExample" style="font-style: italic;">//&nbsp;Provide&nbsp;permissions&nbsp;to&nbsp;the&nbsp;file&nbsp;of&nbsp;each&nbsp;row</span><br />
<span class="f_CodeExample" style="color: #ffffff;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="f_CodeExample">await</span><span class="f_CodeExample" style="color: #ffffff;">&nbsp;</span><span class="f_CodeExample">row.file.setPermissions(permissions);</span><br />
<span class="f_CodeExample" style="color: #ffffff;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="f_CodeExample">}</span><br />
<span class="f_CodeExample" style="color: #ffffff;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="f_CodeExample">}</span><br />
<span class="f_CodeExample">}</span></p>
<p class="p_Normal">&nbsp;</p>
<p class="p_Normal">Note that in this example the access will only be given to the user stored in the <code><b>user</b></code> variable. All the other users will lose access to the file. To avoid that, add new permissions to the array of existing ones using methods <code><b>.getPermissions()</b></code> and <code><b>.push</b></code>. Code example:</p>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample" style="font-style: italic;">//&nbsp;get&nbsp;current&nbsp;permissions</span><br />
<span class="f_CodeExample" style="font-weight: bold;">const</span><span class="f_CodeExample" style="color: #ffffff;">&nbsp;</span><span class="f_CodeExample">currPermission</span><span class="f_CodeExample" style="color: #ffffff;">&nbsp;</span><span class="f_CodeExample">=</span><span class="f_CodeExample" style="color: #ffffff;">&nbsp;</span><span class="f_CodeExample">await</span><span class="f_CodeExample" style="color: #ffffff;">&nbsp;</span><span class="f_CodeExample">row.file.getPermissions()</span><br />
<span class="f_CodeExample">&nbsp;</span><br />
<span class="f_CodeExample" style="font-style: italic;">//&nbsp;create&nbsp;access&nbsp;object</span><br />
<span class="f_CodeExample" style="font-weight: bold;">const</span><span class="f_CodeExample" style="color: #ffffff;">&nbsp;</span><span class="f_CodeExample">NewPermission</span><span class="f_CodeExample" style="color: #ffffff;">&nbsp;</span><span class="f_CodeExample">=</span><span class="f_CodeExample" style="color: #ffffff;">&nbsp;</span><span class="f_CodeExample" style="font-weight: bold;">new</span><span class="f_CodeExample" style="color: #ffffff;">&nbsp;</span><span class="f_CodeExample">PermissionValue(user,</span><span class="f_CodeExample" style="color: #ffffff;">&nbsp;</span><span class="f_CodeExample">[PermissionType.DELETE,</span><span class="f_CodeExample" style="color: #ffffff;">&nbsp;</span><span class="f_CodeExample">PermissionType.READ]);</span><br />
<span class="f_CodeExample">&nbsp;</span><br />
<span class="f_CodeExample" style="font-style: italic;">//&nbsp;Add&nbsp;access&nbsp;object&nbsp;to&nbsp;the&nbsp;existing&nbsp;access&nbsp;permissions&nbsp;for&nbsp;the&nbsp;file</span><br />
<span class="f_CodeExample">currPermission.values.push(NewPermission);</span><br />
<span class="f_CodeExample">await</span><span class="f_CodeExample" style="color: #ffffff;">&nbsp;</span><span class="f_CodeExample">AppFetch.setPermissions(currPermission);</span></p>
<div class="bottom-nav">
<a id="prev-link" class="topic__navi_prev" href="360009707032.html">
<span class="bottom-nav__arrow bottom-nav__arrow--prev"></span> <span
class="bottom-nav__link">360009707032.html</span>
</a>
<a id="next-link" class="topic__navi_next" href="table-visibility.html">
<span class="bottom-nav__link">table-visibility.html</span> <span
class="bottom-nav__arrow bottom-nav__arrow--next"></span>
</a>
</div>
<!-- добавляет на страницу строку блок Была ли статья полезной? -->
<div class="feedback" id="feedback"><div class="feedback-help"><span><b>Was this helpful?</b></span><form action="" method="POST" class="feedback-form" id="feedback-form"><div class="feedback__popup feedback__popup-response" id="feedback__popup_thx" style="display: none;">Thanks for your feedback!</div><div class="feedback__popup" id="feedback__popup_why" style="display: none;"><div class="feedback__popup-header">Please specify why:</div><input type="radio" name="category" id="bad_recommendation" value="bad_recommendation"><label for="bad_recommendation">Recommendations did not help me</label><input type="radio" name="category" id="difficult_text" value="difficult_text"><label for="difficult_text">Article is hard to understand</label><input type="radio" name="category" id="no_answer" value="no_answer"><label for="no_answer">Didn`t answer my question</label><input type="radio" name="category" id="bad_header" value="bad_header"><label for="bad_header">Content does not match the topic</label><input type="radio" name="category" id="other_reason" value="other_reason"><label for="other_reason">Other</label></div><div class="feedback__popup" id="feedback__popup-other" style="display: none;"><div class="feedback__popup-header">How we can improve it?</div><textarea class="feedback__textarea" name="other" id=""></textarea><input type="submit" class="feedback__other-btn" value="Submit"></div><div class="feedback-form__btn-group"><input type="radio" name="useful" id="feedback__useful_yes" value="true"><label for="feedback__useful_yes"><img src="like.svg" class="small-img" alt="like"><spanclass="feedback-form__btn-group_yes-btn">Yes</spanclass="feedback-form__btn-group_yes-btn"></label><input type="radio" name="useful" id="feedback__useful_no" value="false"><label for="feedback__useful_no"><img src="dislike.svg" class="small-img" alt="dislike"><spanclass="feedback-form__btn-group_no-btn">No</spanclass="feedback-form__btn-group_no-btn"></label></div><select name="category"><option disabled="">Please specify why</option><option value="bad_recommendation" selected="">Recommendations did not help me</option><option value="difficult_text">Article is hard to understand</option><option value="no_answer">Didn`t answer my question</option><option value="bad_header">Content does not match the topic</option><option value="other_reason">Other</option></select><input type="submit"></form></div><div class="found_typo"><p style="margin: 0px; margin-top: 16px !important;"><span><b>Found a typo?</b></span> Select it and press <i>Ctrl+Enter</i> to send us feedback</p></div></div>
</section>
</div>
<aside class="article__sidebar" style="display:none">
<input type="checkbox" />
<div class="article__arrow"></div>
<div class="table-of-contents elma365-right" id="toc2Content">
<h3 class="h3-toc">In this topic</h3>
<nav id="toc2"></nav>
</div>
</aside>
</div>
</article>
</main>
<footer class="footer">
<div class="footer-container">
<div class="footer-mobile">
<ul class="footer-mobile__list"><li><a href="https://brix365.com/en/" target="_blank">BRIX</a></li><li><a href="https://tssdk.brix365.com/en/latest/" target="_blank">SDK</a></li><li><a href="https://api.brix365.com/en/" target="_blank">API</a></li></ul><ul class="footer-mobile__list"><li><a href="https://brix365.com/en/help/platform/get-trial.html">Platform</a></li><li><a href="https://brix365.com/en/help/ecm/ecm-functions.html">ECM</a></li><li><a href="https://brix365.com/en/help/service/service-functions.html">Service</a></li><li><a href="https://brix365.com/en/help/projects/projects-functions.html">Projects</a></li></ul>
</div>
<div class="footer-wrap">
<div><span class="mobile-question-popup">Send feedback</span><form method="POST" action class="question__popup question-xs" id="question__popup"><div class="question-wrap"><span class="close"></span><span class="title">Ask a question</span><label for="help_question" style="display: none;"></label><textarea name="help_question" id="help_question"></textarea><input type="submit" value="Send"></div></form><div class="hidden fade-in question-success-xs">Sent</div></div>
<div class="footer-flex-b">
<span class="footer-copy">&copy; 2025 BRIX</span>
<ul class="footer-list">
<li class="footer-item">
<a href="#" class="arrow-top" style="display: block;"></a>
</li>
</ul>
</div>
</div>
</div>
</footer>
<iframe name="hmnavigation" style="display:none!important"></iframe>
<script src="./jquery-ui.js"></script>
<!--script src="//cdn.jsdelivr.net/npm/featherlight@1.7.14/release/featherlight.min.js" type="text/javascript" charset="utf-8"></script-->
<script src="./jquery.tocify.min.js"></script>
<script src="./TypoReporter.min.js"></script>
<script src="./google-search.js"></script>
<script src="./main.js"></script>
<script type="text/javascript">
HMInitToggle('TOGGLE0186A1','hm.type','dropdown','hm.state','0');
</script>
</body>
</html>