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