Вход | Регистрация



Сортировка массива строк ТЗ в 1С8.3. Как?

Сортировка массива строк ТЗ в 1С8.3. Как?
Я
   bolobol
 
30.08.18 - 13:20
День долбрый!

Подскажите, есть что-то эффективное, могущее сортирнуть массив строк ТЗ по, хотя бы, одному полю строк ТЗ ?

Спасибо!

А то сделал пузырёк - он умирает на 3000 элементах намертво...
 
 
   Wirtuozzz_Х
 
1 - 30.08.18 - 13:21
(0) Пузырьком можно)
   Wirtuozzz_Х
 
2 - 30.08.18 - 13:21
(0) не до читал ((((
   Cyberhawk
 
3 - 30.08.18 - 13:22
Загрузить строки в ТЗ, отсортировать
   Пуля
 
4 - 30.08.18 - 13:25
А то сделал пузырёк - он умирает на 3000 элементах намертво...
Сто в лоб, то что ты сделал не пузырек.
   13_Mult
 
5 - 30.08.18 - 13:40
   unregistered
 
6 - 30.08.18 - 13:42
Не понял задачу.
Массив строк ТЗ - это и есть ТЗ. Что мешает отсортировать ТЗ?
   Cyberhawk
 
7 - 30.08.18 - 13:43
(6) "Массив строк ТЗ - это и есть ТЗ" // Ну мы же на форуме 1С. Мысли приземленнее.
   Timon1405
 
8 - 30.08.18 - 13:45
а как получен этот массив строк? нельзя ли там вместо ТЗ.НайтиСтроки(ПараметрыОтбора) использовать
ТЗ.Скопировать(ПараметрыОтбора)
   bolobol
 
9 - 30.08.18 - 13:50
(8) Есть дальнейшая необходимость изменять данные исходной ТЗ, а при копировании - связи с исходной не останется.
   bolobol
 
10 - 30.08.18 - 13:51
(5) Реализовано?
 
 Рекламное место пустует
   bolobol
 
11 - 30.08.18 - 13:51
(3) Надо экспериментануть...
   arsik
 
12 - 30.08.18 - 13:52
(9) Ой, да добавь УИД строки.
   bolobol
 
13 - 30.08.18 - 13:56
(12) Связи нет, какой УИД брать?
   Cyberhawk
 
14 - 30.08.18 - 13:59
Скопируй из исходной ТЗ нужные и ненужные строки в две новых ТЗ
   Cyberhawk
 
15 - 30.08.18 - 13:59
Одну из двух ТЗ отсортируй и добавь затем ее к той, которая другая
   Fedor-1971
 
16 - 30.08.18 - 14:01
(9) Возможно, имеется в виду Массив, заполненный одинаковыми (или разными) структурами и сортировать нужно по одному из свойств структуры?

(13) ты создал ТЗ, добавь в неё колонку УИД, при копировании и последующей сортировке / изменении строк в новой ТЗ сможешь получить связку с исходной (была одна строка - стало 2, или наоборот убрали в копии данные)
   МихаилМ
 
17 - 30.08.18 - 14:11
(9) связь останется если в тз созданную из массива строк тз
добавить колонку с массивом строк.

у  Вас совсем не развито алгоритмическое мышление.
   unregistered
 
18 - 30.08.18 - 14:17
ИсходнаяТЗ = Массив[0].Владелец();
 ПустаяКопияИсходнойТЗ = ИсходнаяТЗ.СкопироватьКолонки(СписокКолонокПоКоторымСортируем);
 ПустаяКопияИсходнойТЗ.Колонки.Добавить("СсылкаНаСтрокуВИсходнойТЗ");
 Для Каждого ЭлементМассива Из Массив Цикл
   НоваяСтрока = ПустаяКопияИсходнойТЗ.Добавить();
   ЗаполнитьЗначенияСвойств(НоваяСтрока, ЭлементМассива);
   НоваяСтрока.СсылкаНаСтрокуВИсходнойТЗ = ЭлементМассива;
 КонецЦикла;
 ПустаяКопияИсходнойТЗ.Сортировать(СписокКолонокПоКоторымСортируем);
 Массив = ПустаяКопияИсходнойТЗ.ВыгрузитьКолонку("СсылкаНаСтрокуВИсходнойТЗ");// Перезаполняем исходный массив
   13_Mult
 
19 - 30.08.18 - 14:20
   bolobol
 
20 - 30.08.18 - 14:21
(17) Бу-гага))) Колонку со строками из массива, имели в виду?

(14) Отбор ненужных строк - это как сделать? "НЕ Отбор" - не припомню такого.

Насчёт внедрения УИД-а в исходную ТЗ - это, кстати, вариант
Спасибо всем! Шоры сняты)
   bolobol
 
21 - 30.08.18 - 14:24
(19) Это, прям, вообще - кладезь мудрости, особенно: "Все сортировки можно ускорить расположив код в циклах в 1 строку." Спасибо!
   unregistered
 
22 - 30.08.18 - 14:27
(21) > код в циклах в 1 строку

Баянище древнее. Этот миф ещё с клюшек живёт.
   Cyberhawk
 
23 - 30.08.18 - 14:33
(22) Так-то это не миф
   13_Mult
 
24 - 30.08.18 - 14:34
(22) Это :]|||||[: но не миф. :)


Список тем форума
Рекламное место пустует  Рекламное место пустует
Здесь во втором сообщении вам дадут решение, а в двадцатом дадут правильное решение. Ymryn
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует