Сортировка массива в 1С

Существует много алгоритмов сортировки массивов. Все они могут быть адаптированы для любого языка программирования, в том числе и 1С. Но в 1С реализованы и платформенные способы сортировки. Именно о них пойдет речь в статье.

Самым простым и достаточно быстрым способом сортировки массива в 1С является следующий алгоритм:

  1. Выгрузка исходного массива в список значений;
  2. Сортировка списка значений с использованием платформенного метода СортироватьПоЗначению();
  3. Выгрузка списка значений обратно в массив.

Рассмотрим пример программного кода, реализующего описанную последовательность действий:
Список = Новый СписокЗначений; // Подготовительные действия: создание списка значений
Список.ЗагрузитьЗначения(Массив); // Этап 1
Список.СортироватьПоЗначению(НаправлениеСортировки.Возр); // Этап 2
Массив = Список.ВыгрузитьЗначения
(); // Этап 3

Параметр метода СортироватьПоЗначению() может принимать значения:

  • НаправлениеСортировки.Возр;
  • НаправлениеСортировки.Убыв.

Таблицу значений также можно использовать для сортировки массива по аналогии с описанным алгоритмом, но это не так удобно, т.к. требуются дополнительные действия:
ТЗ = Новый ТаблицаЗначений;
ТЗ.Колонки.Добавить("ЗначенияМассива"); // Создание колонки, в которую будет загружен массив
// Создание строк по количеству элементов массива

Для Ном = 1 По Массив.Количество() Цикл
ТЗ.Добавить();
КонецЦикла;
ТЗ.ЗагрузитьКолонку(Массив, "ЗначенияМассива");
ТЗ.Сортировать("ЗначенияМассива Возр");
Массив = ТЗ.ВыгрузитьКолонку
("ЗначенияМассива");

Кроме того, необходимо помнить, что таблица значений доступна только на стороне сервера.

Оцените статью