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

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

    Описание panel-функций в документации

    Для этого в коде форматирования надо использовать префикс p1=: вместо стандартного f1=:.

    С этим префиксом работают не все функции форматирования, а только panel-функции:

    • panelButtons — размещает на панели дополнительные кнопки.

    • panelImg — размещает на панели изображение.

    • panelHtml — отображает на панели html.

    p0=: panelHtml(html: $strpanel)
        strpanel: str`"Физически на Складе<b>" ++ $flat ++ "</b>из которых" ++ $block ++ "в резерве."`
            flat: select(table: 'goods'; field: 'count'; where: 'id' = #name)
            block: select(table: 'goods'; field: 'block'; where: 'id' = #name)
    
    p1=: panelButtons(condition: $block != 0; button: $b1; refresh: true)
        b1: rowCreate(field: "text" = "ПОСМОТРЕТЬ РЕЗЕРВЫ"; field: "code" = "show_block")
    
    
    p2=: panelButtons(button: $b2; refresh: true)
        b2: rowCreate(field: "text" = "ПОСМОТРЕТЬ ДВИЖЕНИЕ"; field: "code" = "show_move")
    
    

    panel-функции могут быть вызваны из секции f?

    Нет, только из p.

    Секция f и p имеют сквозную нумерацию?

    Нет у них собственные раздельные нумерации.

    Хорошим оформлением кода является ставить p секцию после того как закончились все f — не смешивая.

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

    Конечно, для этого в panelButtons и прочих panel-функциях есть параметр condition.

    Вызывает ли срабатывание кнопки refresh в текущей таблице?

    Нет — если кнопка выполняет действие в текущей таблице, то появится уведомление о том, что таблица была изменена.

    Что бы автоматическа сделать refresh таблице необходимо передать refresh: true в panelButtons.

    Какого вида необходимо передать row, чтобы сформировать кнопку?

    Обязательные ключи это text и code:


    =:
    rowCreate(field: "text" = "ПОСМОТРЕТЬ РЕЗЕРВЫ"; field: "code" = "show_block")

    Каким образом можно передать код для выполнения в “code”?

    В code передается строка. Например:


    =:
    rowCreate(field: "text" = "ПО УМОЛЧАНИЮ"; field: "code" = $code) code: "=: set(table: $#ntn; field: 'field_name' = 100)"

    Также в качестве code можно передать name поля в текущей таблице из которого будет взят код-действия.


    =:
    rowCreate(field: "text" = "ПО УМОЛЧАНИЮ"; field: "code" = "field_name")

    И третий способ, когда вы хотите передать многострочный код и иметь к нему доступ в этом же окне:

    ```totum

    =: rowCreate(field: "text" = "ПО УМОЛЧАНИЮ"; field: "code" = $code)

    ```code:totum

    =: set(table: $#ntn; field: 'field_name' = $default)

    default: 100

    ```

    Этот блок при сохранении сохраняется как текст.

    Если указано :totum — то будет активирована подсветка totum-кода.

    Названия строк и ссылок на строки $default исключены из подсветки текущего кода и никак не пересекаются с именами вне выделенной области!

    Какие переменные окружения передаются в выполняемый код?

    $#ntn, $#nci, $#nth, #id (и прочие строчные поля).

    Если вам нужно передать в код дополнительные переменные, то надо передать row в параметр vars.