Существует много алгоритмов сортировки массивов. Все они могут быть адаптированы для любого языка программирования, в том числе и 1С. Но в 1С реализованы и платформенные способы сортировки. Именно о них пойдет речь в статье.
Самым простым и достаточно быстрым способом сортировки массива в 1С является следующий алгоритм:
- Выгрузка исходного массива в список значений;
- Сортировка списка значений с использованием платформенного метода СортироватьПоЗначению();
- Выгрузка списка значений обратно в массив.
Рассмотрим пример программного кода, реализующего описанную последовательность действий:
Список = Новый СписокЗначений; // Подготовительные действия: создание списка значений Список.ЗагрузитьЗначения(Массив); // Этап 1 Список.СортироватьПоЗначению(НаправлениеСортировки.Возр); // Этап 2 Массив = Список.ВыгрузитьЗначения(); // Этап 3
Параметр метода СортироватьПоЗначению() может принимать значения:
- НаправлениеСортировки.Возр;
- НаправлениеСортировки.Убыв.
Таблицу значений также можно использовать для сортировки массива по аналогии с описанным алгоритмом, но это не так удобно, т.к. требуются дополнительные действия:
ТЗ = Новый ТаблицаЗначений; ТЗ.Колонки.Добавить("ЗначенияМассива"); // Создание колонки, в которую будет загружен массив // Создание строк по количеству элементов массива Для Ном = 1 По Массив.Количество() Цикл ТЗ.Добавить(); КонецЦикла; ТЗ.ЗагрузитьКолонку(Массив, "ЗначенияМассива"); ТЗ.Сортировать("ЗначенияМассива Возр"); Массив = ТЗ.ВыгрузитьКолонку("ЗначенияМассива");
Кроме того, необходимо помнить, что таблица значений доступна только на стороне сервера.
Остались вопросы?
Спросите в комментариях к статье.
Смотри также:
Программная работа со справочниками
Как узнать кто и когда изменял объект 1С
Получение числа прописью