Содержание:
1. Сортировка данных по столбцу
2. Общая сортировка табличных частей
В данной статье будет описано то, как проводить сортировки записей в таблицах системы 1С, будет рассмотрено две вариации сортировок, а именно: обычная сортировка табличной части и сортировка данных по столбцу (колонке), которую можно просчитать. Также будут приведены примеры программных решений для демонстрации вышеописанных видов сортировок полей таблиц.
1. Сортировка данных по столбцу
Рассмотрим первый вариант, в котором будем создавать сортировку части таблицы через столбец (колонку), который можно вычислить. Сразу стоит отметить то, что провести сортировку табличных частей через столбец, который не есть реквизит, возможности нет через метод «Сортировать». Данный метод демонстрируется на скриншоте ниже, в нём товары должны быть отсортированы по реквизиту «Артикул»:
Сортировка данных по столбцу методом Сортировать
Если же, всё же, воспользоваться данным методом, то в результате будем иметь ошибку следующего вида: «Неверное имя колонки 1С».
Рассмотрим, как же, всё-таки провести сортировку полей таблицы через некоторый известный столбец. Для этого потребуется написать код программы такой, который будет написан в процедуре, которая отвечает за клик на кнопку. Программный код для сортировки табличной части, через известный столбец, следующий:
Сортировка табличной части через известный столбец
2. Общая сортировка табличных частей
Далее, следует обратить внимание, на ещё один порядок сортировки в таблице которая является более обобщённой. Так как данная задача встречается довольно часто, то уместно знать несколько возможных её решений. В формах, которыми можно управлять, для табличных частей объектов (внутри различных справочников, в документации и иных объектах из метаданных) данная процедура проходит достаточно просто, а именно: при помощи такого инструмента, как признак индексирования колонки в табличных частях. То есть, колонкам присваивается индекс и далее, в процедуре, при сортировке идёт обращение к нужному индексу колонки. Но, стоит заметить, что признаком индексирования нельзя воспользоваться в том случае, если нужно провести сортировку во внешней обработке. Для такой ситуации нужно написание корректного программного кода, который необходимо добавить в форму, её модуль, и который будет иметь следующую структуру:
· Создать процедуру, которая будет отвечать за сортировку таблицы по возрастанию или по убыванию из внешней обработки в правильной последовательности;
· Определить необходимые параметры сортировки;
· Создать команду в форме, которая будет отвечать за направленность сортировки (сортировка таблицы по убыванию или возрастанию).
Также в данном программном решении наименование колонки, которая будет подлежать сортировке, меняется на наименование таблицы. Далее представлен программный код, который был описан выше:
Программный код сортировки записей в таблице
Также, внутри формы по обработке, нужно написать те команды, которые вызывают данное программное решение и добавить кнопки на панель команд, кликнув на которые можно будет осуществить сортировку. После всех вышеописанных действий, сортировка таблицы в форме будет добавлена и проведена.
В данной статье было описано то, как проводить сортировку табличной части в 1С двумя способами, при помощи программных решений.
Специалист компании «Кодерлайн»
Айдар Фархутдинов