⟵ сюдатуда ⟶
  • Учебный курс
  • Создание простых таблиц и полей
  • Коды базовый уровень
  • Вычисление значения кодом
  • Порядок вычисления и ошибка порядка вычисления, как показать поле в месте отличном от порядка вычисления
  • Единица пересчета таблиц, пересчет строк и их порядок
  • Хедер в простых и расчетных таблицах
  • Использование функций
  • На примере функции if и select
  • Работа параметра where и order на примере select
  • Разница между одним значением и списком, операции над списками (sum, min, max, count)
  • Использование math для математических операций
  • Использование str для комбинации текста
  • Фиксация вычисления при выполнении кодов
  • Ручные значения
  • Исполнять код только при добавлении
  • Быстрые переменные $#nd, $#ndt и $#ntn
  • Обработка дат
  • Ошибки расчета и информация по ним
  • Селекты и связь между таблицами
  • Настройки таблиц базовый уровень
  • Префильтры базовый уровень
  • Условное форматирование базовый уровень
  • Коды действия базовый уровень
  • Использование всплывающих окон
  • Циклы базовый уровень
  • Роли и пользователи в web
  • Коды продвинутый уровень
  • Коды действий продвинутый уровень
  • Префильтры продвинутый уровень
  • Настройки полей и таблиц продвинутый уровень
  • Циклы продвинутый уровень
  • Форматирование продвинутый уровень
  • Селект-дерево
  • Выполнения кода действия по расписанию
  • Печать и отправка email
  • Нотификации
  • Взаимодействие по API
  • Адаптивность и секции
  • Графики
  • Вид таблицы панелями и поворот строчной части
  • Анонимные таблицы для неавторизованного доступа
  • Внешние формы для сбора информации
  • Обновление и бэкапирование
  • Дублирование схем и перенос таблиц между базами
  • Консольная утилита bin/totum
  • Вычисление значения кодом

    calculationofthevaluebycode

    VK Video

    Смотреть на VK video ⟹

    Какая секция кодов в настройках поля вычисляет значение поля?

    Секция код.

    Как взять значение поля из текущей таблицы?

    Очень просто — #name_field. Вместо name_field нэйм нужного вам поля. Как только вы поставите решетку и начнете набирать либо name, либо заголовок поля он предложит вам варианты.

    Еще вы можете взять name поля кликнув на нем — оно копируется в буфер обмена. То же самое с name таблицы.

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

    Для этого используется $code_row_name. Строка же обозначается как code_row_name:

    Например код вычисления НДС от общей суммы:


    =:
    #summ / $calc * #bid calc: 100 + #bid

    Код начнет выполнятся от =: и

    1. возьмет значения полей summ и bid

    2. увидит ссылку на строку calc

    3. Вычислит calc и подставит получившееся значение в формулу

    4. Закончит вычисление и запишет получившееся значение в поле

    Каким образом именуются строки кода?

    Строка кода обозначается как code_row_name:.

    Если кликнуть на ней дважды - подсветится все ее использование в коде — все места, где она вызывается по $code_row_name.

    Какая строка кода является стартовой?

    Для кодов это всегда =:

    Как ставить комментарии в кодах?

    Очень просто — // текст коментария. Например:


    =:
    #summ / $calc * #bid // вычисляем делитель в зависимости от ставки calc: 100 + #bid

    Можно ли структурировать код отступами?

    Да, при помощи tab и space. Рекомендуем пользоваться только tab.

    В каком порядке выполняются математические операции?

    В том, в котором они написаны. Те:

    =: $A + $B / $C
    
    A: 10
    B: 2
    C: 3
    
    

    При выполнении этого кода А будет сложено с B и потом поделено на C — получится 4.

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

    Скобки просто так использовать нельзя. Дело в том, что они обозначают функции, а не математические действия.

    Но есть такая возможность:

    =: math`($A + $B) / $C`
    
    A: 10
    B: 2
    C: 3
    
    

    При выполнении этого кода А будет сложено с B и потом поделено на C — получится 4.

    А если так:

    =: math`$A + $B / $C`
    
    A: 10
    B: 2
    C: 3
    
    

    То в специальном теге math + выделение засечками операции будут выполнены как в математике. При выполнении этого кода B будет поделено на C и потом сложено с A — получится 10.6666666666.

    Значимы ли отступы между элементами кода?

    Нет. Есть пробелы или нет неважно. Но хорошей практикой является оформление кода с пробелами:

    = : #f_order_summ - $pay_summ
    
    pay_summ: listSum(list: $list)
    
    list: selectList(table: 'paylist'; field: 'summ'; where: 'order' = $#nci)