⟵ сюдатуда ⟶
  • Мастерклассы
  • Внешние подключения
  • Tableau и PowerBI
  • amoCRM
  • Битрикс 24
  • База знаний
  • Обращение к данным временной таблицы
  • Потеря связи с БД при большом трафике данных
  • Сохранить файл в поле по внешней ссылке url
  • Формирование списка из отмеченных галочками строк и вывод на печать
  • Добавление цикла в таблицу циклов кнопкой из временной таблицы
  • Функция TryCatch и передача данных после отката
  • Ошибка доступа при переходе в цикл если первая таблица недоступна для пользователя
  • Архитектура системы рассчитывающей остатки по кассе или складу
  • Сортировка при выборке по отображению поля Селект, а не по его основанию
  • Блокировка введения дублированного значения
  • Табличное отображение в контекстной панели
  • Сортировка строк в таблице с помощью кнопки
  • Как получить значение по условию из списка вложенных массивов?
  • Сбросить счётчик id в таблице
  • Скрытие поля в таблице по условию
  • Подтверждение действия при нажатии на кнопку в контекстном окне
  • Пересчет большой таблицы
  • Как суммировать значения в rowList по одному из ключей (по одной из колонок)
  • Наборы полей по условию при открытии через linkToTable
  • Как отложить выполнение действия и выполнить его в фоне
  • Создание и удаление строк при выборе значений в Селект или Селект-дерево
  • selectRowListForSelect с условием при котором текущее значение получается зачеркнутым
  • Не все внешние запросы на Remotes выполняются и ломается счетчик id
  • Сортировка Расчётных таблиц в Цикле
  • Как передать данные в виде чисел при обращении POST к API стороннего сервиса (must be a "integer")
  • Как сделать график если есть несколько параметров
  • Сохранение изначальных значений в поле в случае, когда поле рассчитывается кодом
  • Сортировка строк в таблице с помощью кнопки

    Оригинал на GitHub

    Ссылка на GitHub ⟹

    Вопрос

    Подскажите пожалуйста как правильно написать скрипт для сортировки таблицы с помощью кнопки.

    =: listSort(list: $selectlist; type: "number"; direction: "desc")
    
    selectlist: selectList(table: $#ntn; field: 'quantity')
    

    Нажимаю кнопку и сортировка не происходит. Сортировка нужна как в простой так и временной таблице.

    Ответ

    Добрый день! Такой код работать не будет. Он не оказывает воздействия на таблицу, так как только берет и сортирует.

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

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

    =: procVar(name: "order"; value: true)
    

    В коде форматирования таблицы пишем:

    f1=: if(condition: $@order = true; then: $order)
        order: setRowsOrder(ids: $sorted_ids)
            sorted_ids: selectList(table: $#ntn; field: 'id'; order: 'quantity' desc)
    

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