1С 8.3 Сортировка Дерева Значений
Данные > Примеры кода 1С > 1С 8.3 Дерево значений
Перейти в раздел примеры кода 1С 8.3:
Сортировка ДЗ в 1С 8.3:
&НаСервере
Процедура Сортировка_дерева_значений(ДЗ) //ДЗ = Новый ДеревоЗначений;
//Добавляем колонки ДЗ
ДЗ.Колонки.Добавить("Результат");
ДЗ.Колонки.Добавить("ТипЗначения");
//Заполняем результатом строки ДЗ
СтрокаДЗ = ДЗ.Строки.Добавить();
СтрокаДЗ.Результат = "Б";
СтрокаДЗ.ТипЗначения = ТипЗнч(СтрокаДЗ.Результат);
СтрокаДЗ = ДЗ.Строки.Добавить();
СтрокаДЗ.Результат = "А";
СтрокаДЗ.ТипЗначения = ТипЗнч(СтрокаДЗ.Результат);
СтрокаДЗ = ДЗ.Строки.Добавить();
СтрокаДЗ.Результат = 4.5;
СтрокаДЗ.ТипЗначения = ТипЗнч(СтрокаДЗ.Результат);
СтрокаДЗ = ДЗ.Строки.Добавить();
СтрокаДЗ.Результат = 2;
СтрокаДЗ.ТипЗначения = ТипЗнч(СтрокаДЗ.Результат);
СтрокаДЗ = ДЗ.Строки.Добавить();
СтрокаДЗ.Результат = 1;
СтрокаДЗ.ТипЗначения = ТипЗнч(СтрокаДЗ.Результат);
//Сортируем строки
ДЗ.Строки.Сортировать("Результат", , Новый СравнениеЗначений);
// 1 вариант) Параметр ОбъектСравнения (СравнениеЗначений) не задан,
// значения простых типов сравниваются по значению,
// а значения остальных типов — по строковому представлению.
// 2 вариант) параметр ОбъектСравнения (СравнениеЗначений) задан,
// значения простых типов также сравниваются по значению,
// а значения остальных типов — по правилам:
//// 2.1 Объекты сравниваются по идентификатору
//// 2.2 Моменты времени сравниваются по дате и идентификатору объекта
//// 2.3 Остальные значения сравниваются по строковому представлению
// Получаем результат
Для Каждого Строка_ДЗ Из ДЗ.Строки Цикл
Сообщить(Строка_ДЗ.Результат); // 1; 2; 4,5; А; Б;
КонецЦикла;
КонецПроцедуры
Процедура Сортировка_дерева_значений(ДЗ) //ДЗ = Новый ДеревоЗначений;
//Добавляем колонки ДЗ
ДЗ.Колонки.Добавить("Результат");
ДЗ.Колонки.Добавить("ТипЗначения");
//Заполняем результатом строки ДЗ
СтрокаДЗ = ДЗ.Строки.Добавить();
СтрокаДЗ.Результат = "Б";
СтрокаДЗ.ТипЗначения = ТипЗнч(СтрокаДЗ.Результат);
СтрокаДЗ = ДЗ.Строки.Добавить();
СтрокаДЗ.Результат = "А";
СтрокаДЗ.ТипЗначения = ТипЗнч(СтрокаДЗ.Результат);
СтрокаДЗ = ДЗ.Строки.Добавить();
СтрокаДЗ.Результат = 4.5;
СтрокаДЗ.ТипЗначения = ТипЗнч(СтрокаДЗ.Результат);
СтрокаДЗ = ДЗ.Строки.Добавить();
СтрокаДЗ.Результат = 2;
СтрокаДЗ.ТипЗначения = ТипЗнч(СтрокаДЗ.Результат);
СтрокаДЗ = ДЗ.Строки.Добавить();
СтрокаДЗ.Результат = 1;
СтрокаДЗ.ТипЗначения = ТипЗнч(СтрокаДЗ.Результат);
//Сортируем строки
ДЗ.Строки.Сортировать("Результат", , Новый СравнениеЗначений);
// 1 вариант) Параметр ОбъектСравнения (СравнениеЗначений) не задан,
// значения простых типов сравниваются по значению,
// а значения остальных типов — по строковому представлению.
// 2 вариант) параметр ОбъектСравнения (СравнениеЗначений) задан,
// значения простых типов также сравниваются по значению,
// а значения остальных типов — по правилам:
//// 2.1 Объекты сравниваются по идентификатору
//// 2.2 Моменты времени сравниваются по дате и идентификатору объекта
//// 2.3 Остальные значения сравниваются по строковому представлению
// Получаем результат
Для Каждого Строка_ДЗ Из ДЗ.Строки Цикл
Сообщить(Строка_ДЗ.Результат); // 1; 2; 4,5; А; Б;
КонецЦикла;
КонецПроцедуры
0
комментарии
____________________
Перепечатка текста и фотографий разрешена при наличии прямой ссылки на источник