Имя: Пароль:
1C
1С v8
Сортировка ТЧ документа
0 moonlight
 
15.07.14
17:02
Привет всем!

Хочу отсортировать ТЧ документа так чтобы сортировка была по коду значения первого столбца, тип которого ПланВидовХарактеристикСсылка.СвойстваОбъектов.

Пробовал такой код:

Альфа=новый СравнениеЗначений;
ПараметрыОборудования.Сортировать("Свойство Возр", Альфа);

Результат:

http://clip2net.com/s/iwBFSt

Что не так делаю, где ошибка?
1 YF
 
15.07.14
17:05
(0) Значения кода хранятся в реквизите табличной части?
2 moonlight
 
15.07.14
17:08
нет? 3 колонка - информативная. ее в конечном варианте не будет!
3 YF
 
15.07.14
17:11
(2) Тогда по какому месту ты собираешься сортировать?
4 StaticUnsafe
 
15.07.14
17:13
(0) если в самой ТЧ нет поля по которому надо сортировать тогда через костыль.

Способ 1: выгрузи ТЧ в таблицу значений, добавь колонку, заполни кодом, отсортируй, загрузи обратно в ТЧ

Способ 2: перебором строк - методом "пузырька" например, перестановки ну и т.д.
5 moonlight
 
15.07.14
17:14
(3) сортирую по колонке - "Свойство" и хочу чтобы не по представлению была сортировка, а по коду значения. Для этого я специально отредактировал коды
6 moonlight
 
15.07.14
17:17
Вроде как можно и через метод Сортировать()

Тип: Строка. Список имен колонок, разделенных запятыми, по которым производится сортировка таблицы. После каждого имени колонки через пробел может быть указано направление сортировки. Направление определяется: "Убыв" ("Desc") - упорядочивать по убыванию; "Возр" ("Asc") - упорядочивать по возрастанию. По умолчанию сортировка производится по возрастанию. Порядок указания имен колонок таблицы определяет порядок сортировки. Это означает, что сначала таблица сортируется по колонке, указанной первой. Затем группы строк с одинаковым значением в этой колонке сортируются по колонке, которая указана второй, и так далее.
<ОбъектСравнения> (необязательный)
Тип: СравнениеЗначений. Объект для сравнения значений. Независимо от того, задан объект сравнения или нет, элементы, чьи типы не совпадают, сравниваются по коду типа, а элементы простых типов сравниваются по значению. Дополнительно к этому:
если объект сравнения не задан, то элементы остальных типов сравниваются по строковому представлению;
если объект сравнения задан, то:
объекты сравниваются по идентификатору;
моменты времени сравниваются по дате и идентификатору объекта;
элементы остальных типов сравниваются по строковому представлению.
Описание:
Сортирует таблицу значений в соответствии с указанными правилами сортировки.

Доступность:
Сервер, толстый клиент, внешнее соединение.
Пример:
ТаблицаЦен.Сортировать("Цена Убыв, Товар Возр");

//Пример с использованием объекта сравнения
Альфа = Новый СравнениеЗначений;
ТаблицаЦен.Сортировать("Цена Убыв", Альфа);
7 StaticUnsafe
 
15.07.14
17:19
(6) нет
8 moonlight
 
15.07.14
17:26
(7) чей то? Вроде в справке пишут что должно при 2ом аргументе по коду сортировать!?
9 YF
 
15.07.14
17:34
(8) мы разную справку читаем? прямо цитату выложи
10 moonlight
 
15.07.14
17:37
Табличная часть.Сортировать (Tabular section.Sort)
Табличная часть (Tabular section)
Сортировать (Sort)
Синтаксис:

Сортировать(<Колонки>, <ОбъектСравнения>)
Параметры:

<Колонки> (обязательный)

Тип: Строка.
Список имен колонок, разделенных запятыми, по которым производится сортировка таблицы. После каждого имени колонки через пробел может быть указано направление сортировки. Направление определяется: "Убыв" ("Desc") - упорядочивать по убыванию; "Возр" ("Asc") - упорядочивать по возрастанию. По умолчанию сортировка производится по возрастанию. Порядок указания имен колонок таблицы определяет порядок сортировки. Это означает, что сначала таблица сортируется по колонке, указанной первой. Затем группы строк с одинаковым значением в этой колонке сортируются по колонке, которая указана второй, и так далее.
<ОбъектСравнения> (необязательный)

Тип: СравнениеЗначений.
Объект для сравнения элементов. Если объект сравнения не задан, сравнение выполняется по следующим правилам:
элементы, чьи типы не совпадают, сравниваются по коду типа;
элементы простых типов сравниваются по значению;
элементы остальных типов сравниваются по строковому представлению.
Описание:

Сортирует табличную часть в соответствии с указанными правилами сортировки.

Доступность:

Сервер, толстый клиент, внешнее соединение.
Примечание:

Использование метода допустимо только в том случае, если табличная часть получена из свойства объекта. Если табличная часть получена из свойства ссылки (или выборки), то использование этого метода будет вызывать ошибку выполнения.
Пример:

ТаблицаЦен.Сортировать("Цена Убыв, Товар Возр");
11 YF
 
15.07.14
17:41
(10) нафига ты вывалил снова это? конкретно цитату из этого про коды элементов.
12 moonlight
 
15.07.14
17:45
(11) Ну в справке конкретно нет. Вот с инфостарта:

http://forum.infostart.ru/forum14/topic6542/

Тип: СравнениеЗначений. Объект для сравнения значений.
если объект сравнения не задан, то элементы остальных типов сравниваются по строковому представлению;
если объект сравнения задан, то:
объекты сравниваются по идентификатору;
моменты времени сравниваются по дате и идентификатору объекта;
элементы остальных типов сравниваются по строковому представлению.
13 DirecTwiX
 
15.07.14
17:51
(12) А во встроенной справке не пробовал почитать?)

СравнениеЗначений (CompareValues)
СравнениеЗначений (CompareValues)
Методы:

Сравнить (Compare)

Конструкторы:

По умолчанию

Описание:

Объект для сравнения значений по правилам, совпадающим с правилами сравнения значений в базе:
Элементы, чьи типы не совпадают, сравниваются по коду типа;
Элементы простых типов сравниваются по значению;
Объекты сравниваются по идентификатору;
Моменты времени сравниваются по дате и идентификатору объекта;
Элементы остальных типов сравниваются по строковому представлению.
14 YF
 
15.07.14
18:00
(12) Все равно не вижу ничего про сравнение по кодам элементов. Одну строчку выдели
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn