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

В этой статье разберём все возможные сценарии восстановления нумерации — от стандартных инструментов платформы до ручных правок в базе данных. Вы узнаете, как вернуть последовательность номеров в типовой и нетиповой конфигурации, какие ошибки чаще всего приводят к сбоям, и как избежать повторных проблем. Материал актуален для 1С 8.3 (включая последние релизы) и адаптирован под популярные конфигурации: Бухгалтерия 3.0, Управление торговлей 11, Зарплата и управление персоналом 3.1.

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

Почему сбивается нумерация в 1С: основные причины

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

  • 🔄 Обновления конфигурации — особенно если оно прервалось или выполнялось с ошибками. Новые релизы иногда сбрасывают настройки последовательностей.
  • 💻 Ручного редактирования номеров — когда пользователь вводит номер вручную, а система не успевает синхронизировать последовательность.
  • 🗃️ Переноса данных между базами — при выгрузке/загрузке через XML или DT могут теряться служебные таблицы с нумерацией.
  • 🛠️ Доработок конфигурации — ошибки в коде, меняющем логику присвоения номеров (например, в обработчиках ПередЗаписью).
  • 🖥️ Аппаратных сбоев — внезапное отключение питания или падение сервера во время записи документа.

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

📊 Что стало причиной сбоя нумерации в вашей базе?
Обновление конфигурации
Ошибка пользователя
Перенос данных
Доработка кода
Неизвестно

Если сбой произошёл после конкретного действия (например, обновления), попробуйте откатить изменения через резервную копию. Это часто проще, чем восстанавливать нумерацию вручную.

⚠️ Внимание: В конфигурациях с распределённой информационной базой (РИБ) восстановление нумерации требует синхронизации всех узлов. Неправильные действия могут привести к расхождению данных!

Способ 1: Стандартное восстановление через «Администрирование»

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

Инструкция:

  1. Откройте 1С:Предприятие в режиме 1С:Предприятие (не конфигуратор!).
  2. Перейдите в раздел Администрирование → Поддержка и обслуживание → Настройка нумерации документов (путь может незначительно отличаться в зависимости от конфигурации).
  3. В списке выберите тип документа, у которого сбилась нумерация (например, Счёт на оплату или Реализация товаров и услуг).
  4. Нажмите Восстановить нумерацию и подтвердите действие.

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

☑️ Подготовка к восстановлению нумерации

Выполнено: 0 / 4

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

Конфигурация Путь к настройке нумерации Поддерживается ли автоматическое восстановление?
Бухгалтерия 3.0 Администрирование → Настройка программы → Нумерация документов Да
Управление торговлей 11 Администрирование → Поддержка и обслуживание → Настройка нумерации Да (с опцией перенумерации)
Зарплата и управление персоналом 3.1 Настройки → Нумерация документов Да, но без перенумерации
Комплексная автоматизация 2 Администрирование → Обслуживание → Нумерация Да
Нетиповые конфигурации Зависит от доработок Чаще нет

Способ 2: Ручная правка последовательностей в конфигураторе

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

Алгоритм действий:

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

Для документов с периодической нумерацией (например, ежемесячной) проверьте настройки периода. Иногда сбой происходит из-за того, что система неверно определяет текущий интервал (месяц, квартал).

💡

Если в конфигураторе нет вкладки "Последовательности", значит, нумерация задаётся программно. В этом случае ищите обработчик события ПередЗаписью в модуле документа.

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

  • 🔹 Наличие прав у пользователя на изменение нумерации.
  • 🔹 Отсутствие блокировок в базе (например, через Тестирование и исправление).
  • 🔹 Корректность даты документа — иногда нумерация привязана к периоду.
⚠️ Внимание: В конфигурациях с управляемыми формами (начиная с версии 8.2) настройки нумерации могут скрываться в свойствах формы документа, а не в самом объекте. Ищите параметр Автонумерация в разделе Реквизиты.

Способ 3: Восстановление через прямые запросы к базе данных

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

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

  • Sequence — для платформы 8.3.
  • Нумератор — в старых версиях или доработанных конфигурациях.
  • Таблицы с префиксом _DocKind — для документов конкретных типов.

Пример запроса для MS SQL Server (если ваша база работает на нём):

-- Проверка текущего значения нумератора для документа "РеализацияТоваровУслуг"

SELECT * FROM Sequence WHERE ObjectType = 'Document.РеализацияТоваровУслуг'

-- Обновление значения (например, установить следующий номер = 1000)

UPDATE Sequence

SET NextValue = 1000

WHERE ObjectType = 'Document.РеализацияТоваровУслуг'

Для PostgreSQL или файлового варианта синтаксис будет другим. Если вы не уверены в своих навыках работы с SQL, лучше поручите эту задачу администратору базы данных.

Что делать, если таблица Sequence отсутствует?

В некоторых конфигурациях нумерация хранится в регистрах сведений. Ищите регистр с именем типа "НумерацияДокументов" или "ПоследовательностиНомеров".

Критическая информация: В базах с распределённой структурой (РИБ) правка последовательностей через SQL может привести к рассинхронизации узлов. В этом случае восстановление нужно выполнять на главном узле с последующей синхронизацией.

