Сортировка справочника номенклатуры в 1С 8.3: от списка до запроса

· 9 мин

Содержание

Чтобы быстро упорядочить товары, щёлкните по заголовку нужной колонки в списке номенклатуры — один клик сортирует по возрастанию, повторный по убыванию. Для устойчивого порядка (чтобы он не сбрасывался) настройте сортировку через меню Еще → Настроить список. А когда нужно привести к единому виду сам справочник — артикулы, наименования, принадлежность к группам — в ход идёт групповое изменение реквизитов, отчёты и запросы.

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

Чтобы сразу сориентироваться, какой способ под какую задачу:

СпособКогда применятьСохраняется ли
Клик по колонкеРазово глянуть порядок на экранеНет, до перезахода
Настроить список → СортировкаОдин и тот же порядок каждый деньДа, для пользователя
Отчёт с вариантомАналитика: остатки, обороты, ценыДа, как вариант отчёта
Запрос / СКДПорядок по вычисляемым полямВ тексте отчёта
Код на встроенном языкеОбработка данных, выгрузкиТолько на время работы кода

Клик по колонке и настройка порядка в списке

Самый частый сценарий — навести порядок прямо в открытом справочнике. Откройте список: в «1С:Бухгалтерии» это Справочники → Товары и услуги → Номенклатура, в «1С:Управление торговлей» — НСИ и администрирование → НСИ → Номенклатура.

Дальше работает интерфейс «Такси»:

  • 🖱 Один клик по заголовку колонки (Наименование, Артикул, Код) — сортировка по возрастанию. Рядом с названием появится маленький треугольник ▲.
  • 🖱 Повторный клик по тому же заголовку — по убыванию (треугольник ▼).
  • 🖱 Клик по другой колонке — порядок перестраивается по ней.

Треугольник у заголовка — индикатор: он показывает, по какому полю и в какую сторону отсортирован список прямо сейчас.

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

Такой порядок держится, пока список открыт. Чтобы он применялся всегда, его закрепляют в настройке — об этом ниже.

Устойчивая сортировка через «Настроить список»

Клик по колонке удобен, но разовый. Если вам каждый день нужен один и тот же порядок — задайте его в настройке списка, и 1С будет открывать справочник уже отсортированным.

Порядок действий:

  1. В открытом списке номенклатуры нажмите Еще (кнопка в правом верхнем углу командной панели).
  2. Выберите Настроить список….
  3. Перейдите на вкладку Сортировка.
  4. В левой колонке — доступные поля, в правой — те, по которым идёт сортировка. Перенесите нужное поле (например, Наименование или Артикул) стрелкой вправо.
  5. Галочкой у поля задайте направление: отмечено — по возрастанию, снято — по убыванию.
  6. Нажмите Завершить редактирование.

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

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

Чтобы вернуть всё как было, в том же окне есть Еще → Установить стандартные настройки — сортировка сбросится к заводской (обычно по наименованию).

Отбор и поиск: сортировка на отфильтрованном списке

Отдельно упорядочить тысячи позиций редко нужно — чаще требуется порядок внутри конкретного среза: товары одного поставщика, одной группы, с определённой ставкой НДС. Сортировка и отбор работают вместе.

Быстрый отбор:

  • Начните печатать в списке — сработает поиск по текущей колонке.
  • Правый клик по значению в ячейке → Отбор по значению в текущей колонке — останутся только строки с этим значением.
  • Через Еще → Настроить список → Отбор можно собрать сложное условие (например, «Вид номенклатуры = Товар И Артикул заполнен»).

После того как список сужен отбором, клик по колонке отсортирует уже только отобранные строки. Это удобно, когда нужно, скажем, выстроить по артикулу все товары одной категории перед инвентаризацией.

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

Массовое изменение реквизитов для единого порядка

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

Где найти обработку:

  • В типовых конфигурациях — Администрирование → Обслуживание → Корректировка данных → Групповое изменение реквизитов.
  • Если пункта не видно, откройте через Главное меню → Все функции → Стандартные → Групповое изменение реквизитов (требуются права администратора).

Как работать:

  1. В поле Изменять выберите Номенклатура.
  2. Задайте отбор — какие именно позиции менять (по группе, по виду номенклатуры, по пустому реквизиту).
  3. На вкладке реквизитов укажите поле и новое значение — например, проставить единицу измерения шт там, где она пустая.
  4. Нажмите Изменить реквизиты.

Групповое изменение правит данные без возможности «Ctrl+Z». Перед массовой правкой сделайте резервную копию базы или хотя бы проверьте отбор на нескольких позициях.

Этот инструмент не сортирует вывод, но наводит порядок в самих данных — после него клик по колонке и отчёты дают ровную картину без «висящих» пустых артикулов и дублей единиц.

Перед массовым изменением номенклатуры
Выполнено: 0 / 4

Отчёты и сохранение вариантов настройки

Когда нужен не просто порядок на экране, а аналитический срез — остатки, обороты, цены — его строят отчётом. Там сортировка и группировка настраиваются гибче, чем в списке.

Возьмём типовой отчёт по остаткам (Склад и доставка → Отчёты по складу в УТ или Склад → Отчёты в разных конфигурациях). Откройте настройки отчёта кнопкой Настройки (или Еще → Изменить вариант):

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

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

