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

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

Автоупорядочивание в 1С: что это такое и как оно работает

Что такое автоупорядочивание в 1С: как работает механизм автоматической нумерации и упорядочивания справочников и документов, настройка, типичные проблемы и их решение.

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

Механизм работает на уровне конфигуратора: разработчик включает автоупорядочивание для конкретного объекта метаданных, и дальше платформа берёт задачу на себя. Пользователь видит аккуратно упорядоченный список, а система заботится о том, чтобы новые записи попадали на правильные позиции.

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

Что такое автоупорядочивание и зачем оно нужно

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

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

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

Какие объекты поддерживают автоупорядочивание

Механизм доступен не для всех объектов конфигурации, а только для тех, где понятие «порядок в списке» имеет смысл. К ним относятся справочники, документы, планы видов характеристик, планы счетов, планы видов расчёта, планы обмена, бизнес-процессы и задачи.

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

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

Как работает механизм изнутри

Когда для объекта включено автоупорядочивание, платформа при записи нового элемента вычисляет значение признака упорядочивания. Для документов это комбинация даты и номера, для справочников — код или служебное поле порядка. Значение подбирается так, чтобы элемент встал после уже существующих.

Динамические списки и стандартные формы списков используют этот признак для вывода по умолчанию. Если пользователь не менял сортировку вручную, список открывается именно в порядке автоупорядочивания. Ручная сортировка по колонке (например, по наименованию) временно переопределяет порядок, но не меняет хранимые значения.

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

Настройка автоупорядочивания в конфигураторе

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

Порядок действий
  1. 1
    Откройте конфигуратор и найдите нужный объект (справочник, документ) в дереве конфигурации.
  2. 2
    Откройте палитру свойств объекта и перейдите на закладку «Нумерация» (для документов) или найдите свойство «Автоупорядочивание».
  3. 3
    Установите для свойства «Автоупорядочивание» значение «Использовать».
  4. 4
    Проверьте связанные свойства: длину кода или номера, признак автонумерации, периодичность нумерации документов.
  5. 5
    Обновите конфигурацию базы данных и откройте список объекта в режиме предприятия.
  6. 6
    Создайте тестовый элемент и убедитесь, что он встал на ожидаемую позицию в списке.

Для справочников, где требуется произвольный ручной порядок (например, порядок вывода разделов на сайте), разработчики часто добавляют отдельный реквизит «Порядок» и сортируют по нему в запросах, а автоупорядочивание оставляют как служебный механизм платформы. Эти подходы не конфликтуют, но важно не путать их назначение.

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

Типичные проблемы и их причины

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

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

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

Типичные ошибки
01
Ручное редактирование номеров документов без необходимости — ломает автонумерацию и визуальный порядок в журнале.
02
Попытка «починить» порядок изменением даты документа — это искажает учётные данные и может нарушить последовательность проведения.
03
Ожидание, что автоупорядочивание отсортирует список по наименованию — механизм работает по коду или служебному полю, а не по алфавиту.
04
Отключение автоупорядочивания в типовой конфигурации без понимания последствий — формы списков могут начать работать медленнее и выводить элементы в непредсказуемом порядке.

Как проверить и исправить порядок элементов

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

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

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

Позиция нового документа в журнале
Норма

Документ находится в конце списка в пределах своей даты

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

Документ оказался в середине журнала при корректной дате

Нумерация документов
Норма

Номера идут последовательно, без пропусков и дублей в пределах периода

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

Есть дубли номеров или нумерация сброшена

Сортировка списка справочника
Норма

Элементы упорядочены по коду, новые — в конце

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

Элементы выводятся в случайном порядке

Настройки сортировки в форме списка
Норма

Пользовательская сортировка не задана или задана осознанно

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

Скрытая сортировка по колонке создаёт ложное впечатление поломки

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

Автоупорядочивание и производительность

Включённое автоупорядочивание позволяет платформе эффективно выбирать данные для форм списков, потому что по полям упорядочивания существуют индексы. Отключение механизма или сортировка больших списков по неиндексированным реквизитам заметно замедляет открытие форм в базах с сотнями тысяч записей.

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

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

Частые вопросы об автоупорядочивании

Можно ли упорядочить справочник по наименованию автоматически?

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

Почему новый документ попал в середину журнала?

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

Что делать, если нумерация документов сбилась?

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

Влияет ли автоупорядочивание на отчёты и запросы?

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

Можно ли задать произвольный порядок элементов вручную?

Штатный механизм автоупорядочивания не предоставляет ручной расстановки позиций. Для такой задачи в конфигурацию добавляют числовой реквизит «Порядок», заполняют его обработкой или руками и сортируют по нему в формах и запросах. В некоторых типовых конфигурациях подобный механизм уже реализован для отдельных справочников.

Итог

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

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