К статье
Практический материал

Справочники и Данные · 9 мин

Как в 1С сделать сортировку по алфавиту

Как в 1С отсортировать данные по алфавиту: настройка списков справочников, сортировка в отчетах СКД, упорядочивание в запросах и типовые ошибки пользователей.

Сортировка по алфавиту — одна из самых частых задач при работе в 1С: она нужна в списках справочников «Номенклатура», «Контрагенты», «Сотрудники», в отчетах, в печатных формах и в запросах. В зависимости от того, где именно вы работаете, действия отличаются: в форме списка достаточно пары кликов, а в отчете или запросе сортировку задают через настройки или текст запроса.

Важно понимать, что в 1С существует два уровня сортировки. Первый — визуальный: порядок строк в открытом списке или отчете, который видит пользователь. Второй — программный: упорядочивание результата запроса, от которого зависит порядок вывода в печатных формах и обработках. Меняя сортировку в списке, вы не меняете порядок в запросах, и наоборот.

Ниже разобраны основные сценарии: сортировка списка справочника, настройка порядка в отчете на СКД, упорядочивание в запросе, особенности сортировки строк с цифрами и типичные ошибки. Инструкции подходят для конфигураций на управляемых формах (1С:Бухгалтерия 3.0, 1С:Управление торговлей 11, 1С:ЗУП 3.1 и аналогичных).

Сортировка списка справочника по алфавиту

Самый частый сценарий — упорядочить номенклатуру, контрагентов или сотрудников по алфавиту прямо в открытом списке. Откройте нужный справочник, нажмите кнопку «Ещё» в правом верхнем углу формы и выберите пункт «Настроить список». В открывшемся окне перейдите на вкладку «Сортировка».

Добавьте поле «Наименование» (или «ФИО» для сотрудников, «Полное наименование» для контрагентов) и установите направление «По возрастанию» — это соответствует порядку от А до Я. Нажмите «ОК», и список перестроится. Настройка сохраняется для вашего пользователя и применяется при следующих открытиях списка.

Быстрый альтернативный способ — кликнуть по заголовку колонки «Наименование». Первый клик обычно включает сортировку по возрастанию, повторный меняет направление. Однако этот прием срабатывает не во всех формах: если список построен как динамический список с произвольным запросом, сортировка кликом может быть отключена разработчиком.

Порядок действий для списка
  1. 1
    Откройте справочник и нажмите «Ещё → Настроить список»
  2. 2
    На вкладке «Сортировка» добавьте поле «Наименование»
  3. 3
    Установите направление «По возрастанию»
  4. 4
    Нажмите «ОК» и проверьте порядок строк в списке

Сортировка в отчетах на СКД

В отчетах, построенных на системе компоновки данных (а это большинство отчетов в типовых конфигурациях), сортировка настраивается через форму настроек. Откройте отчет, нажмите «Настройки» или «Ещё → Изменить вариант», перейдите на вкладку «Сортировка» и добавьте нужное поле с направлением «По возрастанию».

Обратите внимание: в расширенном режиме настроек сортировка может задаваться на уровне группировок. Если отчет сгруппирован, например, по складам, то упорядочивание по наименованию товара нужно добавить внутрь группировки, иначе строки внутри групп останутся в произвольном порядке, а отсортируются только сами группы.

Если в отчете уже есть сортировка по сумме или количеству (по убыванию), новая сортировка по наименованию будет применена после неё. Порядок полей в списке сортировки определяет приоритет: верхнее поле главнее. Перетащите поле наименования на первое место, если алфавитный порядок важнее.

Упорядочивание в запросе

Если вы пишете собственный запрос в консоли запросов, обработке или отчете, алфавитный порядок задается секцией УПОРЯДОЧИТЬ ПО. Конструкция выглядит так: УПОРЯДОЧИТЬ ПО Наименование — по умолчанию применяется возрастание. Для явного указания направления используйте ВОЗР или УБЫВ.

При сортировке по полю ссылочного типа (например, по самой ссылке на элемент справочника, а не по наименованию) платформа упорядочит записи по внутреннему представлению ссылки, а не по алфавиту. Чтобы получить алфавитный порядок, сортируйте именно по строковому полю: УПОРЯДОЧИТЬ ПО Номенклатура.Наименование.

Для иерархических справочников есть специальная конструкция УПОРЯДОЧИТЬ ПО ... ИЕРАРХИЯ, которая сохраняет древовидную структуру: сначала группа, затем её элементы. Внутри одного уровня иерархии элементы выстраиваются по указанному полю, в том числе по алфавиту.

bsl
ВЫБРАТЬ
	Номенклатура.Наименование КАК Наименование
ИЗ
	Справочник.Номенклатура КАК Номенклатура
ГДЕ
	НЕ Номенклатура.ПометкаУдаления

УПОРЯДОЧИТЬ ПО
	Наименование

Особенности сортировки строк с цифрами и смешанных наименований

Наименования в 1С — это строки, поэтому сортировка идет посимвольно, а не по смыслу. Числа внутри строк сравниваются как символы: «Товар 10» окажется раньше «Товар 2», потому что символ «1» меньше символа «2». Это не ошибка платформы, а стандартное поведение строкового сравнения.

Порядок символов при сортировке по возрастанию обычно такой: пробелы и знаки препинания, затем цифры, затем латинские буквы, затем русские. Поэтому наименования, начинающиеся с цифр или латиницы, всегда окажутся выше русских названий. Если номенклатура ведется неаккуратно — часть названий с заглавной буквы, часть со строчной, где-то в начале стоят кавычки или пробелы, — список будет выглядеть «не по алфавиту», хотя сортировка работает корректно.

Бороться с этим можно двумя способами. Первый — привести наименования к единому стандарту: убрать лишние пробелы и кавычки в начале, унифицировать регистр. Второй — в запросе сортировать по вычисляемому выражению, например по наименованию без ведущих пробелов. Для массовой чистки данных удобно использовать групповую обработку или встроенные средства поиска и замены.

Сортировка в табличных частях и печатных формах

Строки табличной части документа (товары в реализации, сотрудники в ведомости) сортируются иначе: у них нет кнопки «Настроить список». Во многих типовых документах в меню «Ещё» табличной части есть команда «Сортировать» — по возрастанию или убыванию по текущей колонке. Если такой команды нет, строки можно только перетаскивать вручную или перезаполнять документ.

Порядок строк в печатной форме обычно совпадает с порядком в табличной части, но не всегда: в некоторых конфигурациях макет печатной формы формируется запросом с собственным упорядочиванием. Если в документе строки идут по алфавиту, а на печати — в другом порядке, причина именно в запросе печатной формы, и исправить это может только доработка конфигурации или внешней печатной формы.

Типичные ошибки
01
Сортировка по ссылке вместо наименования — порядок получается произвольным, а не алфавитным
02
Ожидание, что «Товар 2» будет раньше «Товара 10» — при строковой сортировке это не так
03
Сортировка на верхнем уровне отчета вместо группировки — строки внутри групп остаются неупорядоченными
04
Ведущие пробелы и кавычки в наименованиях ломают визуальный алфавитный порядок

Как проверить результат и что делать, если порядок «неправильный»

После настройки сортировки прокрутите список и проверьте несколько контрольных точек: элементы на букву «А» должны идти выше элементов на «Б», записи с цифрами и латиницей — в самом начале. Если порядок нарушен только у отдельных элементов, почти наверняка проблема в самих данных: откройте карточку элемента и проверьте начало наименования на предмет пробелов, кавычек и нестандартных символов.

Если список вообще не реагирует на настройку сортировки, возможны две причины. Первая — включен режим иерархического просмотра (дерево групп): в нем сортировка работает внутри каждой группы, а не по всему списку. Вторая — в форме списка задана жесткая сортировка на уровне запроса динамического списка, и пользовательские настройки её не переопределяют. В первом случае переключите режим просмотра на «Список», во втором понадобится доработка формы.

Контрольные точки

Как проверить результат

Порядок первых строк списка
Норма

Сначала цифры и латиница, затем А, Б, В...

Тревожный признак

Русские названия перемешаны между собой

Начало наименований «не на своем месте»
Норма

Нет пробелов и кавычек в начале

Тревожный признак

Пробел, кавычка или латинская буква в начале строки

Режим просмотра справочника
Норма

Режим «Список» или сортировка внутри групп

Тревожный признак

Дерево, где группы идут не по алфавиту

Часто задаваемые вопросы

Почему сортировка по алфавиту не сохраняется после закрытия списка?

Настройки через «Ещё → Настроить список» сохраняются автоматически для текущего пользователя. Если настройка сбрасывается, проверьте, не открывается ли список через внешнюю обработку или команду с предопределенными настройками — в этом случае при каждом открытии применяется встроенный вариант.

Как отсортировать по алфавиту с учетом регистра букв?

По умолчанию сортировка строк в 1С регистронезависимая: «ананас» и «Ананас» считаются равными. Специальной настройки регистрозависимой сортировки в пользовательском интерфейсе нет, и для типовых задач учета это не требуется.

Можно ли отсортировать по алфавиту сразу несколько колонок?

Да. В настройках сортировки добавьте несколько полей — например, сначала «Группа», затем «Наименование». Список упорядочится по первому полю, а внутри одинаковых значений — по второму. Порядок полей в списке сортировки задает их приоритет.

Почему «Ё» и «Е» ведут себя странно при сортировке?

При стандартной сортировке буква «Ё» обычно располагается рядом с «Е» или сразу после неё, в зависимости от региональных настроек информационной базы. Это нормальное поведение; элементы на «Ё» не теряются, а просто оказываются рядом с элементами на «Е».

Как сделать алфавитный порядок в динамическом списке собственной разработки?

Установите у динамического списка произвольный запрос с секцией УПОРЯДОЧИТЬ ПО по нужному строковому полю и включите свойство динамического считывания при необходимости. Если нужно, чтобы пользователь мог менять сортировку сам, не фиксируйте упорядочивание жестко — оставьте настройку в свойствах списка.

Итог

Что важно запомнить

Алфавитная сортировка в 1С — это сортировка строкового поля по возрастанию: в списках через «Ещё → Настроить список», в отчетах через вкладку «Сортировка», в запросах через УПОРЯДОЧИТЬ ПО. Если порядок выглядит неправильным, чаще всего виноваты ведущие пробелы, цифры в наименованиях или иерархический режим просмотра.