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

Последовательности в — это не просто счетчики. Это инструмент, который позволяет централизованно управлять нумерацией объектов с учетом бизнес-логики компании, избегая дублирования номеров, разрывов в последовательности или конфликтов при работе нескольких пользователей. Без них невозможно представить корректную работу систем с высокой нагрузкой, где ежедневно создаются сотни документов. Но как именно они работают? Где их искать в конфигураторе? И почему иногда нумерация "сбивается"? Ответы на эти вопросы — в нашем подробном руководстве.

Что такое последовательности в 1С и как они устроены

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

  • 🔄 Гибко настраивать формат номеров (например, добавлять префиксы вроде "СЧ-" или суффиксы с годом).
  • 📅 Привязывать нумерацию к периодам (ежегодный сброс, ежемесячный и т.д.).
  • 🏢 Разделять счетчики по организациям или подразделениям.
  • 🔒 Контролировать уникальность даже при распределенной работе (например, в облачных решениях).

Технически последовательность состоит из:

  • Имени — уникального идентификатора в конфигурации (например, НумерацияСчетовФактур).
  • Текущего значения — числа, которое будет увеличено при следующем запросе.
  • Параметров получения — правил, по которым формируется следующий номер (шаг, префикс, период и др.).

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

📊 Как часто вы сталкиваетесь с проблемами нумерации в 1С?
Никогда не было проблем
Иногда сбиваются номера
Постоянно возникают конфликты
Не знаю, что такое последовательности

Где применяются последовательности: реальные примеры

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

Область применения Пример использования Что будет без последовательностей
Документооборот Нумерация счетов, накладных, актов Дублирование номеров, разрывы в последовательности, ошибки при печати
Справочники Коды номенклатуры, контрагентов Ручной ввод кодов, риск повторений
Регистры сведений Нумерация записей о ценах, остатках Невозможно отследить историю изменений
Обмен данными Идентификаторы объектов для синхронизации Конфликты при интеграции с другими системами
Отчетность Номера строк в декларациях Ошибки при выгрузке в контролирующие органы

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

Еще один нюанс: последовательности часто используются для генерации уникальных идентификаторов (UID), которые необходимы при обмене данными с внешними системами (например, с 1С:EDT, Битрикс24 или МойСклад). Без них невозможно гарантировать корректную синхронизацию.

💡

Если в вашей базе часто возникают конфликты нумерации, проверьте, не используются ли одни и те же последовательности для разных типов документов. Разделение счетчиков по видам операций (например, "НумерацияЗаказовПокупателей" и "НумерацияЗаказовПоставщиков") решит проблему.

Как создать и настроить последовательность в конфигураторе

Работа с последовательностями ведется в режиме конфигуратора. Чтобы создать новую последовательность:

  1. Откройте конфигуратор вашей базы .
  2. В дереве объектов найдите ветку Общие → Последовательности.
  3. Щелкните правой кнопкой и выберите Добавить.
  4. Задайте Имя (например, НумерацияДоговоров) и Синоним (отображаемое имя).
  5. На вкладке Данные укажите Текущее значение (с какого числа начинать отсчет).

Теперь настроим параметры получения номера:

  • 📌 Шаг — на сколько увеличивать значение (обычно 1).
  • 🔤 Префикс/Суффикс — например, "ДОГ-" + Номер + "-2026".
  • 🗓️ Периодичность — сброс счетчика (ежегодно, ежемесячно или никогда).
  • 🔒 Уникальность — гарантия отсутствия повторов.

Пример кода для получения номера из последовательности:

НомерДоговора = Последовательности.НумерацияДоговоров.Получить();

НовыйДоговор.Номер = "ДОГ-" + Формат(НомерДоговора, "ЧГ=0") + "-2026";

Имя уникально и понятно разработчикам|

Текущее значение соответствует бизнес-логике|

Настроены префиксы/суффиксы при необходимости|

Периодичность сброса согласована с бухгалтерией-->

Типичные ошибки при работе с последовательностями и как их избежать

Даже опытные пользователи иногда сталкиваются с проблемами, связанными с последовательностями. Рассмотрим самые распространенные ошибки и способы их решения:

⚠️ Внимание: Если в вашей базе используется распределенная информационная система (РИБ), настройка последовательностей требует особого подхода. В таких случаях рекомендуется использовать Уникальные идентификаторы (UID) вместо простой нумерации, чтобы избежать конфликтов при синхронизации узлов.
  • 🔴 Дублирование номеров — возникает, если последовательность не настроена на уникальность или используется несколько счетчиков для одного типа документов.
    Решение: Проверьте настройки последовательности и убедитесь, что для каждого типа документа заведена отдельная последовательность.
  • 🔴 Разрывы в нумерации — часто бывают при ручном редактировании номеров или сбоях транзакций.
    Решение: Используйте метод Получить() вместо прямого присвоения значений.
  • 🔴 Сброс счетчика в неподходящий момент — например, ежегодный сброс произошел посреди квартала.
    Решение: Настройте периодичность сброса в соответствии с учетной политикой компании.
  • 🔴 Конфликты при обмене данными — внешние системы не принимают номера из из-за несоответствия формату.
    Решение: Согласуйте формат номеров с партнерами и настройте преобразование при обмене.

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

Что делать, если последовательность "зависла"?

Если метод Получить() возвращает одно и то же значение или возникает ошибка блокировки, попробуйте:

1. Перезапустить сеанс .

