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