Небольшие строки.
Хранит строковое значение любой длины или null.
В поле отображается простой строкой. Длина показываемого обрезается в зависимости от заданной ширины поля.
На клиент передается полностью, поэтому для хранения строковых данных больших размеров рекомендуется использовать поле Текст.
Особенности и настройки:
Хранение чисел.
Хранит десятичное число с заданным количеством десятичных знаков (до 10) или null. Если в результате расчетов получается хвост больше 10 знаков, то непопадающие знаки отбрасываются без округления.
Отображается числовым значением в ячейке. Стандартный десятичный разделитель — .
При включенном параметре денежный формат выводится с десятичным разделителем и разделителями между тысячами в зависимости от выбранного вида.
Редактируется простым полем ввода с ограничением на ввод нечисловых значений. Возможен ввод ,
или .
для дробей.
При редактировании можно задать изменение относительно предыдущего значения:
+1
— увеличивает число на один.+-1
— уменьшает число на один (если задать -1
, будет сохранено отрицательное число -1
).*2
— умножает на 2./2
— делит на 2.+2%
— добавляет 2% (%
можно использовать во всех перечисленных операциях).При изменении значения поля через функции set и setList также можно использовать математические операторы.
// В таблице table_name значение числового поля number_field в строке с id = 1 будет увеличено на 2:
example1: set(table: 'table_name'; field: 'number_field' + 2; where: 'id' = 1)
// В таблице table_name значение числового поля number_field в строке с id = 1 будет увеличено на 2%:
example2: set(table: 'table_name'; field: 'number_field' + 2%; where: 'id' = 1)
Особенности и настройки:
Максимум 10 разрядов поле точки! Все цифры после будут отброшены без округлени (cut).
Если из внешней системы приходит число в экспонентной записи
2,3е+15
то оно переводится в формат тотума функцией numFormat. Максимальный размер такого числа до точки 17 разрядов (в том числе на промежуточном результате вычислени)! При превышении на 64-разрядной машине итоговый результат будет случайным числом.
Поля, связывающие таблицы. В ячейке хранится id
или кодовое значение
, отображение к которому хранится и меняется в таблице-источнике.
Также можно использовать собственные связки ключ-значение при помощи Ручного создания селекта (values)
Результатом работы функции selectRowListForSelect является список ассоциированных массивов вида:
[{"value":45,"is_del":true,"title":"Закупка материалов и склад"}}]
Где:
value — значение элемента.
is_del — является ли элемент удаленным (если true, он зачеркивается в интерфейсе, необязательный параметр).
title — отображаемое значение.
Из секции код селекта можно вернуть список такого вида (is_del
можно опустить) и селект будет построен по переданным данным.
Содержимое:
Строковое значение любой длины или null для простого селекта.
Cписок или пустой список (для мультиселекта). Может быть null в случае непересчитанной строки простой таблицы при добавлении поля.
В веб интерфейсе:
Отображается в виде строки, перечисления или количества выбранных элементов.
В админском интерфейсе можно посмотреть основание или ключ внизу всплывающей панели по клику правой кнопки мыши в поле.
Для поиска значений работают режимы поиска.
Особенности и настройки:
При выборке строк в select-функциях select, selectList, selectRowList итд с в where:
нужно подставлять значение именно ключа, а не отображения. Аналогично для order:
.
Единица измерения (unitType).
Максимальное количество выводимых элементов (selectLength).
Код селекта (codeSelect).
Индивидуальный расчет селекта для каждой строки (codeSelectIndividual).
Множественные значения (multiple).
Выводить на печать текст целиком (printTextfull).
Отображение множественного селекта в ячейке (multySelectView).
Заголовок селекта с пустым значением (withEmptyVal).
Таблица селекта для изменения (selectTable).
Панель селекта для изменения (selectTableAction).
Ручное создание селекта (values).
При использовании селекта в фильтре:
Все (*ALL*) (selectFilterWithAll).
Название для опции Все (*ALL*) (selectFilterWithAllText).
Ничего (*NONE*) (selectFilterWithNone).
Название для опции Ничего (*NONE*) (selectFilterWithNoneText).
Пустое () (selectFilterWithEmpty).
Название для опции Пустое () (selectFilterWithEmptyText).
Поля, связывающие таблицы. В ячейке хранится id
, имя к которому хранится и меняется в таблице-источнике.
Данные в таблице-источники должны быть организованы в иерархическую структуру, с полем, хранящим значение id
родительской строки либо null в случае, если это запись верхнего уровня.
Name
этого поля записывается в параметр parent:
функции selectRowListForTree.
Результатом работы функции selectRowListForTree является список ассоциированных массивов вида:
[{"value":45,"is_del":true,"title":"Закупка материалов и склад","parent":"35"}}]
Где:
value — значение элемента.
is_del — является ли элемент удаленным (если true, он зачеркивается в интерфейсе, необязательный параметр).
title — отображаемое значение.
parent — value
родительского элемента или null в случае, если текущий элемент верхнего уровня.
Из секции код селекта можно вернуть список такого вида (is_del
можно опустить) и дерево будет построено по переданным данным.
Содержимое:
Строковое значение любой длины или null для простого селект-дерева.
Cписок или пустой список (для мульти-дерева). Может быть null в случае непересчитанной строчки простой таблицы при добавлении поля.
Веб-интерфейс:
Отображается в виде строки, перечисления или количества выбранных элементов. Также может выводить пути выбранных элементов.
Редактирование осуществляется выбором элементов во всплывающем окне.
В админском интерфейсе можно посмотреть основание или ключ внизу всплывающей панели по клику правой кнопки мыши в поле.
Для поиска значений работают режимы поиска.
Особенности и настройки:
Расчет дерева — ресурсоемкая операция. Не стоит делать дерево из данных таблиц свыше 2 000 элементов!
Индивидуальный расчет селекта для каждой строки (codeSelectIndividual).
Множественные значения (multiple).
Выводить на печать текст целиком (printTextfull).
Отображение множественного селекта в ячейке (multySelectView).
Отображать путь в ячейке (treeViewTypeFull).
Дерево строится по одной таблице (treeAutoTree).
Папки можно выбирать (treeSelectFolders).
Заголовок селекта с пустым значением (withEmptyVal).
Таблица селекта для изменения (selectTable).
Панель селекта для изменения (selectTableAction).
Ручное создание селекта (values).
Поле-галочка. Хранит значения типа true
или false
.
Может быть в трех состояниях:
null
— не заполненное.true
— ✓false
— -Веб-интерфейс:
✓
или -
.Особенности и настройки:
null
или любое другое кроме true
или false
.В строчной части таблиц со строчной единицей пересчета при добавлении поля в базу будет произведено присвоение значения false
всем строкам таблицы. Если необходимо этого избежать и добавить поле со значением null
добавьте сначала поле с типом Строка
, а потом измените его на Чекбокс
.
Хранит дату и время.
Хранит дату в формате Y-m-d
(например, 2018-12-31
), дату-время в формате Y-m-d H:i
(например, 2018-12-31 23:59
) или null.
Отображается в ячейке в виде d.m.y
/d.m.y H:i
либо так, как задано в параметре формат вывода в интерфейс даты/времени.
Редактируется через виджет datetimepicker
либо прямой вставкой в поле ввода нужной даты/времени в заданном формате (возможен ввод без знаков пунктуации).
Очистить значение можно, стерев данные в поле ввода.
Особенности и настройки:
При поиске по полю дата в select-функциях необходимо приводить строку поиска к формату, в котором поле хранит даты (Y-m-d
или Y-m-d H:i
). Даты сравниваются и сортируются как строки.
Дата-время (dateTime).
Формат вывода в интерфейс даты/времени (dateFormat).
Активный элемента-кнопка для запуска кода действия.
Отображается кнопкой.
Редактирование значения отсутствует.
Особенности и настройки:
Текст кнопки (buttonText).
Действие доступно при просмотре (pressableOnOnlyRead).
Снимать галочки после выполнения (uncheckAfterClick).
Закрыть окно после выполнения (closeIframeAfterClick).
Дублирует поле-донор, для быстрого отображения данных. Например, для вывода в таблицу циклов значений полей изнутри цикла.
Для таблиц циклов обращение из строки идет в соответствующий ей цикл.
Особенности и настройки:
linkTableName (linkTableName).
linkFieldName (linkFieldName).
Тип поля Ярлык рекомендуется использовать только в таблице циклов, для того, чтобы быстро брать данные из полей внутри цикла.
Крайне рекомендуется отказаться от использования ярлыков где-либо еще.
Не используйте обращения к строчной части.
Не используйте изнутри цикла для обращения к родительской таблице циклов.
Будьте внимательны — очень легко зациклить систему.
Строковые значения utf-8
. Возможно хранение значительных объемов данных с переносами строк.
Хранит строковое значение любой длины или null.
Отображается строкой в ячейке.
На клиент при загрузке страницы передается частично. Полная загрузка текста происходит при вызове панели по правой кнопке мыши или окна редактирования.
Редактируется в зависимости от выбранного типа редактором CodeMirror
(для большинства типов с подсветкой синтаксиса) либо редактором json
.
Особенности и настройки:
Тип текста (textType).
Ограничение видимости текста в web (viewTextMaxLength).
Выводить на печать текст целиком (printTextfull).
Поле-диалог, отмечает дату-время и пользователя, оставившего запись.
Предназначено для обмена короткими комментариями с указанием оставивших их пользователей.
Содержит список списков с данными комментариев.
При помощи кода-действия можно:
Добавить запись от текущего пользователя:
example1: set(table: 'test'; field: 'comment' = "Тестовый комментарий"; where: 'id' = 3)
Перезаписать полностью лист комментариев:
example2: set(table: $#ntn; field: 'h_kommentariy' = $list)
list: listCreate(item: $listComment1; item: $listComment2)
listComment1: listCreate(item: "2019-12-12 12:12"; item: 1; item: "Комментарий 1")
listComment2: listCreate(item: "2019-12-12 12:13"; item: 1; item: "Комментарий 2")
В случае перезаписи с изменением числа записей и дат в прошлом — механизм прочтенных сообщений работать не будет.
Веб-интерфейс:
В поле отображается строкой.
На клиент при загрузке страницы передается частично. Полная загрузка текста происходит при вызове панели по правой кнопке мыши или окна редактирования.
В поле показывается последний комментарий.
В панельке и окне редактирования комментарии расположены в порядке сверху-вниз.
Если для пользователя комментарий является непрочтенным, то он будет подчеркнут Цветом выделения.
Статус прочтен назначается ячейке при открытии ее на редактирование или вызове панели по правой кнопке мыши.
Особенности и настройки:
Дата-время (dateTime).
Ограничение видимости текста в web(viewTextMaxLength).
Цвет выделения (decorationColor).
Только в PRO-версии
Хранение файлов c сопутствующей информацией на сервере.
Хранит один или несколько файлов. Файлы лежат на сервере в папке /http/fls/youdomain.zone
и доступны через адресную строку браузера для каждого, кто знает к нему путь.
В случае расширения jpg
, jpeg
, png
будут созданы превью изображения размером 290 x Y
.
Файл хранится в папке на сервере, а поле содержит список с данными о файлах в поле.
Список поля с одним файлом содержит один элемент.
Если был установлен параметр множественные значения, а потом его выключили и пересчитали строки, лишние файлы, уже хранящиеся в поле, не удаляются.
Пример содержимого:
[
{
"size": 3131,
"ext": "gz",
"file": "587_file.gz",
"name": "wheretest.json.gz"
}
]
name — название загруженного файла.
ext — расширение, берется из названия.
size — размер в байтах.
file — имя файла из папки $TOTUM/http/fls/youdomain.zone
// Установить значение ячейки с добавлением нового текстого файла:
example: set(table: 'table_name'; field: 'field_name' = $filesData)
filesData: listCreate(item: $rowFile)
rowFile: rowCreate(field: "name" = "Добавляемый файл.txt"; field: "filestring" = "Содержимое добавляемого текстового файла")
// Установить значение ячейки с добавлением нового бинарного файла:
example2: set(table: 'table_name'; field: 'field_name' = $filesData2)
filesData2: listCreate(item: $rowFile2)
rowFile2: rowCreate(field: "name" = "Добавляемый файл.png"; field: "filestring" = "здесь бинарник")
// также возможно в base64: rowCreate(field: "name" = "Добавляемый файл.png"; field: "filestringbase64" = "здесь код в base64")
// бинарник по имени файла можно получить функцией fileGetContent
// Установить значение ячейки с добавлением нового файла в gz:
example3: set(table: 'table_name'; field: 'field_name' = $filesData3)
filesData3: listCreate(item: $rowFile3)
rowFile3: rowCreate(field: "name" = "Добавляемый файл.txt"; field: "gz" = true; field: "filestring" = "Содержимое добавляемого текстового файла")
Если использовать конструкцию
field: 'field_name' + $filesData
то при активном параметре множественные значения файл будет добавлен, а не перезаписан. Добавить можно только один файл за раз. При добавлении передаетсяrow
а неrowlist
.
Особенности и настройки:
Для обеспечения монолитности транзакции все манипуляции с файлами на диске происходят после удачного commit
в базе данных. Это значит, что файл физически запишется только после выполнения всех цепочек кодов-действий!
Для обращения к содержимому файла используйте функцию fileGetContent. Попытка взять данные через getFromScript может вернуть старое содержимое или null
.
Множественные значения (multiple).
Дублировать файл при копировании (fileDuplicateOnCopy).
Имя файла с хешем в конце (nameWithHash).
Принимает файлы mime-тип
(accept).
Если вы столкнулись с тем, что файл не загружается в поле — проверьте на сервере параметры PHP
php_admin_value[upload_max_filesize]
в настройкеpool
вphp-fpm
по путиnano /etc/php/8.3/fpm/pool.d/totum.conf
(php_admin_value[post_max_size]
в настройках пула должен быть =0
) иclient_max_body_size
в настройкахnginx
по путиnano /etc/nginx/sites-available/totum.online.conf
.Изменения применяются после перезагрузки fpm и nginx:
service php8.3-fpm restart
иservice nginx restart
.
Файлы во временных таблицах
Когда файл загружается во временную таблицу, он создается аналогично файлу в постоянных таблицах, но помечается !tmp!
. Эти файлы остаются на HDD и их имена переиспользуются через час.
Если вы активно используете файлы во временных таблицах и вам нужно чистить оставшиеся артефакты — поставьте на крон команду clean-tmp-tables-files-multi
.
crontab -e
*/10 * * * * cd /home/totum/totum-mit/ && bin/totum clean-tmp-tables-files-multi
Эти команды удаляют с HDD файлы отмеченные префиксом !tmp!
, время последнего использования которых ранее одного часа.
Строка с проверкой уникальности в пределах поля одной таблицы.
Хранит строковое значение любой длины или null. При добавлении и изменении проверяет нет ли уже такого значения в поле в текущей таблице.
При дублировании предложит ввести новое значение.
Веб-интерфейс:
Отображается строкой в ячейке.
На клиент передается полностью.
Редактируется простым полем ввода.
Особенности и настройки:
Хранение шифрованных паролей.
Хранит md5-хеш
или null. При добавлении и изменении сохраняет md5-хеш
вместо введенной строки.
Веб-интерфейс:
Отображается строкой \*\*PASSWORD\*\*
На клиент не передается.
Редактируется полем браузера для ввода паролей.
Введенное значение не записывается в Лог.
Любые типы данных. Предпочтительно список или ассоциированный массив. При редактировании открывается Json-редактор.
Веб-интерфейс:
Отображается строкой в ячейке.
Если структура хранимых данных содержит ключи settings
и data
, а в поле setting
присутствует список columns
в верхнем уровне, то в панели по правой кнопке отображается как таблица.
На клиент передается частично, подгружается при редактировании и вызове панели по правой кнопке мыши.
Редактируется в json-редакторе
.
Особенности и настройки:
Для отображения в виде таблицы в поле должна быть структура вида:
settings
true
— для вывода ключей в качестве заголовков колонок.true
— для выделения жирным содержимого первой колонки.data — список ассоциированных массивов с ключами, перечисленными в settings["columns"]
.
Пример содержимого поля, выводимого в виде таблицы:
{
"data": [
{
"data": null,
"type": "Расчетная в дереве",
"version": null,
"with_data": true,
"table_name": "testglobcalcs"
}
],
"settings": {
"columns": [
"table_name",
"type",
"version",
"with_data",
"data"
],
"headRow": {
"data": "Строковые интервалы",
"type": "Тип",
"version": "Версия",
"with_data": "С данными",
"table_name": "Name таблицы"
}
}
}
=: rowCreate(field: "data" = $data; field: "settings" = $settings)
settings: rowCreate(field: "columns" = $columns; field: "headRow" = $headRow)
columns: jsonExtract(text: '["table_name","type","version","with_data","data"]')
data: listCreate(item: $row1)
row1: rowCreate(field: "type" = "Расчетная в дереве"; field: "version" = "null"; field: "with_data" = true; field: "table_name" = "testglobcalcs")
headRow: jsonExtract(text: '{"data":"Строковые интервалы","type":"Тип","version":"Версия","with_data":"С данными","table_name":"Name таблицы"}')
Name таблицы | Тип | Версия | С данными | Строковые интервалы |
---|---|---|---|---|
testglobcalcs | Расчетная в дереве | null | true | null |
Видео на YouTube: Тип поля График
Отображение графиков на основе chart.js
Поле не содержит данных, а вычисляет их перед показом вместе с блоком форматирования остальных полей.
Сбор необходимых для графика данных происходит при помощи параметра поля данные для графиков.
Результатом работы кода должен являться ассоциированный массив следующего вида:
=: rowCreate(field: "labels" = $list_labels; field: "values" = $list_values)
list_labels: #labels
list_values: listCreate(item: $dataset_list_1; item: $dataset_list_2; item: $dataset_list_3)
dataset_list_1: #dataset_list_1
dataset_list_2: #dataset_list_2
dataset_list_3: #dataset_list_3
В labels
должен быть передан список с отметками по оси Х. В values
список из списков c данными — datasets
.
Настройки внешнего вида графика осуществляются в JSON-параметре Настройки графика. Для того, что бы воспользоваться предустановленными настройками — выберите Тип графика и нажмите на Заполнить настройки по умолчанию
.
Настройки каждого типа данных определяются в разделе datasets
в Настройки графика. Порядок датасетов соответствует порядку списков передаваемых в values
.
Документацию по настройкам chart.js можно посмотреть здесь. Данные для графиков относится к data
. Данные из data
относится к data
. Все остальное относится к options
.
Веб-интерфейс:
Для того, что бы график показывался, необходимо, что бы в настройках форматирования поля или секции была указана высота или максимальная высота!
f1=: setFloatFormat(maxheight: 1000)
maxheight : field_name : 1000
Высота графика зависит от ширины поля и соотношения сторон задающихся в Настройки графика — aspectRatio
и aspectRatioMobile
. Последний используется при ширине страницы менее 600px
вместе с отключением сетки и показа названий осей.
График может быть показан и в строчной части. В этом случае Данные для графиков будут выполнены для каждой строки.
Особенности и настройки:
Тип графика (chartType).
Настройки графика (chartOptions).
Данные для графиков (codeChart).
Динамические параметры datasets
Передаются в основном row
: field: "datasets_label" = $list_d_labels
Ключ в row
указывается как datasets_PARAM
.
Пример кода графика:
=: rowCreate(field: "labels" = $list_labels; field: "values" = $list_values; field: "datasets_label" = $list_d_labels)
list_labels: $dates
list_d_labels: $sites
list_values: listReplace(list: $sites; action: $sites_data; value: "sites_data")
sites_data: $create_data[[$column]]
column: $#sites_data
~create_data: listReplace(list: $dates; action: $val; value: "date")
val: rowCreateByLists(keys: $keysList; values: $valuesList)
keysList: $sites
valuesList: listReplace(list: $sites; action: $keywords; value: "site")
keywords: select(table: $#ntn; field: 'keywords'; where: 'site' = $#site; where: 'date' = $#date)
~dates: listUniq(list: $list_dates)
list_dates: selectList(table: $#ntn; field: 'date'; order: 'date' asc)
~sites: listUniq(list: $list_sites)
list_sites: selectList(table: $#ntn; field: 'site'; order: 'site' asc)
Выбор типа поля. Возможные варианты:
Строка — простая строка без переносов. Хранит строки "string"
.
Число — целое или дробное число. Хранит числа 5
, 5.1456
.
Селект — выпадающие списки, простые или множественные. Для простых основание хранит строку "string"
, для множественных список ["string1","string2"]
.
Селект-дерево — выпадающие списки-деревья, простые или множественные. Для простых основание "string"
, для множественных ["string1","string2"]
.
Чекбокс — галочка true
, false
или null
Дата — дата или дата со временем. Хранит строку определенного вида "Y-m-d"
или "Y-m-d H:i"
.
Кнопка — кнопка для выполнения действия при нажатии. Хранит null
.
Ярлык — быстрое отображение значения другой ячейки. Хранит данные аналогично родительской ячейке.
Текст — текст с переносами и использованием форматирования. Хранит строку "string"
.
Комментарии — аналогичен мини-чату с отслеживанием прочтения. Хранит список списков [["2019-08-01 13:30",1,"test"]]
.
Файл — работа с файлами. Хранит список ассоциативных массивов.
Уникальное — строка без переносов с отслеживанием уникальности значения по колонке. Хранит строки "string"
.
Пароль — обрабатывает пароли. Хранит md5
-строки.
Данные — хранит данные всех типов.
График — показывает график на основе chart.js.
ВНИМАНИЕ: при изменении типа поля, все несохраненные изменения в карточке поля будут потеряны!
Для всех типов полей.
Ширина поля по умолчанию в пикселях в WEB-интерфейсе. По умолчанию — 100
.
Рекомендуемые размеры:
100
110-120
70-80
40-60
150-200
250-300
40-60
150
250-300
Только для поля Кнопка.
Текст на кнопке.
Рекомендуется заполнять КАПСЛОКОМ
.
Для всех типов полей. Кроме Уникального.
Name-поля привязки для префильтра и футера.
Для префильтра — по какому полю строчной части будет осуществляться фильтрация.
Для футера — в колонке какого поля строчной части будет размещено текущее поле.
Для полей типов Дата, Число, Селект (простой) в плейсменте префильтр.
Определяет тип поля как интервальный — фильтровать от
или до
указанного значения (включительно).
Стартовый — фильтровать от указанного значения (включительно).
Завершающий — фильтровать до указанного значения (включительно).
Не действует если поле фильтра пустое.
Будьте внимательны: для колонок, содержащих строки или числа, сравнения будут вести себя по-разному, так как сортировка строк и чисел отличается!
Для типа поля Ярлык.
Name
таблицы из которой будет браться значение поля. Работает только вместе с linkFieldName.
Используя поле ярлык, легко получить зацикливание таблицы или группы таблиц.
Для типа поля Ярлык.
Name
поля вне строчной части, из которого будут браться данные. Работает только вместе с linkTableName.
Используя поле ярлык легко получить зацикливание таблицы или группы таблиц.
Для всех типов полей. Кроме Файл, Ярлык, Уникальное, Кнопка, Комментарии, Пароль.
Значение по умолчанию, которое будет подставляться в поле при создании строки или таблицы.
Для полей типа Число, Селект (простой) и Селект-дерево (простое).
Единица измерения автоматически добавляется в отображение через пробел
после значения поля.
Если взять значение из ячейки кодом, то единица измерения там будет отсутствовать.
Автоматически показывается в заголовке поля.
Для полей типа Число.
Дочернее для unitType.
Показывает единицу измерения поля перед числовым значением.
Для полей типа Число.
Ограничение количества знаков после запятой.
Для типа поля Число.
Трансформирует вывод значения 1560.50
→ 1 560,50
.
Логично использовать вместе с unitType вида €
Для полей типа Число.
Дочернее для currency.
Позволяет настроить оформление числа.
Если указан, то перекрывает настройку currency
.
Возможно указать разные значения для чисел >=
0
и <
0
используя оператор **
.
Например: pref **minus
— pref
будет показан для положительных и ноля, minus
для отрицательных.
Префикс для отрицательных заменяет знак -
.
Для полей типа Число.
Дочернее для currency.
Позволяет настроить оформление числа.
Если указан, то перекрывает настройку currency
.
Возможно указать разные значения для чисел >=
0
и <
0
используя оператор **
— до разделителя для положительных, после для отрицательных. Пробелы значимые.
Для полей типа Число.
Дочернее для currency.
Позволяет настроить оформление числа.
Если указан, то перекрывает настройку currency
.
Возможно указать разные значения для чисел >=
0
и <
0
используя оператор **
— до разделителя для положительных, после для отрицательных. Пробелы значимые.
Для полей типа Число.
Дочернее для currency.
Позволяет настроить оформление числа.
Если указан, то перекрывает настройку currency
.
Возможно указать разные значения для чисел >=
0
и <
0
используя оператор **
— до разделителя для положительных, после для отрицательных. Пробелы значимые.
Правило округления числа для типа поля Число.
Математическое
— до 5 (исключительно) в меньшую сторону, от 5 (включительно) в большую сторону.
В большую сторону
— всегда в большую сторону.
В меньшую сторону
— всегда в меньшую сторону.
Для типа поля Число.
Дочернее для round.
Шаг округления, с которым оно будет производиться. Дробное значение указывается через .
Например:
Исходное число: `3.43`
Округление: `В большую сторону`
Шаг округления: `0.15`
Результат: `3.45`
Для типа поля Текст.
Определяет каким образом будет оформлен текст, содержащийся в поле при открытии его на редактирование.
ТЕКСТ — простой текст с переносами строк. Вариант по умолчанию. Нет подсветки разметки.
CSS — с подсветкой разметки CSS.
XML — с подсветкой разметки XML.
HTML — с подсветкой разметки HTML.
JSON — открывается редактор JSON.
TOTUM-код — с подсветкой разметки TOTUM-кода.
MARKDOWN — с подсветкой разметки MARKDOWN.
JAVASCRIPT — с подсветкой разметки JAVASCRIPT.
Для полей типа Текст, Комментарии и Селект (мульти).
Ограничивает вывод текста в поле в WEB-интерфейсе и при автоматическом выводе на печать.
Для полей типа Текст, Селект (множественный), Селект-дерево (множественное) и Комментарии.
Для Селект (множественный), Селект-дерево (множественное) дочернее для multiple.
Выводит все содержимое ячейки на печать, независимо от его размера.
Для типа поля Дата и Комментарии.
Переключение между вариантом Y-m-d
и Y-m-d H:i
.
Поле Дата не поддерживает секунды. Если вам необходимо хранить время с секундами — используйте поле Строка.
Для типа поля Дата.
Определяет формат вывода даты в интерфейс. Не влияет на формат хранения данных в поле.
Задается как строка, в которой будут произведены замены:
Символы помеченные как
только отображение
некорректно работают с датапикером!
d
— День месяца, 2 цифры с ведущим нулём от 01 до 31.D
— Текстовое представление дня недели, здесь вывод на кириллице.j
— День месяца без ведущего нуля от 1 до 31 (только отображение).z
– Порядковый номер дня в году от 0 до 365.F
— Полное наименование месяца.W
— Порядковый номер недели года (только отображение).m
— Порядковый номер месяца с ведущим нулём от 01 до 12.M
— Сокращенное наименование месяца.n
— Порядковый номер месяца без ведущего нуля от 1 до 12.Y
— Порядковый номер года, 4 цифры. Примеры: 1999, 2003.y
— Номер года, 2 цифры. Примеры: 99, 03.H
— Часы в 24-часовом формате с ведущим нулём от 00 до 23.i
— Минуты с ведущим нулём от 00 до 59.s
— Секунды с ведущим нулём от 00 до 59.Для типа поля Строка, Уникальное и Число.
Выражение в формате PCRE regExp
, с которым сопоставляется получаемое значение поля. Если совпадения не происходит, вычисления прерываются ошибкой.
Пример
^\d+$
— только положительные целые числа включая 0.
^[1-9]\d*$
— только положительные целые числа исключая 0.
^(.+@.+\..+|.{0})$
— проверка формата email.
Для типа поля Строка, Уникальное и Число.
Текст предупреждения, который будет показан во всплывающем окне в результате неверного ввода значения по regexp.
Для всех типов полей. Кроме Файл, Ярлык, Уникальное, Кнопка, Пароль и График.
Определяет будут ли переноситься текущие значения поля во вновь созданную строку.
Для типа поля Файл.
Когда включено, при дублировании строки или цикла с этим полем создается копия файла с новым именем.
Если параметр отключен, то копия файла при дублировании не создается, а создается ссылка на файлы, содержащиеся в ячейке-источнике.
Можно создавать однонаправленные связки, в которых поле получатель является неизменяемым вручную. Тогда в поле-источнике галочку следует поставить для того, чтобы дублирование строк в таблице источнике проходило корректно.
Должно быть снято в случае создания обновляющих друг друга полей файлов через функции set. Тогда удаление файла будет возможно только в поле, в которое он был добавлен.
Для типа поля Файл.
В случае включения этой опции в конец названия файла будет подставляться случайный хеш для затруднения подбора пути к файлу.
Если поставить галочку в поле, в котором уже содержатся файлы, связь с ними будет утеряна, но физически они останутся на сервере.
Если поставить галочку и сохранить, то снять ее для этого поля будет невозможно!
При первой загрузке файла в поле с этой настройкой в корневой папке установки Totum будет создана папка secureFiles
, в которую невозможен доступ по http(s) протоколу. Файлы будут сохраняться в эту папку.
В момент, когда файл запрашивается пользователем, его права на доступ к этому полю будут проверяться на стороне сервера.
Если у пользователя:
есть доступ к видимости поля
строка доступна по префильтрам
То файл будет отдан через PHP-сервер.
Это накладывает ограничения на размер файла и на нагрузку на PHP в момент отдачи файла. Время скачки файла должно быть меньше максимального времени работы скрипта PHP, установленного в Conf.php в корне установки.
Дочернее для secureFile.
Задает кастомную подпапку по пути /home/totum/totum-mit/secureFiles/YOUR_DOMAIN/CUSTOM_FOLDER
Таким образом вы можете размещать файлы на подключенных HDD/SSD
, сделав на папку символическую ссылку.
Дочернее для customFileFolder.
Актуально только для строчной части и для полей Файл внутри циклов
Для файлов внутри цикла используются номера циклов, а не id строк внитри цикла!
Задает автоматическую подпапку на каждые N id: /home/totum/totum-mit/secureFiles/YOUR_DOMAIN/CUSTOM_FOLDER/0000001
Таким образом вы можете архивировать старые файлы на подключенных HDD/SSD
, переместив и сделав на папки символические ссылки.
Для типа поля Файл.
В случае указания будет принимать файлы с указанным mime-типом
.
Пишем через ,
mime-types или/и расширения с точкой, например: .ttm
Например, для картинок в jpeg и png поставьте image/jpeg,image/jpeg
.
Чтобы принимать только с расширением .xyz
и .hmm
поставьте — .xyz,.hmm
.
Список mime
-типов от Mozilla: https://developer.mozilla.org/...
Для всех типов полей. Кроме Кнопка, Ярлык и График.
При активированном элементе не дает сохранить поле с пустым значением.
Аналогично при редактировании этого поля выдает предупреждение и отменяет сохранение если введена пустота.
Будьте внимательны при назначении этого параметра существующим полям. При выполнении кодов они будут остановлены по ошибке, если в их единице пересчета окажется пустое поле с установленным Обязательно.
Только для типов Текст и Данные
Если установлено, то в таблицу при загрузке передается значение **NOTLOADED**
. Используется в случае, когда поля содержат большие объемы информации и делают невозможным показ на одной странице большого количества строк.
В таких случаях notLoaded
кардинально сокращает объем данных, передаваемых в браузер.
Для всех типов полей.
Определяет показывать ли поле в WEB-интерфейсе.
Для всех типов полей. Кроме Кнопка и График.
Дочернее для showInWeb.
Определят будет ли поле доступно для изменения в строке добавления строчной части.
Для всех типов полей. Кроме Кнопка и График.
Дочернее для insertable.
Определяет какие роли будут иметь доступ к изменению значения поля в строке добавления.
Для всех типов полей. Кроме Кнопка и График.
Дочернее для showInWeb.
Определяет, будет ли поле доступно для изменения в WEB-интерфейсе (исключая строку добавления).
Для всех типов полей. Кроме Кнопка и График.
Дочернее для editable.
Определяет будет ли доступно одновременное изменение нескольких ячеек в одном поле в строчной части.
Для всех типов полей. Кроме Кнопка и График.
Дочернее для editGroup.
Определяет будет ли доступно одновременное изменение если выделено несколько полей (колонок).
Для всех типов полей. Кроме Кнопка.
Дочернее для editable.
Определят каким ролям будет доступно поле для изменения в WEB-интерфейсе (исключая строку добавления).
Для всех типов полей. Только для полей в строчной части.
Дочернее для showInWeb.
Определяет показывать ли для пользователя стрелку выпадающего в заголовке поля.
Выпадающее меню для пользователя дает доступ к:
Сортировка — А-Я или Я-А.
Скрыть поле — временно скрывает видимость поля.
Ширина поля — ширина поля в пикселях.
Математические операции — для числовых полей Сумма
, Среднее
, Максимальное
, Минимальное
, Количество значений
.
При включенном разделении на страницы действия осуществляются только по текущей странице.
Для всех типов полей. Кроме Файл, Кнопка, Комментарии, Пароль и График.
Дочернее для showInWeb.
Активирует фильтр по значениям колонки. Отображается в заголовке поля. Доступен только в строчной части.
Можно выбрать одно
или несколько
значений.
Одинаковые значения склеиваются в момент вызова фильтра.
Не рекомендуется использовать для таблиц большого размера, содержащих в поле множество уникальных значений.
При включенном разделении на страницы фильтрация осуществляется только по текущей странице.
Для типа поля Селект (простой) и Селект-дерево.
Дочернее для showInWeb.
Определяет, какое количество элементов списка будет подгружаться в выпадающий список в WEB-интерфейсе.
Позволяет снизить нагрузку на браузер пользователя при работе с большими списками.
При срабатывании ограничении при скролле в конец выпадающего списка будет указано, что показана только часть значений.
Для всех типов полей. Кроме Комментарии.
Дочернее для showInWeb.
Показывает окошко предупреждения с вариантами действий ОК
и ОТМЕНИТЬ
.
Для всех типов полей. Кроме Комментарии.
Дочернее для warningEditPanel.
Текст предупреждения, который будет показан во всплывающем окне warningEditPanel.
Для всех типов полей. Кроме Файл, Кнопка, Комментарии, Пароль, Чекбокс.
Дочернее для warningEditPanel.
Предупреждение будет показано, только если введенное значение будет соответствовать введенному регулярному выражению.
Для типа поля Строка, Уникальное.
Дочернее для showInWeb.
В WEB-интерфейсе оформляет значение в поле в виде гипертекстовой ссылки.
Для типа поля Строка, Уникальное.
Дочернее для url.
Определяет, как открывать ссылки.
Для всех типов полей. Кроме Уникальное. Для хедера, префильтра и футера.
Дочернее для showInWeb.
Переносит поле на следующую строку.
Для всех типов полей. Кроме Уникальное. Для хедера, префильтра и футера.
Дочернее для tableBreakBefore.
Задает заголовок секции, по клику на который ее можно свернуть со всеми полями. В это же поле записываются параметры секций.
Для всех типов полей. Кроме Уникальное.
Дочернее для showInWeb.
Определяет цвет заливки заголовка и тела поля. Задается как HEX значение #ff00cc
. Или текстовым определением цвета HTML, например — tomato
.
Для заголовков рекомендуется использовать светлые цвета.
Имеет преимущество перед форматированием поля в скорости, тк не рассчитывается на стороне сервера.
Рекомендуемые цвета заливок, сочетающиеся с общим дизайном Тотум:
OldLace
PapayaWhip
PeachPuff
LightSalmon
Tomato
GreenYellow
Lavender
Orange
RoyalBlue
SteelBlue
Magenta
MistyRose
Beige
FloralWhite
WhiteSmoke
GhostWhite
AliceBlue
Для типа поля Комментарии.
Определяет каким цветом будет подчеркивание непрочитанных для пользователя комментариев.
Для всех типов полей.
Дочернее для showInWeb.
Определяет роли, которые будут видеть это поле.
Если выбран только Создатель
, то заголовок поля будет подсвечиваться красно-розовым.
Если выбрана хоть одна роль, то данные с сервера будут передаваться только для обладающих ей пользователей.
Для всех типов полей. Кроме Кнопка.
Включает запись изменений, производимых в WEB-интерфейсе в системную таблицу логирования.
Если включено, то будет записана следующая информация:
Дата-время
Id пользователя
Тип действия — изменение или добавление.
Введенные данные
Значение поля после изменения
Для записи автоматических действий в функциях действий должен быть указан параметр log: true
.
Для всех типов полей. Кроме Кнопка.
Дочернее для showInWeb.
Определяет каким ролям будет доступен лог действий по полю.
Доступ к логу осуществляется через клик правой кнопкой мыши в поле, далее кнопка Лог
в выпадающей панели.
Помимо доступа к логам по конкретному полю у роли должен быть доступ к таблице Структура таблицы для вывода лога.
Для записи лога через WEB-интерфейс должен быть включен параметр logging.
Для записи автоматических действий в функции действий должен быть указан параметр log: true
.
Для всех типов полей.
Дочернее для showInWeb.
Делает контекстную панель по правой кнопке шире для конкретного поля на + 100px
и + 200px
.
Доступно только в PRO и только для типов полей Строка
, Число
, Данные
.
Для всех типов полей.
Позволяет отобразить поле в другом плейсменте и по другому sort
.
Порядок расчета при этом остается неизменным.
Для всех типов полей.
Дочернее для showInWebOtherPlace.
Позволяет отображать поле в другом плейсменте.
Для всех типов полей.
Дочернее для showInWebOtherPlace.
Позволяет отображать поле по другому sort
.
Для всех типов полей.
Дочернее для showInWebOtherPlace.
Позволяет отображать поле по другому name
, например, что бы поле из хедера или футера отобразить в футере-колонки.
Для всех типов полей. Кроме Кнопка.
При включении этой опции значения поля будет по запросу отдаваться через json-интерфейс.
Для всех типов полей. Кроме Кнопка.
Дочернее для showInXml.
При включении значение поля может устанавливаться через json-интерфейс при создании строки.
Для всех типов полей. Кроме Кнопка.
Дочернее для showInXml.
При включении значение поля может изменяться через json-интерфейс.
Для всех типов полей. Кроме Кнопка.
Дочернее для apiEditable.
Если выбраны роли, то редактирование через json-интерфейс будет доступно только json-пользователям с этими ролями.
Для всех типов полей. Кроме Кнопка.
Дочернее для showInXml.
Если выбраны роли, то просмотр поля через json-интерфейс будет доступно только api-пользователям с этими ролями.
Добавление и редактирование поля не входящим в этот список ролям будет запрещено, даже если они перечислены в apiEditable/apiInsertable.
Для всех типов полей. Кроме Ярлык, Кнопка, Комментарии, Пароль и График.
Секция кода, осуществляющая вычисление значения в поле в момент пересчета единицы пересчета.
При вводе значения вручную, значение в поле разделяется на расчетное
и ручное
— появляется индикация с рукой.
Открытая ладонь — значение задано вручную и отличается от расчетного.
Закрытая ладонь — значение введено вручную и идентично расчетному.
При наличии ручного значения
при стандартном обращении к полю для последующих вычислений берется именно оно, а не расчетное.
Для всех типов полей. Кроме Ярлык, Кнопка, Комментарии, Пароль.
Дочернее для code.
При включенном параметре код будет выполняться только в строке добавления, при добавлении через функции типа insert() или при создании таблицы.
При последующем ручном вводе значений разделения на расчетное и ручное значение не происходит.
Возможно повторно запустить исполнение кода с параметром «тольок при добавлении» при помощи вызова пересчета функцией reСalculate с параметром
field:
.
Для всех типов полей. Кроме Файл, Ярлык, Кнопка, Комментарии, Пароль.
Дочернее для code.
При наличии ошибки в code значение в поле выводится как ОШБК!
.
Значение в этой настройке заменяет ОШБК!
→ Введенный текст
.
Используется, чтобы убрать для пользователей отображение некритичных ошибок. Например, деление на ноль при неполном вводе данных, можно заменить на Введите данные
или Выберите интервал
.
Для всех типов полей.
Секция кода, выполняющая действия по условиям.
Для всех типов полей. Кроме Кнопка.
Дочернее для codeAction.
Запускает выполнение кода действия при добавлении строки и создании цикла.
Для всех типов полей. Кроме Кнопка.
Дочернее для codeAction.
Запускает выполнение кода действия при изменении значений в поле.
Для всех типов полей. Кроме Кнопка.
Дочернее для codeAction.
Запускает выполнение кода действия при удалении строки.
При удалении текущее значение поля через #nowfieldname
и $#nfv
равняется null. Если нужно взять последнее значение то обращаться следует через #old.nowfieldname
или $#onfv
.
Посмотрите подробнее про обращения к значениям полей.
Для всех типов полей. Кроме Кнопка.
Дочернее для codeAction.
Запускает выполнение кода действия при двойном клике на заблокированную ячейку.
Для всех типов полей. Кроме Кнопка.
Дочернее для CodeActionOnClick.
оформляет значение в поле как URL при клике на который выполняется действие по триггеру CodeActionOnClick.
Для всех типов полей. Кроме Кнопка.
Дочернее для codeAction.
Разрешает действие для ролей с режимом доступа к таблице Только для чтения.
Для типа поля Кнопка.
Дочернее для codeAction.
Если были установлены галочки в колонке id
строчной части, то после успешного выполнения кода действия они будут сняты.
В случае если выполнение кода завершится ошибкой или errorException это действие выполнено не будет.
Id строк, выделенных галочкой, можно получить при помощи быстрой переменной $#ids
. Только для кодов действий.
Для типа поля Кнопка.
Дочернее для codeAction.
Если кнопка нажимается во всплывающем окне iframe
, то после выполнения кода действия это окно будет закрыто.
В случае если выполнение кода завершится ошибкой или errorException закрытие окна не произойдет.
Применение в кнопке вызывающей linkToButtons или linkToInput приводит к их неработоспособности! Используйте параметр
close: true
внутри этих функций.
Для типа поля Кнопка.
Дочернее для codeAction.
Позволяет нажимать кнопку ролям у которых права на таблицу — только чтение
.
Для типа поля Кнопка.
Дочернее для codeAction.
Делает кнопку доступной в строке добавления.
Позволяет вместе с использованием переменной хэша строки добавления $#ih
вызвать [временную таблицу] и потом из нее вернуть данные в поле строки добавления используя параметр hash
функции set. Или выполнить set в поле строки добавления без вызова временной таблицы.
Для типа поля Кнопка.
Дочернее для codeAction.
Открывает контекстную панель поля по окончании выполнения кода-действия. Панель будет открыта даже в том случае, если код действия будет содержать только =:
.
Для типа поля Селект и Селект-дерево.
Код, формирующий отображение оснований, содержащихся в поле.
Для поля Селект из секции =:
должен быть возвращен результат работы функции selectRowListForSelect или аналогичный по формату.
Для поля Селект-дерево из секции =:
должен быть возвращен результат работы функции selectRowListForTree или аналогичный по формату.
Для типа поля Селект и Селект-дерево.
Дочернее для codeSelect.
Определяет, будет ли список отображений для поля рассчитан один раз при открытии таблицы или его надо рассчитывать для каждой строки индивидуально.
Например, если в разных строках могут быть разные наборы отображений в зависимости от значений других полей.
Также этот параметр определяет будет ли пересчитываться отображение селект-полей при изменении значений полей в таблице.
Ресурсоемкая операция! Особенно если таблица большая или выборка отображений идет из большой таблицы. Не включайте без реальной необходимости!
Для типа поля Селект и Селект-дерево.
Дочернее для codeSelect.
Если включено, то в момент сохранения значения на сервере будет произведен расчет кода-селекта и доступные значения будут сравнены с вводимым значением. Если вводимое значение не попадает в рассчитанный диапазон — сохранение будет отменено, а пользователю показана ошибка недопустимости вводимого значения.
Заменяет код-действия написанный вручную, проверяющий допустимые значения.
Если отключено и нет защитного кода действия, то пользователь может сохранить на сервере любое значение в поле селекта независимо от доступных значений.
Ресурсоемкая операция! Не включайте без реальной необходимости!
Для типа поля Селект, Селект-дерево и Файл.
Дочернее для codeSelect.
Для селект и селект-дерева определяет, будет ли основание поля содержать одно значение или список. Для файла при включении убирает ограничение на один элемент.
Будьте внимательны при изменении этого параметра в поле, которое уже содержит данные (кроме типа поля Файл), так как это действие ведет к изменению формата хранящихся данных.
Если вы меняете
простое
намножественное
, то потребуется пересчитать все строки с данными этого поля. Если в обратном направлении, то часть данных содержащихся в множественных значениях будет потеряна.
Для типа поля Селект и Селект-дерево.
Дочернее для multiple.
Определяет разделитель для значение отображаемых в поле.
Для типа поля Селект и Селект-дерево.
Дочернее для multiple.
Определяет, будет ли в WEB-интерфейсе показываться отображения мультиселектов или будет показано N значений
.
Для типа поля Селект-дерево.
Дочернее для codeSelect.
Определяет, будет показываться только конечное отображение значения или весь путь.
Для типа поля Селект-дерево.
Дочернее для codeSelect.
Выбирается, если значения папок дерева содержаться в той же таблице и поле (колонке), что и значения.
Если снято, то это значит, что структура дерева находится в одной таблице, а значения в другой.
Для типа поля Селект-дерево.
Дочернее для codeSelect.
Сначала нижний уровень
— в этом режиме сначала вычисляются строки нижнего уровня.
Сначала верхний уровень
— в этом режиме сначала вычисляются строки верхнего уровня.
Работает только для типа дерева
По другой таблице
Для типа поля Селект-дерево.
Дочернее для treeAutoTree.
Определяет, можно ли выбирать промежуточные значения дерева в качестве значения поля (можно ли выбирать папки).
Только для PRO-версии
Для типа поля Селект-дерево.
Только для поля с name = tree
. Является ключевым параметром — когда он включен, то строчная часть таблицы будет отображаться в виде дерева.
Для типа поля Селект-дерево.
Дочернее для treeViewType.
Только для поля с name = tree
.
Если включено, то все значения дерева будут загружены при загрузке таблицы.
Если выключен, то дерево будет загружено в свернутом виде и будут подгружаться только сегменты разворачиваемые пользователем.
*
Для типа поля Селект-дерево.
Дочернее для treeViewType.
Только для поля с name = tree
.
Если включено, то будет скрыта кнопка Добавить сверху справа строчной части. останутся только кнопки в выпадающих меню в ветках.
Для типа поля Селект-дерево.
Дочернее для treeViewLoad.
Только для поля с name = tree
.
Открывает все сегменты дерева при загрузке таблицы.
Если treeViewLoad включен, а treeViewOpen
выключен, то дерево будет загружено полностью, но показано в свернутом виде.
Для типа поля Селект-дерево.
Дочернее для treeViewType.
Только для поля с name = tree
.
Если не заполнено, то используется как tree
.
Необходимо указать, если в коде-селекта tree-view
в параметре parent
указано поле, отличное от tree
.
Для типа поля Селект-дерево.
Дочернее для treeViewType.
Только для поля с name = tree
.
Если не указано, то используется id
.
Необходимо указать name
поля если в коде-селекта для tree
использован параметр bfield
.
Для типа поля Селект и Селект-дерево в плейсменте префильтр.
Дочернее для codeSelect.
Определяет будет ли доступно значение \*ALL\*
для отображения всех значений поля строчной части.
Для типа поля Селект в плейсменте префильтр.
Дочернее для selectFilterWithAll.
Определяет текст отображения.
Для типа поля Селект и Селект-дерево в плейсменте префильтр.
Дочернее для codeSelect.
Запрещает выборку для всего префильтра, даже если содержится только в одном поле префильтра.
Используется для таблиц большого размера для ускорения их первоначального отображения или для запрета отображения данных таблиц по ролям или пользователям.
Обязательно должно быть выбрано для множественного. Тк при снятии галочек со всех значений автоматически переводит селект в
*NONE*
.
Для типа поля Селект в плейсменте префильтр.
Дочернее для selectFilterWithNone.
Определяет текст отображения.
Для типа поля Селект и Селект-дерево в плейсменте префильтр.
Дочернее для codeSelect.
Позволяет выбирать пустые значения.
Для типа поля Селект в плейсменте префильтр.
Дочернее для selectFilterWithEmpty.
Определяет текст отображения.
Для типа поля Селект и Селект-дерево.
Дочернее для codeSelect.
При отсутствии этого параметра невозможно выбрать пустое значение для простого Селекта и Селект-дерева так как в выпадающем списке будут присутствовать только имеющие значение пункты.
Активация этого параметра устанавливает отображение для значения null или пустого списка и добавляет его в выпадающий список.
Для типа поля Селект и Селект-дерево.
Дочернее для codeSelect.
Определяет таблицу для удаленного добавления/изменения данных из таблицы отображения (синие кнопки при открытии поля на редактирования).
Открывает строку в удаленной таблице на изменение в виде панели.
Для типа поля Селект и Селект-дерево.
Дочернее для selectTable.
Указывается name
поля в таблице источнике в случаях, когда селект строится с использованием bfield
.
Для типа поля Селект и Селект-дерево.
Дочернее для selectTable.
Принимает код для вызова панели изменения селекта вида:
=: linkToPanel(table: ''; id: ; field: )
Где:
table — name таблицы-источника.
id — значение id
строки-источника, которую нужно открыть в панели.
field в формате 'name' = $value
— предзаполняемые поля при добавлении значения.
Пример
example: linkToPanel(table: 'goods'; id: #fieldname; field: 'category' = "box"; field: 'size' = $size_of_box)
size_of_box: if(condition: #param1 = true; then: 1; else: 2)
// В этом коде при нажатии на синий плюс панель добавления в таблицу goods будет
// предзаполнена в полях category = "box" и size = 1 или 2.
Для типа поля Селект.
В json-форме предлагается заполнить структуру вида ключ-значение для отрисовки селекта.
Можно использовать числовые и строковые основания.
Для всех типов полей.
Секция кода условного форматирования. Ожидает возврат результата работы функции setFormat из секций f1=:
, f2=
итд.
Результаты применяются в соответствии с номером у f
. Числа обрабатываются как строки, поэтому возможна вставка условий между существующими при помощи добавления уровня цифры f1=:
< f12=:
< f2=:
.
Помимо f
может быть использован префикс p
, который будет выполнен в момент открытия панели по клику правой кнопки мыши на поле. Нумеруется аналогично f
. Работает с функциями форматирования с префиксом panel...
:
panelButtons() — размещает на панели дополнительные кнопки.
panelImg() — размещает на панели изображение.
panelHtml() — отображает на панели html.
Для всех типов полей. Поддерживает html. Выводится в шапку поля в виде i
. Автоматически разворачивается при переходе фокуса в поле в строке добавления.
Если необходимо добавить внутреннее техническое описание поля недоступное пользователям — заключите его в тег <admin>...</admin>
.
Если в описании используется текст только внутри тега <admin>
, то i
будет показано только Создателю.
Если перед текстом передать тег <hide>
, то описание не будет автоматически разворачиваться при переходе фокуса в поле в строке добавления.
Для типа поля График.
Определяет базовую настройку для загрузки в Настройки графика.
Для типа поля График.
JSON-поле вида:
{
"data": {
"datasets": [ -- список, каждая строка определяет как будет выглядеть данные из values в codeChart
{
"fill": true, -- заполнение
"type": "line", -- тип графика (line | bar)
"yAxisID": "y-axis-1", -- к какой оси относится
"borderColor": "tomato", -- цвет линии
"backgroundColor": "#ff63474a", -- цвет заполнения
"label": "Выручка, р.", -- подпись
"borderWidth": 2 -- толщина линии в px
},
{
"fill": false,
"type": "bar",
"yAxisID": "y-axis-2", -- использование второй оси
"borderColor": "#ff861c98",
"backgroundColor": "#ff861c98",
"label": "Заказов, шт."
}
]
},
"legend": {
"display": true -- показывать легенду иди нет
},
"scales": {
"yAxes": [
{
"id": "y-axis-1", -- название оси
"position": "left" -- положение оси
},
{
"id": "y-axis-2",
"position": "right"
}
]
},
"elements": {
"line": {
"tension": 0.000001, -- скругление точек графика
"borderWidth": 1 -- толщина линий графика по умолчанию
},
"point": {
"radius": 1 -- радиусы точек графика в px
}
},
"aspectRatio": 2, -- соотношение сторон для широкого экрана
"aspectRatioMobile": 1.5 -- соотношение сторон для мобильной версии меньше 600px
}
Документацию по настройкам chart.js можно посмотреть здесь. Данные для графиков относится к data
. Данные из data
относится к data
. Все остальное относится к options
.
Для типа поля График.
Поле не содержит данных, а вычисляет их перед показом вместе с блоком Форматирования остальных полей.
Результатом работы кода должен являться ассоциированный массив следующего вида:
=: rowCreate(field: "labels" = $list_labels; field: "values" = $list_values)
list_labels: #labels
list_values: listCreate(item: $dataset_list_1; item: $dataset_list_2; item: $dataset_list_3)
dataset_list_1: #dataset_list_1
dataset_list_2: #dataset_list_2
dataset_list_3: #dataset_list_3
В labels
должен быть передан список с отметками по оси Х. В values
список из списков c данными — datasets
.