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

    Какая функция используется для сложения по строкам двух rowList?

    Если нужно строки одного rowList сложить со строками другого rowList, то они складываются как и list при помощи listAdd:


    =:
    listAdd(list: $row1; list: $row2) row1: selectRowList(table: 'table_1'; field: 'field_1'; field: 'field_2') row2: selectRowList(table: 'table_2'; field: 'field_1'; field: 'field_2')

    Часто это требуется в кодах селектов:


    =:
    listAdd(list: $row1; list: $row2) row1: selectRowListForSelect(table: 'table_1'; field: 'title'; bfield: 'uiid') row2: selectRowListForSelect(table: 'table_2'; field: 'title'; bfield: 'uiid')

    Какая функция используется для сложения по колонкам двух rowList?

    rowListAdd — используется, когда вам нужно добавить колонку со значениями в существующий rowList.

    Колонка со значениями передается в виде list с нужным вам порядком элементов.

    Именно в этом порядке они будут добавлены в rowList, поэтому задавайте сортировки. Если сортировок нет, то от раза к разу результат будет отличаться:

    =: rowListAdd(rowlist: $rowList; field: "field_3" = $list)
    
    rowList: selectRowList(table: 'table_1'; field: 'field_1'; field: 'field_2'; order: 'field_1' asc)
    
    list: selectList(table: 'table_2'; field: 'field_3'; order: 'field_1' asc)
    
    

    Если нужно добавить не одну колонку:

    =: rowListAdd(rowlist: $rowList_1; rowlist: $rowList_2)
    
    rowList_1: selectRowList(table: 'table_1'; field: 'field_1'; field: 'field_2'; order: 'field_1' asc)
    
    rowList_2: selectRowList(table: 'table_2'; field: 'field_3'; field: 'field_4'; order: 'field_1' asc)
    
    

    Как из row получить список значений?

    Если у вас есть row, нужен list из значений, которые в нем содержаться, то это делает rowValues:

    Например возьмем значения полей в list из 5 полей в текущей строке:


    =:
    rowValues(row: $row) row: selectRow(table: $#ntn; field: 'field_1'; field: 'field_2'; field: 'field_3'; field: 'field_4'; field: 'field_5'; where: 'id' = #id)

    Как из row получить список ключей?

    Есть аналогичная функция rowKeys, которая берет названия ключей из row.

    Обычно она используется совместно с listFilter, который может фильтровать и row (те оставить только те колонки, которые отвечают условию):

    Получим названия всех полей в которых значение больше 10:


    =:
    rowKeys(row: $filter) filter: listFilter(list: $row; key: "value" > 10) row: selectRow(table: $#ntn; field: 'field_1'; field: 'field_2'; field: 'field_3'; field: 'field_4'; field: 'field_5'; field: 'field_6'; field: 'field_7'; field: 'field_8'; field: 'field_9'; field: 'field_10'; field: 'field_11'; field: 'field_12'; where: 'id' = #id)

    Усложним эту задачу: например это месяца и нам надо получить номера месяцев в которых значение больше 10.


    =:
    listReplace(list: $keys; action: $new_value; value: "value") new_value: strReplace(str: $#value; from: "field_"; to: "") // Чтобы получить номера мы заменяем field_ на пустоту в каждом элементе списка keys: rowKeys(row: $filter) // Здесь получится list из строковых имен полей filter: listFilter(list: $row; key: "value" > 10) row: selectRow(table: $#ntn; field: 'field_1'; field: 'field_2'; field: 'field_3'; field: 'field_4'; field: 'field_5'; field: 'field_6'; field: 'field_7'; field: 'field_8'; field: 'field_9'; field: 'field_10'; field: 'field_11'; field: 'field_12'; where: 'id' = #id)

    Как из row и rowList удалить колонку?

    Эту задачу выполняет rowKeysRemove. Передаете ей row или rowList и имена удаляемых колонок.

    Если вы передаете rowList, то нужно будет указать recursive: true!

    Как переименовать ключ колонки в row или rowList?

    Задача с переименованием колонок решается при помощи rowKeysReplace.

    Если вы передаете rowList, а не row, то нужно будет указать recursive: true!