|
Сортировка массива строк ТЗ в 1С8.3. Как? | ☑ | ||
---|---|---|---|---|
0
bolobol
30.08.18
✎
13:20
|
День долбрый!
Подскажите, есть что-то эффективное, могущее сортирнуть массив строк ТЗ по, хотя бы, одному полю строк ТЗ ? Спасибо! А то сделал пузырёк - он умирает на 3000 элементах намертво... |
|||
1
Wirtuozzz_Х
30.08.18
✎
13:21
|
(0) Пузырьком можно)
|
|||
2
Wirtuozzz_Х
30.08.18
✎
13:21
|
(0) не до читал ((((
|
|||
3
Cyberhawk
30.08.18
✎
13:22
|
Загрузить строки в ТЗ, отсортировать
|
|||
4
Пуля
30.08.18
✎
13:25
|
А то сделал пузырёк - он умирает на 3000 элементах намертво...
Сто в лоб, то что ты сделал не пузырек. |
|||
5
13_Mult
30.08.18
✎
13:40
|
qsort ?
https://habr.com/post/133996/ |
|||
6
unregistered
30.08.18
✎
13:42
|
Не понял задачу.
Массив строк ТЗ - это и есть ТЗ. Что мешает отсортировать ТЗ? |
|||
7
Cyberhawk
30.08.18
✎
13:43
|
(6) "Массив строк ТЗ - это и есть ТЗ" // Ну мы же на форуме 1С. Мысли приземленнее.
|
|||
8
Timon1405
30.08.18
✎
13:45
|
а как получен этот массив строк? нельзя ли там вместо ТЗ.НайтиСтроки(ПараметрыОтбора) использовать
ТЗ.Скопировать(ПараметрыОтбора) |
|||
9
bolobol
30.08.18
✎
13:50
|
(8) Есть дальнейшая необходимость изменять данные исходной ТЗ, а при копировании - связи с исходной не останется.
|
|||
10
bolobol
30.08.18
✎
13:51
|
(5) Реализовано?
|
|||
11
bolobol
30.08.18
✎
13:51
|
(3) Надо экспериментануть...
|
|||
12
arsik
гуру
30.08.18
✎
13:52
|
(9) Ой, да добавь УИД строки.
|
|||
13
bolobol
30.08.18
✎
13:56
|
(12) Связи нет, какой УИД брать?
|
|||
14
Cyberhawk
30.08.18
✎
13:59
|
Скопируй из исходной ТЗ нужные и ненужные строки в две новых ТЗ
|
|||
15
Cyberhawk
30.08.18
✎
13:59
|
Одну из двух ТЗ отсортируй и добавь затем ее к той, которая другая
|
|||
16
Fedor-1971
30.08.18
✎
14:01
|
(9) Возможно, имеется в виду Массив, заполненный одинаковыми (или разными) структурами и сортировать нужно по одному из свойств структуры?
(13) ты создал ТЗ, добавь в неё колонку УИД, при копировании и последующей сортировке / изменении строк в новой ТЗ сможешь получить связку с исходной (была одна строка - стало 2, или наоборот убрали в копии данные) |
|||
17
МихаилМ
30.08.18
✎
14:11
|
(9) связь останется если в тз созданную из массива строк тз
добавить колонку с массивом строк. у Вас совсем не развито алгоритмическое мышление. |
|||
18
unregistered
30.08.18
✎
14:17
|
ИсходнаяТЗ = Массив[0].Владелец();
ПустаяКопияИсходнойТЗ = ИсходнаяТЗ.СкопироватьКолонки(СписокКолонокПоКоторымСортируем); ПустаяКопияИсходнойТЗ.Колонки.Добавить("СсылкаНаСтрокуВИсходнойТЗ"); Для Каждого ЭлементМассива Из Массив Цикл НоваяСтрока = ПустаяКопияИсходнойТЗ.Добавить(); ЗаполнитьЗначенияСвойств(НоваяСтрока, ЭлементМассива); НоваяСтрока.СсылкаНаСтрокуВИсходнойТЗ = ЭлементМассива; КонецЦикла; ПустаяКопияИсходнойТЗ.Сортировать(СписокКолонокПоКоторымСортируем); Массив = ПустаяКопияИсходнойТЗ.ВыгрузитьКолонку("СсылкаНаСтрокуВИсходнойТЗ"); // Перезаполняем исходный массив |
|||
19
13_Mult
30.08.18
✎
14:20
|
||||
20
bolobol
30.08.18
✎
14:21
|
(17) Бу-гага))) Колонку со строками из массива, имели в виду?
(14) Отбор ненужных строк - это как сделать? "НЕ Отбор" - не припомню такого. Насчёт внедрения УИД-а в исходную ТЗ - это, кстати, вариант Спасибо всем! Шоры сняты) |
|||
21
bolobol
30.08.18
✎
14:24
|
(19) Это, прям, вообще - кладезь мудрости, особенно: "Все сортировки можно ускорить расположив код в циклах в 1 строку." Спасибо!
|
|||
22
unregistered
30.08.18
✎
14:27
|
(21) > код в циклах в 1 строку
Баянище древнее. Этот миф ещё с клюшек живёт. |
|||
23
Cyberhawk
30.08.18
✎
14:33
|
(22) Так-то это не миф
|
|||
24
13_Mult
30.08.18
✎
14:34
|
(22) Это :]|||||[: но не миф. :)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |