Массив ТЗ стандарт не работает

1. zoeh 31 26.10.23 15:08 Сейчас в теме
Массив получен из процедуры поиска строк из таблицы значений. теперь эти строки нужно отсортровать

Функция ПреобразоватьМассивВТаблицуЗначений(мсДанные) Экспорт

тзДанные = Новый ТаблицаЗначений;

Для Каждого ЭлементМассива Из мсДанные Цикл
// Рисуем колонки для таблицы

Если тзДанные.Колонки.Количество() = 0 Тогда
Для Каждого ЗначениеСтруктуры Из ЭлементМассива Цикл
тзДанные.Колонки.Добавить(ЗначениеСтруктуры.Ключ);
КонецЦикла;
КонецЕсли;

// Добавляем данные в таблицу

НоваяСтрока = тзДанные.Добавить();
Для Каждого ЗначениеСтруктуры Из ЭлементМассива Цикл
НоваяСтрока[ЗначениеСтруктуры.Ключ] = ЗначениеСтруктуры.Значение;
КонецЦикла;
КонецЦикла;

Возврат тзДанные;

КонецФункции
По теме из базы знаний
Найденные решения
2. newlogin1 26.10.23 15:26 Сейчас в теме
(1)А может лучше их отсортировать в изначальной таблицы, а потом через найтиСтроки они уже будут какие нужно?
4. soft_wind 26.10.23 16:32 Сейчас в теме
тогда найтиСтроки сразу поместить в новую/копию таблицы
и ее сортирнуть одной командой!

т.е. всего 2 команды

НайденаяТЗ = тзДанные.Скопировать(мсДанные);
НайденаяТЗ.Сортировать(...);
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. newlogin1 26.10.23 15:26 Сейчас в теме
(1)А может лучше их отсортировать в изначальной таблицы, а потом через найтиСтроки они уже будут какие нужно?
3. Sashares 33 26.10.23 16:11 Сейчас в теме
(2)Не будут. Найти строки не гарантирует порядок.
Но вместо использования НайтиСтроки можно сделать копию таблицы с отбором. И ее отсортировать.
5. zoeh 31 27.10.23 06:59 Сейчас в теме
(2)действительно потом и сам допетрил, нафига в массив и потом сортировать когда можно сразу в массив, лишь бы порядок был нужный как описано ниже??!!??
6. SlavaKron 27.10.23 10:30 Сейчас в теме
(5) Не наступайте на старые грабли – почитайте https://infostart.ru/1c/tools/117041/
4. soft_wind 26.10.23 16:32 Сейчас в теме
тогда найтиСтроки сразу поместить в новую/копию таблицы
и ее сортирнуть одной командой!

т.е. всего 2 команды

НайденаяТЗ = тзДанные.Скопировать(мсДанные);
НайденаяТЗ.Сортировать(...);
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот