Имя: Пароль:
1C
1С v8
Работа с таблицей значений
0 Andreich88
 
25.01.21
01:59
Здравствуйте.
Только учусь, строго не ругайте.
Есть таблица значений на форме, выгружаю колонку таблицы в массив. Необходимо отсортировать массив, пузырьком(там числа), но как я понял в массиве находятся ссылки на строки таблицы значений. Как это реализовать?
1 ДедМорроз
 
25.01.21
02:22
Если в массиве ссылки на строки,то сначала нужно определить функцию упорядочивания,которая позволит сравнить две строки,без этого никакой сортировки не будет.
2 МихаилМ
 
25.01.21
02:22
в 1с8 нет тз на форме. так было в 1с77
3 Andreich88
 
25.01.21
02:35
(2) Как реквизит формы или я не верно называю?
4 Andreich88
 
25.01.21
02:38
Массив получаю так
</
        Массив = Новый Массив;
    Массив = цифры.Выгрузить();
/>
5 Cthulhu
 
25.01.21
02:43
сверни в массив структур, передай на сервер, на сервере разверни в тз, осортируй, сверни обратно в массив структур, верни на клиента, на клиенте заполни из полученного массива структур коллекцию (которую ты называешь "тз на форме").
6 Cthulhu
 
25.01.21
02:44
(не знаю, можно ли на клиенте сортировать хак-тз)
7 Andreich88
 
25.01.21
03:03
Делаю на сервере, в результате выводит "СтрокаТаблицыЗначений" столько раз сколько элементов в массиве
</
Массив = Новый Массив;
    Массив = цифры.Выгрузить(,"Значение");
    СвернутыйМассив =Новый Массив;
    
    Для Каждого Элемент Из Массив Цикл
        Если СвернутыйМассив.Найти(Элемент) = Неопределено Тогда
            СвернутыйМассив.Добавить(Элемент);
        КонецЕсли;
    КонецЦикла;
    Сообщить(СтрСоединить(СвернутыйМассив, ","));
/>
8 hhhh
 
25.01.21
03:13
(7)     Массив = цифры.ВыгрузитьКолонку("Значение");
9 Andreich88
 
25.01.21
03:17
(8) Выдает ошибку - Метод объекта не обнаружен (ВыгрузитьКолонку)
10 hhhh
 
25.01.21
03:45
(9) тогда

Массив = цифры.Выгрузить().ВыгрузитьКолонку("Значение");
11 Малыш Джон
 
25.01.21
08:23
(0) необходимо отсортировать массив или необходимо получить отсортированный массив?
(10) ну нахрена ж советовать выгружать всю коллекцию данных формы? а если у него там 100500 элементов?
12 Малыш Джон
 
25.01.21
08:24
(0)
ТЗ = цифры.Выгрузить(,"Значение");
ТЗ.Сортировать("Значение");
Массив = ТЗ.ВыгрузитьКолонку("Значение");
13 Малыш Джон
 
25.01.21
08:26
+(12) это если на сервере делать
14 Andreich88
 
25.01.21
08:53
(12) Так все работает. Задача отсортировать именно пузырьком.
15 ДенисЧ
 
25.01.21
08:54
(14) Для пузырька рано ещё. У нас магазины с пузырьками открываются только в 10. Так что потерпи...
16 Andreich88
 
25.01.21
08:55
Вдруг круглосуточные есть)))
17 ДенисЧ
 
25.01.21
08:57
(16) Закон - он хоть и dura, но всё равно lex...
18 Малыш Джон
 
25.01.21
09:02
(14) тогда пропускай строку "ТЗ.Сортировать("Значение");"  и сортируй пузырьком
19 Малыш Джон
 
25.01.21
09:03
(15) ну вдруг у человека уже припасён пузырек и только массива не хватает, чтоб начать?
20 Andreich88
 
25.01.21
10:19
(10) Всем огромное спасибо. Заработало!
AdBlock убивает бесплатный контент. 1Сергей