Сортировка ТЗ 8.2: Как это работает теперь? #474770


#0 by Вуглускр1991
Было бы это в 77, строки выбирались в отсортированном порядке: А в 8.2 выборка тСтр не упорядоченна. Как теперь живут? (искал в темах с ключами "Выборка ТаблицаЗначений Сортировка порядок" ничего не выползло, а ведь обсуждалось наверное ... сорри, если чё)
#1 by Вуглускр1991
уп?
#2 by AquaKosh
Синтаксис: Сортировать(<Колонки>, <ОбъектСравнения>) Параметры: <Колонки> (обязательный) Тип: Строка. Список имен колонок, разделенных запятыми, по которым производится сортировка таблицы. После каждого имени колонки через пробел может быть указано направление сортировки. Направление определяется: "Убыв" ("Desc") - упорядочивать по убыванию; "Возр" ("Asc") - упорядочивать по возрастанию. По умолчанию сортировка производится по возрастанию. Порядок указания имен колонок таблицы определяет порядок сортировки. Это означает, что сначала таблица сортируется по колонке, указанной первой. Затем группы строк с одинаковым значением в этой колонке сортируются по колонке, которая указана второй, и так далее. <ОбъектСравнения> (необязательный) Тип: СравнениеЗначений. Объект для сравнения значений. Независимо от того, задан объект сравнения или нет, элементы, чьи типы не совпадают, сравниваются по коду типа, а элементы простых типов сравниваются по значению. Дополнительно к этому: если объект сравнения не задан, то элементы остальных типов сравниваются по строковому представлению; если объект сравнения задан, то: объекты сравниваются по идентификатору; моменты времени сравниваются по дате и идентификатору объекта; элементы остальных типов сравниваются по строковому представлению. Описание: Сортирует таблицу значений в соответствии с указанными правилами сортировки. Доступность: Сервер, толстый клиент, внешнее соединение. Пример:
#3 by Вуглускр1991
Спасибо, СП я уже читал. Вопрос был такой: После сортировки таблицы строки выбираются не в соответствии с проведенной сортировкой. Как выбрать строки в соответствии со сделанной сортировкой.
#4 by acsent
врешь
#5 by Chai Nic
Возможно, сортировка идет по внутреннему идентификатору, а не по представлению
#6 by Вуглускр1991
Увидел, сначала, что не сработал расчет на однозначность заполнения таблицы при проведении говорит, что запись регистра сведений с такими ключевыми полями уже есть. Пошел в файловый вариант в отладчик (спасибо 1С серверные процедуры там отлаживаются). там все и обнаружил. Вот полностью код:    Запоро = Новый Запрос;
#7 by Вуглускр1991
Ага! Вот и тонкости, но внутренний идентификатор одной и той же ссылки одинаковый. Поэтому одинаковые ссылки стоят рядом и в порядке "Уровень", и отсеиваются лишние командой "Удалить = 1". Но ссылки рядом не стоят. Тут скорее наоборот! Сортировка идет по представлению а внутренние идентификаторы как попало, поэтому не так много ошибок в наборе ключевых полей. Персональное Спс! Пошел проверять догадку. Хотя условие сортировки "Ссылка Возр" должна ставить рядом по идентификатору, а не по представлению.
#8 by Вуглускр1991
И вот настало время просить прощения у . Магический код из синтакс помошника решил проблему в чистую. Табулля.Сортировать("Владелец Возр,Ссылка Возр,Уровень Убыв",Альфа); Ещё раз спасибо.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

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