Сортировка ТЧ документа #714340


#0 by moonlight
Привет всем! Хочу отсортировать ТЧ документа так чтобы сортировка была по коду значения первого столбца, тип которого ПланВидовХарактеристикСсылка.СвойстваОбъектов. Пробовал такой код: Результат: Что не так делаю, где ошибка?
#1 by YF
Значения кода хранятся в реквизите табличной части?
#2 by moonlight
нет? 3 колонка - информативная. ее в конечном варианте не будет!
#3 by YF
Тогда по какому месту ты собираешься сортировать?
#4 by StaticUnsafe
если в самой ТЧ нет поля по которому надо сортировать тогда через костыль. Способ 1: выгрузи ТЧ в таблицу значений, добавь колонку, заполни кодом, отсортируй, загрузи обратно в ТЧ Способ 2: перебором строк - методом "пузырька" например, перестановки ну и т.д.
#5 by moonlight
сортирую по колонке - "Свойство" и хочу чтобы не по представлению была сортировка, а по коду значения. Для этого я специально отредактировал коды
#6 by moonlight
Вроде как можно и через метод Сортировать Тип: Строка. Список имен колонок, разделенных запятыми, по которым производится сортировка таблицы. После каждого имени колонки через пробел может быть указано направление сортировки. Направление определяется: "Убыв" ("Desc") - упорядочивать по убыванию; "Возр" ("Asc") - упорядочивать по возрастанию. По умолчанию сортировка производится по возрастанию. Порядок указания имен колонок таблицы определяет порядок сортировки. Это означает, что сначала таблица сортируется по колонке, указанной первой. Затем группы строк с одинаковым значением в этой колонке сортируются по колонке, которая указана второй, и так далее. <ОбъектСравнения> (необязательный) Тип: СравнениеЗначений. Объект для сравнения значений. Независимо от того, задан объект сравнения или нет, элементы, чьи типы не совпадают, сравниваются по коду типа, а элементы простых типов сравниваются по значению. Дополнительно к этому: если объект сравнения не задан, то элементы остальных типов сравниваются по строковому представлению; если объект сравнения задан, то: объекты сравниваются по идентификатору; моменты времени сравниваются по дате и идентификатору объекта; элементы остальных типов сравниваются по строковому представлению. Описание: Сортирует таблицу значений в соответствии с указанными правилами сортировки. Доступность: Сервер, толстый клиент, внешнее соединение. Пример: ТаблицаЦен.Сортировать("Цена Убыв, Товар Возр");
#7 by StaticUnsafe
нет
#8 by moonlight
чей то? Вроде в справке пишут что должно при 2ом аргументе по коду сортировать!?
#9 by YF
мы разную справку читаем? прямо цитату выложи
#10 by moonlight
Табличная часть.Сортировать (Tabular section.Sort) Табличная часть (Tabular section) Сортировать (Sort) Синтаксис: Сортировать(<Колонки>, <ОбъектСравнения>) Параметры: Тип: Строка. Список имен колонок, разделенных запятыми, по которым производится сортировка таблицы. После каждого имени колонки через пробел может быть указано направление сортировки. Направление определяется: "Убыв" ("Desc") - упорядочивать по убыванию; "Возр" ("Asc") - упорядочивать по возрастанию. По умолчанию сортировка производится по возрастанию. Порядок указания имен колонок таблицы определяет порядок сортировки. Это означает, что сначала таблица сортируется по колонке, указанной первой. Затем группы строк с одинаковым значением в этой колонке сортируются по колонке, которая указана второй, и так далее. <ОбъектСравнения> (необязательный) Тип: СравнениеЗначений. Объект для сравнения элементов. Если объект сравнения не задан, сравнение выполняется по следующим правилам: элементы, чьи типы не совпадают, сравниваются по коду типа; элементы простых типов сравниваются по значению; элементы остальных типов сравниваются по строковому представлению. Описание: Сортирует табличную часть в соответствии с указанными правилами сортировки. Доступность: Сервер, толстый клиент, внешнее соединение. Примечание: Использование метода допустимо только в том случае, если табличная часть получена из свойства объекта. Если табличная часть получена из свойства ссылки (или выборки), то использование этого метода будет вызывать ошибку выполнения. Пример: ТаблицаЦен.Сортировать("Цена Убыв, Товар Возр");
#11 by YF
нафига ты вывалил снова это? конкретно цитату из этого про коды элементов.
#12 by moonlight
Ну в справке конкретно нет. Вот с инфостарта: Тип: СравнениеЗначений. Объект для сравнения значений. если объект сравнения не задан, то элементы остальных типов сравниваются по строковому представлению; если объект сравнения задан, то: объекты сравниваются по идентификатору; моменты времени сравниваются по дате и идентификатору объекта; элементы остальных типов сравниваются по строковому представлению.
#13 by DirecTwiX
А во встроенной справке не пробовал почитать?) СравнениеЗначений (CompareValues) СравнениеЗначений (CompareValues) Методы: Конструкторы: По умолчанию Описание: Объект для сравнения значений по правилам, совпадающим с правилами сравнения значений в базе: Элементы, чьи типы не совпадают, сравниваются по коду типа; Элементы простых типов сравниваются по значению; Объекты сравниваются по идентификатору; Моменты времени сравниваются по дате и идентификатору объекта; Элементы остальных типов сравниваются по строковому представлению.
#14 by YF
Все равно не вижу ничего про сравнение по кодам элементов. Одну строчку выдели
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С