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

    formatting

    Какой параметр блокирует изменение поля?

    block: true

    Это блокировка на стороне сервера или на клиенте?

    Эта блокировка на клиенте — если человек знает JS, то он сможет отправить значение в обход этой блокировки.

    Поэтому блокировки через форматирование являются нежесткими.

    Про жесткие блокировки на стороне сервера будет позже. Блокировки форматированием — это защита от ошибки пальцев.

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

    Если у вас заблокирована строка через код форматирования строки, то если в поле будет указано block: false — то поле будет разблокировано.

    Форматирование полей имеет преимущество перед форматированием строк.

    Поле блокируется только на изменение или на добавление тоже?

    При передаче block: true поле блокируется как наизменение, так и в процессе добавления.

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

    У строки добавления нет id, поэтому:

    f1=: setFormat(condition: #id = ""; block: true)
    
    

    Как заблокировать поле для роли или пользователя?

    Есть две быстрые переменные возвращающие номер роли или номер пользователя:

    • $#nr — (от now roles) возвращает список из номеров ролей пользователя.

    • $#nu — (от now user) возвращает номер пользователя в таблице пользователей.

    Например заблокировать в строке добавления только для роли 2:

    f1=: setFormat(condition: #id = ""; condition: $#nr = 1; block: true)
    
    

    Например заблокировать для всех при статусе 3 и разблокировать для пользователя 10:

    f1=: setFormat(condition: #status = 3; block: true)
    
    f2=: setFormat(condition: $#nu = 10; block: false)