Сохранённый вариант отчёта — это и есть «запомненная сортировка» для аналитики: открыл, выбрал вариант, сразу получил нужный порядок.

Сортировка в запросах и системе компоновки данных

Если стандартных отчётов не хватает, порядок задают на уровне запроса — в консоли запросов, в схеме компоновки данных (СКД) собственного отчёта или в расширении конфигурации.

В языке запросов за порядок отвечает конструкция УПОРЯДОЧИТЬ ПО:

ВЫБРАТЬ
    Номенклатура.Ссылка,
    Номенклатура.Наименование,
    Номенклатура.Артикул
ИЗ
    Справочник.Номенклатура КАК Номенклатура
ГДЕ
    НЕ Номенклатура.ЭтоГруппа
УПОРЯДОЧИТЬ ПО
    Номенклатура.Артикул,
    Номенклатура.Наименование

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

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

В системе компоновки данных порядок вынесен в отдельную вкладку настроек — Порядок. Туда переносят поля и задают направление, не трогая текст запроса. Это удобнее: пользователь отчёта сам меняет сортировку, не зная языка запросов.

Запросный способ незаменим, когда нужно отсортировать по вычисляемому полю — например, по остатку, цене или дате последнего поступления, которых в самой карточке номенклатуры нет.

Программная сортировка на встроенном языке

В коде обработки или модуля номенклатуру сортируют тремя путями — выбирают по тому, что уже есть под рукой: ссылка, таблица значений или запрос.

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

Через таблицу значений — когда данные уже собраны в памяти:

ТаблицаТоваров.Сортировать("Артикул Возр, Наименование Возр");

Указываете колонки и направление (Возр / Убыв) строкой. Метод Сортировать переставляет строки на месте.

Через выборку справочника — если нужен простой перебор элементов по возрастанию наименования:

Выборка = Справочники.Номенклатура.Выбрать();
Пока Выборка.Следующий() Цикл
    Сообщить(Выборка.Наименование);
КонецЦикла;

Метод Выбрать() возвращает элементы в порядке по наименованию внутри иерархии. Если нужен другой порядок — берите запрос, он даёт полный контроль над сортировкой.

Когда номенклатура собрана в список значений (например, для выбора пользователем), пригодятся отдельные методы: СортироватьПоЗначению() упорядочивает по хранимому значению, СортироватьПоПредставлению() — по тому, что видит пользователь. Оба принимают направление НаправлениеСортировки.Возр или НаправлениеСортировки.Убыв. Выбор метода зависит от того, по чему именно нужен порядок — по ссылке или по видимому тексту.

Сортировка в коде и в запросе не меняет сам справочник — она упорядочивает только выборку для вывода или обработки. Порядок хранения элементов в базе определяется внутренними механизмами платформы и напрямую не настраивается.

Что чаще всего мешает отсортировать товары

Несколько ситуаций, из-за которых сортировка «не работает так, как ждали»:

  • 🔸 Список остаётся сгруппированным по папкам. Клик по колонке сортирует внутри групп. Решение — переключить Еще → Режим просмотра → Список.
  • 🔸 Сортировка по артикулу идёт «не по-человечески» (10 раньше 2). Артикул — строковое поле, и сортируется он посимвольно, как текст. Чтобы числа шли по порядку, их выравнивают нулями слева: 002, 010. Это вопрос заполнения артикулов, а не настройки сортировки.
  • 🔸 Настройка сбрасывается после перезахода. Разовый клик не сохраняется — закрепляйте порядок через Настроить список → Сортировка.
  • 🔸 Пустые значения «всплывают» вверх или вниз. Незаполненные артикулы или наименования собираются в начале списка при сортировке по возрастанию — это сигнал дозаполнить данные групповым изменением реквизитов.
  • 🔸 Отсортировали в отчёте, а в справочнике порядок прежний. Это нормально: вариант отчёта и настройка списка — две разные настройки. Сортировку закрепляют там, где смотрят, — отдельно в списке и отдельно в каждом отчёте.
Как сделать так, чтобы номенклатура всегда открывалась отсортированной по артикулу?
Откройте список, нажмите Еще → Настроить список → Сортировка, перенесите поле Артикул в правую колонку и завершите редактирование. Настройка сохранится для вашего пользователя, и справочник будет открываться уже в этом порядке.
Почему товары с артикулами 1, 2, 10, 11 сортируются как 1, 10, 11, 2?
Артикул — текстовая строка, сравнение идёт посимвольно. Чтобы числовые артикулы шли по порядку, выровняйте их по длине ведущими нулями: 001, 002, 010. Удобно сделать это групповым изменением реквизитов.
Можно отсортировать товары по остатку или по цене прямо в справочнике?
Нет — в самой карточке номенклатуры остатков и цен нет, это данные регистров. По остатку или цене сортируют в отчёте (вкладка «Сортировка» в настройках) или в запросе по полю из регистра.
Сортировка списка меняется у всех пользователей или только у меня?
Настройка списка личная — она сохраняется для вашего пользователя и конкретной формы. Чтобы задать порядок для всех, его оформляют как общий вариант формы или настраивают в конфигураторе разработчик.
Чем групповое изменение реквизитов отличается от сортировки?
Сортировка меняет только порядок вывода, данные не трогает. Групповое изменение реквизитов правит сами значения в карточках (артикул, единицу, группу) — это нужно, чтобы товары корректно вставали в сортировку.