⟵ сюдатуда ⟶
  • Учебный курс
  • Создание простых таблиц и полей
  • Коды базовый уровень
  • Селекты и связь между таблицами
  • Настройки таблиц базовый уровень
  • Префильтры базовый уровень
  • Условное форматирование базовый уровень
  • Коды действия базовый уровень
  • Использование всплывающих окон
  • Циклы базовый уровень
  • Роли и пользователи в web
  • Коды продвинутый уровень
  • Коды действий продвинутый уровень
  • Как получить предыдущее значение поля и использовать его в коде-действия?
  • Сильные блокировки действий по условиям на сервере
  • В какой момент берутся данные для кодов действий?
  • Перекрестное выполнение действий
  • Открытие вложенной временной таблицы и возврат данных в родительскую
  • Особенности вызова linkToInput и linkToButtons из всплывающих окон
  • Относительные изменения списков и чисел через set
  • Вставка строк после определенной строки при сортировке по полю порядок
  • Использование listReplace для выполнения действий
  • Использование панелей других таблиц
  • Как отрыть окно загрузки файлов?
  • Использование произвольной формы в linkToInput
  • Как выполнить действия над строками выделенными галочками?
  • Префильтры продвинутый уровень
  • Настройки полей и таблиц продвинутый уровень
  • Циклы продвинутый уровень
  • Форматирование продвинутый уровень
  • Селект-дерево
  • Выполнения кода действия по расписанию
  • Печать и отправка email
  • Нотификации
  • Взаимодействие по API
  • Адаптивность и секции
  • Графики
  • Вид таблицы панелями и поворот строчной части
  • Анонимные таблицы для неавторизованного доступа
  • Внешние формы для сбора информации
  • Обновление и бэкапирование
  • Дублирование схем и перенос таблиц между базами
  • Консольная утилита bin/totum
  • Относительные изменения списков и чисел через set

    пример с изменением остатка на складе

    set, setList и setListExtended могут установить не конечное значение в поле, а изменить относительно имеющегося.

    Для этого вместо = используется + или -.

    Например при добавлении операции по складу мы можем в таблице Склад менять остаток позиции:


    =:
    set(table: 'warenhouse'; field: 'count' + $#nfv)

    пример с добавлением значений в список

    Аналогично set, setList и setListExtended могут добавить или удалить значение если их целевое поле является селектом.

    Для этого также вместо = используется + или -.

    Например, добавим основания 45, 56 и 17 в list:


    =:
    set(table: 'table'; field: 'list' + json`["45","56","17"]`)

    Что бы это работало у целевого поля должен быть включен параметр множественные значения!

    Как понять, какие значения были добавлены или удалены при изменении списка?

    Например список меняется вручную и вам нужно совершить какое-то действие над добавленными значениями. Для этого есть способ через listMinus с old и текущим значением:


    =:
    linkToDataText(title: "Показать добавленные значения"; text: $join) join: listJoin(list: $list; str: $#nl) list: listMinus(list: $#nfv; list: $#onfv)

    Те мы из нового списка в поле вычитаем старый список и остаются только новые добавленные значения. join мы используем для ппоказа в linkToDataText.

    Если вам нужно получить удаленные из списка значения, то $#nfv и $#onfv надо поменять местами — тогда останутся только те значения, которые были до изменения, а после их уже нет.

    Как автоматически добавить запись в поле с типом Комментарий?

    В поле комментарии можно добавить отдельное сообщение кодом.

    Добавить запись от текущего пользователя:


    example1:
    set(table: 'test'; field: 'comment' = "Тестовый комментарий"; where: 'id' = 3)

    Исторически получилось, что в комментарии добавление сообщения использует оператор =.