2. Проверить, нет ли незавершенных транзакций в таблице v81seq (для SQL-версий).

3. Обратиться к администратору базы для принудительного разблокирования последовательности.

Последовательности vs автонумерация: когда что использовать

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

Критерий Автонумерация Последовательности
Где настраивается В свойствах справочника/документа В отдельном объекте конфигурации
Гибкость формата Ограничена (только числовая часть) Поддерживает префиксы, суффиксы, периодичность
Уникальность Только в пределах одного объекта Можно гарантировать глобальную уникальность
Пример использования Коды номенклатуры Номера счетов-фактур, идентификаторы для обмена

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

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

💡

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

Практические советы по оптимизации работы с последовательностями

Чтобы последовательности работали эффективно и не создавали проблем, следуйте этим рекомендациям:

  • 📌 Документируйте назначение каждой последовательности — особенно в крупных базах, где их может быть десятки. Используйте понятные имена вроде НумерацияСчетовФактурВыданных вместо абстрактных Последовательность1.
  • 📅 Синхронизируйте периодичность сброса с учетной политикой. Например, если в компании принято ежегодно начинать нумерацию заново, настройте соответствующий параметр в последовательности.
  • 🔄 Тестируйте изменения на копии базы, особенно если речь идет о смене формата номеров. Это поможет избежать проблем с уже существующими документами.
  • 🛠️ Используйте транзакции при работе с последовательностями, чтобы избежать конфликтов при одновременном доступе нескольких пользователей.

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

  1. Создать центральную базу, которая будет выдавать номера.
  2. Использовать UUID вместо числовых идентификаторов.
  3. Настроить обмен данными с синхронизацией последовательностей.

Для автоматизации работы с последовательностями полезно создать обработки, которые будут:

  • Проверять целостность нумерации.
  • Исправлять разрывы (если они допустимы по бизнес-логике).
  • Экспортировать/импортировать настройки последовательностей между базами.
💡

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

Последовательности в типовой конфигурации: где искать и как модифицировать

В типовой конфигурации 1С:Бухгалтерия 8 или 1С:Управление торговлей уже заложены стандартные последовательности. Их можно найти:

  • В объекте Последовательности (для 1С:Предприятие 8.3).
  • В модулях документов, где происходит присвоение номеров (например, в модуле объекта СчетФактураВыданный).

Чтобы модифицировать стандартную последовательность:

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

Пример: если вам нужно добавить префикс к номерам счетов-фактур, не изменяйте стандартную последовательность. Вместо этого:

  1. Создайте новую последовательность (например, НумерацияСчетовФактурСПрефиксом).
  2. В модуле документа СчетФактураВыданный замените вызов стандартной последовательности на вашу.
  3. Реализуйте логику через подписку на событие или расширение.

Такой подход позволит избежать конфликтов при будущих обновлениях платформы.

FAQ: Ответы на частые вопросы о последовательностях в 1С

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

Да, но это не рекомендуется делать напрямую в конфигураторе, особенно в рабочей базе. Лучше использовать обработку, которая:

  1. Проверит, не используется ли последовательность в данный момент.
  2. Зафиксирует изменение в журнале регистрации.
  3. Учтет периодичность (например, не позволит установить значение меньше текущего, если сброс не предусмотрен).

Пример кода для безопасного изменения:

Последовательность = Последовательности.НумерацияДоговоров;

Последовательность.Установить(НовоеЗначение);

Как перенести последовательности при переходе на новую базу?

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

  1. Экспортируйте данные через ВыгрузкаЗагрузкаДанныхXML.
  2. Используйте обработку "Перенос данных" (входит в поставку ).
  3. Для сложных случаев (например, слияние баз) напишите специализированную обработку, которая учтет:
    • Текущие значения последовательностей в обеих базах.
    • Периодичность сброса.
    • Форматы номеров.

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

Почему при обмене данными теряются номера документов?

Эта проблема возникает, если:

  • В правилах обмена не прописана синхронизация последовательностей.
  • Во внешней системе используются свои собственные счетчики.
  • Форматы номеров в системах не совпадают (например, в номер с префиксом, а в Битрикс24 — без).
  • Решение:

    1. Настройте в правилах обмена соответствие последовательностей.
    2. Используйте UID для идентификации объектов вместо номеров.
    3. Добавьте обработчик, который будет преобразовывать форматы номеров при обмене.
Как сделать, чтобы номера документов начинались с определенного числа?

Для этого:

  1. Откройте последовательность в конфигураторе.
  2. Установите Текущее значение на число, предшествующее первому нужному номеру (например, для начала с 1000 укажите 999).
  3. Если нужно привязать стартовое значение к дате, используйте обработку, которая будет рассчитывать его динамически:
ТекущаяДата = ТекущаяДата();

Если ТекущаяДата.Год = 2026 Тогда

Последовательность.Установить(999); // Начнет с 1000

КонецЕсли;

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

Технически можно, но это чревато:

  • 🔴 Конфликтами номеров (например, счет и накладная получат одинаковый номер).
  • 🔴 Проблемами в отчетности (сложно будет фильтровать документы по типу).
  • 🔴 Ошибками при обмене данными (внешние системы могут не различать типы документов по номеру).

Рекомендация: заводите отдельную последовательность для каждого типа документов, даже если их нумерация внешне похожа. Например:

  • НумерацияСчетовФактурВыданных
  • НумерацияСчетовФактурПолученных
  • НумерацияТорг12