![]() |
![]() |
![]() |
|
Сортировка массива по колонке | ☑ | ||
---|---|---|---|---|
0
arhiordinator
16.06.14
✎
13:27
|
Вопрос такой, есть массив, в нём наименование, цена, количество, нужно отсортировать записи массива по количеству. Как лучше это сдеать, думаю через таблицу значений, чет не помню как делается.
|
|||
1
Любопытная
16.06.14
✎
13:30
|
ДенисЧ продал все СП и тебе ничего не осталось?
ТаблицаЗначений (ValueTable) Сортировать (Sort) Синтаксис: Сортировать(<Колонки>, <ОбъектСравнения>) Параметры: <Колонки> (обязательный) Тип: Строка. Список имен колонок, разделенных запятыми, по которым производится сортировка таблицы. После каждого имени колонки через пробел может быть указано направление сортировки. Направление определяется: "Убыв" ("Desc") - упорядочивать по убыванию; "Возр" ("Asc") - упорядочивать по возрастанию. По умолчанию сортировка производится по возрастанию. Порядок указания имен колонок таблицы определяет порядок сортировки. Это означает, что сначала таблица сортируется по колонке, указанной первой. Затем группы строк с одинаковым значением в этой колонке сортируются по колонке, которая указана второй, и так далее. |
|||
2
МихаилМ
16.06.14
✎
13:30
|
а справку почитать религия не позволяет.
|
|||
3
arhiordinator
16.06.14
✎
13:32
|
(1) А как массив передать в таблицу значений и выгрузить обратно?
|
|||
4
ДенисЧ
16.06.14
✎
13:33
|
в массиве не может быть "наименование, цена, количество"
Там только одно значение на элемент |
|||
5
МихаилМ
16.06.14
✎
13:34
|
(3)
ТаблицаЗначений (ValueTable) ЗагрузитьКолонку (LoadColumn) Синтаксис: ЗагрузитьКолонку(<Массив>, <Колонка>) Параметры: <Массив> (обязательный) Тип: Массив. Массив значений, который выступает в качестве источника данных для колонки. <Колонка> (обязательный) Тип: Число; Строка; КолонкаТаблицыЗначений. Колонка, в которую будут загружены значения из массива. В качестве значения параметра может выступать индекс колонки, имя колонки, сама колонка. Описание: Загружает колонку таблицы значений из массива значений. Доступность: Сервер, толстый клиент, внешнее соединение. Примечание: Значения из массива загружаются в колонку в порядке индексов. Пример: ТаблицаРезультат = Новый ТаблицаЗначений; Для каждого ИмяКолонки Из МассивИменКолонок Цикл ТаблицаРезультат.Колонки.Добавить(ИмяКолонки); КонецЦикла; // Создадим пустые строки таблицы Для Н=1 По СтрокиДереваЗначений.Количество() Цикл ТаблицаРезультат.Добавить(); КонецЦикла; // Скопируем значения колонок Для каждого ИмяКолонки Из МассивИменКолонок Цикл ЗначенияКолонки = СтрокиДереваЗначений.ВыгрузитьКолонку(ИмяКолонки); ТаблицаРезультат.ЗагрузитьКолонку(ЗначенияКолонки, ИмяКолонки); КонецЦикла; ------------------ + не забыть, что двумерный массив есть массив массивов. |
|||
6
mistеr
16.06.14
✎
13:43
|
У него небось массив структур...
|
|||
7
Fram
16.06.14
✎
13:45
|
(3) а как ты в массив эти данные закачал?..
|
|||
8
Fram
16.06.14
✎
13:46
|
+(7) возврат серверной функции в клиент?
|
|||
9
arhiordinator
16.06.14
✎
13:51
|
(6) Массив строк :) Методом найти строки в таблице значений. Возвращает массив строк, и че теперь с ним делать. Нужно бы отсортировать как то по количеству.
|
|||
10
Любопытная
16.06.14
✎
13:53
|
(9) может сортировать таблицу значений, а потом из нее получать массив строк?
|
|||
11
Grekos2
16.06.14
✎
13:54
|
(9) Создай новую ТЗ. Перепиши туда эти строки
|
|||
12
Любопытная
16.06.14
✎
13:55
|
(9) ТаблицаЗначений (ValueTable)
Скопировать (Copy) Вариант синтаксиса: Скопировать строки Синтаксис: Скопировать(<Строки>, <Колонки>) Параметры: <Строки> (необязательный) Тип: Массив. Массив строк для копирования. Если не указан, копируются все строки таблицы значений. |
|||
13
МихаилМ
16.06.14
✎
13:55
|
(9)
да почитайте Вы справку по ТЗ. там есть ответ на ваш вопрос. хватит тупить. |
|||
14
Любопытная
16.06.14
✎
13:56
|
(9) Продам СП за серебряное колечко) Размер 18,5 ;)
|
|||
15
Анцеранана
16.06.14
✎
14:22
|
(0) ээ кхм я так понял в массиве какие-то строки? Из ТЗ? или из чего?
Сначала отсортируй Затем загоняй в массив. И делов-то) |
|||
16
vhl
16.06.14
✎
15:17
|
Учись, студент:
Функция СортировкаПузырьком(МассивЭлементов) Экспорт // Количество просмотров массива - по количеству числа его элементов Для просмотр = 0 По МассивЭлементов.Количество()-1 Цикл // Собственно, просмотр массива Для индекс = 0 По МассивЭлементов.Количество()-1 Цикл // Если достигли конца массива то прервём цикл, // чтобы не выполнять условие ниже Если индекс = МассивЭлементов.Количество()-1 Тогда Прервать; КонецЕсли; // Сравнение элементов и их перестановка (если требуется) Если МассивЭлементов[индекс].МоеКоличество > МассивЭлементов[индекс+1].МоеКоличество Тогда СтаршийЭлемент = МассивЭлементов[индекс]; МладшийЭлемент = МассивЭлементов[индекс+1]; МассивЭлементов[индекс] = МладшийЭлемент; МассивЭлементов[индекс+1] = СтаршийЭлемент; КонецЕсли; КонецЦикла; КонецЦикла; Возврат МассивЭлементов; КонецФункции |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |