Справочники и Данные · 9 мин
Как в 1С сделать сортировку по алфавиту
Как в 1С отсортировать данные по алфавиту: настройка списков справочников, сортировка в отчетах СКД, упорядочивание в запросах и типовые ошибки пользователей.
Сортировка по алфавиту — одна из самых частых задач при работе в 1С: она нужна в списках справочников «Номенклатура», «Контрагенты», «Сотрудники», в отчетах, в печатных формах и в запросах. В зависимости от того, где именно вы работаете, действия отличаются: в форме списка достаточно пары кликов, а в отчете или запросе сортировку задают через настройки или текст запроса.
Важно понимать, что в 1С существует два уровня сортировки. Первый — визуальный: порядок строк в открытом списке или отчете, который видит пользователь. Второй — программный: упорядочивание результата запроса, от которого зависит порядок вывода в печатных формах и обработках. Меняя сортировку в списке, вы не меняете порядок в запросах, и наоборот.
Ниже разобраны основные сценарии: сортировка списка справочника, настройка порядка в отчете на СКД, упорядочивание в запросе, особенности сортировки строк с цифрами и типичные ошибки. Инструкции подходят для конфигураций на управляемых формах (1С:Бухгалтерия 3.0, 1С:Управление торговлей 11, 1С:ЗУП 3.1 и аналогичных).
Сортировка списка справочника по алфавиту
Самый частый сценарий — упорядочить номенклатуру, контрагентов или сотрудников по алфавиту прямо в открытом списке. Откройте нужный справочник, нажмите кнопку «Ещё» в правом верхнем углу формы и выберите пункт «Настроить список». В открывшемся окне перейдите на вкладку «Сортировка».
Добавьте поле «Наименование» (или «ФИО» для сотрудников, «Полное наименование» для контрагентов) и установите направление «По возрастанию» — это соответствует порядку от А до Я. Нажмите «ОК», и список перестроится. Настройка сохраняется для вашего пользователя и применяется при следующих открытиях списка.
Быстрый альтернативный способ — кликнуть по заголовку колонки «Наименование». Первый клик обычно включает сортировку по возрастанию, повторный меняет направление. Однако этот прием срабатывает не во всех формах: если список построен как динамический список с произвольным запросом, сортировка кликом может быть отключена разработчиком.
- 1Откройте справочник и нажмите «Ещё → Настроить список»
- 2На вкладке «Сортировка» добавьте поле «Наименование»
- 3Установите направление «По возрастанию»
- 4Нажмите «ОК» и проверьте порядок строк в списке
Сортировка в отчетах на СКД
В отчетах, построенных на системе компоновки данных (а это большинство отчетов в типовых конфигурациях), сортировка настраивается через форму настроек. Откройте отчет, нажмите «Настройки» или «Ещё → Изменить вариант», перейдите на вкладку «Сортировка» и добавьте нужное поле с направлением «По возрастанию».
Обратите внимание: в расширенном режиме настроек сортировка может задаваться на уровне группировок. Если отчет сгруппирован, например, по складам, то упорядочивание по наименованию товара нужно добавить внутрь группировки, иначе строки внутри групп останутся в произвольном порядке, а отсортируются только сами группы.
Если в отчете уже есть сортировка по сумме или количеству (по убыванию), новая сортировка по наименованию будет применена после неё. Порядок полей в списке сортировки определяет приоритет: верхнее поле главнее. Перетащите поле наименования на первое место, если алфавитный порядок важнее.
Упорядочивание в запросе
Если вы пишете собственный запрос в консоли запросов, обработке или отчете, алфавитный порядок задается секцией УПОРЯДОЧИТЬ ПО. Конструкция выглядит так: УПОРЯДОЧИТЬ ПО Наименование — по умолчанию применяется возрастание. Для явного указания направления используйте ВОЗР или УБЫВ.
При сортировке по полю ссылочного типа (например, по самой ссылке на элемент справочника, а не по наименованию) платформа упорядочит записи по внутреннему представлению ссылки, а не по алфавиту. Чтобы получить алфавитный порядок, сортируйте именно по строковому полю: УПОРЯДОЧИТЬ ПО Номенклатура.Наименование.
Для иерархических справочников есть специальная конструкция УПОРЯДОЧИТЬ ПО ... ИЕРАРХИЯ, которая сохраняет древовидную структуру: сначала группа, затем её элементы. Внутри одного уровня иерархии элементы выстраиваются по указанному полю, в том числе по алфавиту.
ВЫБРАТЬ
Номенклатура.Наименование КАК Наименование
ИЗ
Справочник.Номенклатура КАК Номенклатура
ГДЕ
НЕ Номенклатура.ПометкаУдаления
УПОРЯДОЧИТЬ ПО
НаименованиеОсобенности сортировки строк с цифрами и смешанных наименований
Наименования в 1С — это строки, поэтому сортировка идет посимвольно, а не по смыслу. Числа внутри строк сравниваются как символы: «Товар 10» окажется раньше «Товар 2», потому что символ «1» меньше символа «2». Это не ошибка платформы, а стандартное поведение строкового сравнения.
Порядок символов при сортировке по возрастанию обычно такой: пробелы и знаки препинания, затем цифры, затем латинские буквы, затем русские. Поэтому наименования, начинающиеся с цифр или латиницы, всегда окажутся выше русских названий. Если номенклатура ведется неаккуратно — часть названий с заглавной буквы, часть со строчной, где-то в начале стоят кавычки или пробелы, — список будет выглядеть «не по алфавиту», хотя сортировка работает корректно.
Бороться с этим можно двумя способами. Первый — привести наименования к единому стандарту: убрать лишние пробелы и кавычки в начале, унифицировать регистр. Второй — в запросе сортировать по вычисляемому выражению, например по наименованию без ведущих пробелов. Для массовой чистки данных удобно использовать групповую обработку или встроенные средства поиска и замены.
Сортировка в табличных частях и печатных формах
Строки табличной части документа (товары в реализации, сотрудники в ведомости) сортируются иначе: у них нет кнопки «Настроить список». Во многих типовых документах в меню «Ещё» табличной части есть команда «Сортировать» — по возрастанию или убыванию по текущей колонке. Если такой команды нет, строки можно только перетаскивать вручную или перезаполнять документ.
Порядок строк в печатной форме обычно совпадает с порядком в табличной части, но не всегда: в некоторых конфигурациях макет печатной формы формируется запросом с собственным упорядочиванием. Если в документе строки идут по алфавиту, а на печати — в другом порядке, причина именно в запросе печатной формы, и исправить это может только доработка конфигурации или внешней печатной формы.
Как проверить результат и что делать, если порядок «неправильный»
После настройки сортировки прокрутите список и проверьте несколько контрольных точек: элементы на букву «А» должны идти выше элементов на «Б», записи с цифрами и латиницей — в самом начале. Если порядок нарушен только у отдельных элементов, почти наверняка проблема в самих данных: откройте карточку элемента и проверьте начало наименования на предмет пробелов, кавычек и нестандартных символов.
Если список вообще не реагирует на настройку сортировки, возможны две причины. Первая — включен режим иерархического просмотра (дерево групп): в нем сортировка работает внутри каждой группы, а не по всему списку. Вторая — в форме списка задана жесткая сортировка на уровне запроса динамического списка, и пользовательские настройки её не переопределяют. В первом случае переключите режим просмотра на «Список», во втором понадобится доработка формы.
Как проверить результат
Сначала цифры и латиница, затем А, Б, В...
Русские названия перемешаны между собой
Нет пробелов и кавычек в начале
Пробел, кавычка или латинская буква в начале строки
Режим «Список» или сортировка внутри групп
Дерево, где группы идут не по алфавиту
Часто задаваемые вопросы
Почему сортировка по алфавиту не сохраняется после закрытия списка?
Настройки через «Ещё → Настроить список» сохраняются автоматически для текущего пользователя. Если настройка сбрасывается, проверьте, не открывается ли список через внешнюю обработку или команду с предопределенными настройками — в этом случае при каждом открытии применяется встроенный вариант.
Как отсортировать по алфавиту с учетом регистра букв?
По умолчанию сортировка строк в 1С регистронезависимая: «ананас» и «Ананас» считаются равными. Специальной настройки регистрозависимой сортировки в пользовательском интерфейсе нет, и для типовых задач учета это не требуется.
Можно ли отсортировать по алфавиту сразу несколько колонок?
Да. В настройках сортировки добавьте несколько полей — например, сначала «Группа», затем «Наименование». Список упорядочится по первому полю, а внутри одинаковых значений — по второму. Порядок полей в списке сортировки задает их приоритет.
Почему «Ё» и «Е» ведут себя странно при сортировке?
При стандартной сортировке буква «Ё» обычно располагается рядом с «Е» или сразу после неё, в зависимости от региональных настроек информационной базы. Это нормальное поведение; элементы на «Ё» не теряются, а просто оказываются рядом с элементами на «Е».
Как сделать алфавитный порядок в динамическом списке собственной разработки?
Установите у динамического списка произвольный запрос с секцией УПОРЯДОЧИТЬ ПО по нужному строковому полю и включите свойство динамического считывания при необходимости. Если нужно, чтобы пользователь мог менять сортировку сам, не фиксируйте упорядочивание жестко — оставьте настройку в свойствах списка.
Что важно запомнить
Алфавитная сортировка в 1С — это сортировка строкового поля по возрастанию: в списках через «Ещё → Настроить список», в отчетах через вкладку «Сортировка», в запросах через УПОРЯДОЧИТЬ ПО. Если порядок выглядит неправильным, чаще всего виноваты ведущие пробелы, цифры в наименованиях или иерархический режим просмотра.