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

    пример с вложенной временной таблицей

    Это классная задача, которая решается при помощи параметра hide: true функции linkToDataTable. Если этого параметра нет, то linkToDataTable открывает окно, а если есть hide: true — то окно не открывается, а функция вернет назад hash созданной временной таблицы.

    Те получается так:

    1. Вызывается временная таблица, которая должна заполниться по insertподробнее про автозаполнение.

    2. h_insert взывает еще одну временную с параметром hide: true.

      Несмотря на то, что linkToDataTable является функцией действия ее можно выполнить из кода.

    3. Вложенная временная делает нужное вычисление.

    4. h_insert получив hash вложенной временной забирает из нее данные.

    Все это упаковывается в код h_insert примерно так:

    =: selectList(table: 'tmp_table_2'; hash: $linkto; field: 'id')
    
    linkto: linkToDataTable(table: 'tmp_table_2'; params: $row; hide: true)
    
    row: rowCreate()
    
    

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

    Вы можете вызвать временную таблицу и передать в нее хэш временной таблицы, который получается через выполняемую только во временной таблице переменную $#nth.

    Используя эту переменную в функциях типа set в параметре hash можно передать значение именно в ту версию временной таблицы из которой была открыта вторая.

    Порядок реализации такой:

    1. Кнопкой в первой временной открываем вторую временную таблицу.

      =: linkToDataTable(table: 'tmp_table_2'; title: "Complex data"; params: $row; refresh: true)
          row: rowCreate(field: "hash" = $#nth)
      
      
      
    2. Вносим в нее данные.

    3. Кнопкой настраиваем возврат данных из второй временной таблицы в первую.

      =: set(table: 'tmp_table_1'; hash: #hash; field: 'data' = #data)
      
      

    пример для строки добавления

    В строке добавления нет триггеров, поэтому код-действия можно выполнить только из Кнопки.

    По умолчанию кнопки в строке добавления заблокированы, но их можно разблокировать параметром Включить кнопку в строке добавления.

    Вы можете вызвать временную таблицу и передать в нее хэш строки добавления, который получается через выполняемую только в коде переменную $#ih.

    Используя эту переменную в функциях типа set в параметре hash можно передать значение именно в строку добавления открытую у пользователя.

    Порядок реализации такой:

    1. Кнопкой в строке добавления открываем временную таблицу.

      =: linkToDataTable(table: 'tmp_table'; title: "Complex data"; params: $row; refresh: true)
          row: rowCreate(field: "insert_hash" = $#ih)
      
      
      
    2. Вносим в нее комплексные данные.

    3. Кнопкой настраиваем возврат данных из временной таблицы в строку добавления.

      =: set(table: 'table'; hash: #insert_hash; field: 'data' = #data)