Способ 4: Использование обработок для массового исправления

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

Где взять обработку:

  • 📥 Скачать с сайта 1С:ИТС — в разделе «Обработки для администрирования» часто выкладывают универсальные инструменты.
  • 🛠️ Написать самостоятельно — если есть навыки программирования на , можно создать простую обработку с циклом по документам.
  • 🤝 Заказать у партнёров 1С — многие фирмы-франчайзи предлагают готовые решения для восстановления нумерации.

Пример кода для простой обработки (для программистов):

Процедура ИсправитьНумерацию()

Документы = Документы.РеализацияТоваровУслуг.Выбрать();

Номер = 1;

Пока Документы.Следующий() Цикл

Документ = Документы.ТекущийДокумент();

Документ.Номер = Номер;

Документ.Записать();

Номер = Номер + 1;

КонецЦикла;

Сообщить("Нумерация исправлена! Последний номер: " + Номер);

КонецПроцедуры

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

💡

Обработки из ненадёжных источников могут содержать вредоносный код. Перед использованием проверяйте исходник или запускайте в тестовой базе.

Способ 5: Восстановление из резервной копии

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

Как это сделать:

  1. Найдите последнюю резервную копию, в которой нумерация работала корректно. Обычно копии хранятся в:
    • 📂 Папке 1Cv8Log на сервере.
    • 📂 Облачном хранилище (если настроен автоматический бэкап).
    • 📂 Архиве администратора (если резервирование выполняется вручную).
  • Восстановите базу из копии с помощью Конфигуратор → Администрирование → Загрузить информационную базу.
  • Проверьте нумерацию в восстановленной базе.
  • Если проблема решена, перенесите в неё актуальные данные (документы, справочники), созданные после даты копии.
  • Если резервных копий нет или они устарели, попробуйте частичное восстановление только служебных таблиц с нумерацией. Для этого:

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

    Частые ошибки и как их избежать

    При восстановлении нумерации пользователи часто допускают одни и те же ошибки. Вот самые распространённые из них и способы их предотвратить:

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

    Ещё одна типичная проблема — расхождение нумерации между узлами в РИБ. Если вы работаете в распределённой базе, после исправления нумерации на одном узле обязательно выполните синхронизацию:

    1. Откройте Администрирование → Распределённая информационная база.
    2. Выберите узел, на котором исправили нумерацию.
    3. Нажмите Синхронизировать и дождитесь завершения процесса.
    4. Если после синхронизации номера снова сбились, проверьте настройки обмена данными — возможно, в правилах обмена не учтена передача последовательностей.

      FAQ: Ответы на частые вопросы

      Можно ли восстановить нумерацию без доступа к конфигуратору?

      Да, в большинстве типовых конфигураций это можно сделать через раздел Администрирование → Настройка нумерации. Если этот раздел отсутствует, попробуйте использовать обработку с правами администратора (например, Универсальная обработка нумерации из 1С:ИТС).

      После восстановления нумерации новые документы создаются с номером 1. Что делать?

      Это означает, что не обновлено значение следующего номера в последовательности. Исправьте его вручную:

      1. Откройте конфигуратор.
      2. Найдите последовательность для вашего документа (Объекты → Документы → [ВашДокумент] → Последовательности).
      3. Установите Текущее значение равным последнему использованному номеру + 1.

      Как восстановить нумерацию, если документы удалены, но номера заняты?

      В этом случае нужно «освободить» номера. Сделать это можно двумя способами:

      • Через обработку, которая перезапишет последовательность с учётом пропусков.
      • Вручную в SQL (только для опытных пользователей):
        -- Пример для MS SQL (сброс последовательности на максимальный номер + 1)
        

        DECLARE @MaxNum INT;

        SELECT @MaxNum = MAX(Номер) FROM Документ.РеализацияТоваровУслуг;

        UPDATE Sequence SET NextValue = @MaxNum + 1 WHERE ObjectType = 'Document.РеализацияТоваровУслуг';

    Нумерация сбилась после переноса данных из другой базы. Как исправить?

    При переносе через XML или DT часто не передаются служебные данные о последовательностях. Решение:

    1. Восстановите нумерацию в исходной базе (откуда переносили данные).
    2. Экспортируйте документы с сохранением номеров (в настройках выгрузки должна быть галочка Сохранять нумерацию).
    3. В целевой базе выполните синхронизацию последовательностей (через конфигуратор или SQL).
    Можно ли изменить формат нумерации (например, добавить префикс)?

    Да, но это требует доработки конфигурации. Стандартные средства 1С не поддерживают динамические префиксы (например, СЧ-001, РТ-002). Варианты решения:

    • Создать обработчик ПередЗаписью, который будет формировать номер по шаблону.
    • Использовать дополнительный реквизит для хранения «видимого» номера, а в основном поле хранить технический номер.
    • Применить готовую доработку из 1С:ИТС (например, Расширенная нумерация документов).
    • Учтите, что изменение формата может потребовать перенумерации всех существующих документов.