Нумерация документов в 1С:Предприятие — это не просто формальность, а основа для учета, отчетности и контроля бизнес-процессов. Без правильно настроенных номеров невозможно отследить историю операций, сформировать регламентированные отчеты или избежать конфликтов при обмене данными. Однако даже опытные пользователи иногда сталкиваются с проблемами: дубли номера, сбои при автоматической нумерации или необходимость внедрить нестандартную схему (например, с префиксами по подразделениям).
В этой статье мы разберем все аспекты нумерации — от базовых настроек в типовой конфигурации до программных решений для сложных задач. Вы узнаете, как:
- 🔄 Настроить автоматическую нумерацию для новых документов
- 📝 Внедрить ручную нумерацию с проверкой уникальности
- 🔧 Исправить ошибки нумерации (пропуски, дубли, сбросы)
- 📊 Использовать префиксы и суффиксы для группировки документов
- 💻 Автоматизировать процесс через внешние обработки и
1С:Скрипт
Материал актуален для всех современных версий платформы 1С:Предприятие 8.3 (включая облачные решения) и адаптирован под типовые конфигурации: Бухгалтерия 3.0, Управление торговлей 11, Зарплата и управление персоналом 3.1, ERP 2.5. Если вы работаете с устаревшей версией (например, 7.7) или сильно модифицированной конфигурацией, некоторые функции могут отличаться.
1. Базовые принципы нумерации документов в 1С
В 1С:Предприятие нумерация документов строится на трех ключевых концепциях:
- Автоматическая нумерация — система присваивает номер при создании документа по заданному шаблону (например,
ДОГ-000001). - Ручная нумерация — пользователь вводит номер вручную, но система может контролировать уникальность.
- Смешанная нумерация — часть номера формируется автоматически (префикс, инкремент), а часть вводится вручную (например, код подразделения).
Важно понимать, что нумерация документов в 1С всегда привязана к конкретному виду документа (например,"Реализация товаров и услуг" или"Поступление на расчетный счет") и может отличаться даже для документов одного типа в разных базах. Это позволяет гибко адаптировать систему под нужды бизнеса, но требует внимательности при настройке.
Основные параметры, влияющие на нумерацию:
- 📌 Длина номера — количество символов (например, 6 знаков для
000001). - 📌 Префикс/суффикс — фиксированные части номера (например,
INV-или-2026). - 📌 Периодичность сброса — ежегодно, ежемесячно или без сброса.
- 📌 Контроль уникальности — проверка на дубли при сохранении.
⚠️ Внимание: Если в вашей базе используется распределенная информационная база (РИБ) или обмен данными между узлами, настройка нумерации должна учитывать правила синхронизации. В противном случае возможны конфликты при слиянии данных.
2. Настройка автоматической нумерации в типовой конфигурации
Для большинства пользователей достаточно стандартных инструментов конфигуратора. Рассмотрим пошаговую инструкцию на примере документа Счет на оплату покупателю в 1С:Бухгалтерия 3.0:
Открыть конфигуратор в режиме"1С:Предприятие"|Перейти в раздел"Администрирование" →"Настройки программы"|Выбрать"Нумерация документов"|Найти нужный вид документа в списке|Установить флажок"Автонумерация" и задать параметры-->
1. Откройте 1С:Предприятие в режиме Конфигуратор (для этого при запуске удерживайте клавишу Shift или выберите пункт в меню запуска).
2. Перейдите в меню Администрирование → Настройки программы → Нумерация документов.
3. В списке найдите вид документа, для которого требуется настроить нумерацию (например, Счет на оплату покупателю).
4. Установите флажок Автонумерация и задайте параметры:
- 🔢 Длина номера: обычно 6–10 символов.
- 🔤 Префикс: например,
СЧ-для счетов. - 📅 Периодичность:"В пределах года" или"Без сброса".
- 🔒 Контроль уникальности: всегда включайте этот параметр!
Пример настройки для счетов:
| Параметр | Значение | Пояснение |
|---|---|---|
| Префикс | СЧ- | Идентифицирует документ как счет |
| Длина номера | 8 | Формат: СЧ-00000001 |
| Периодичность | В пределах года | Сброс нумерации 1 января |
| Контроль уникальности | Да | Запрещает дублирование номеров |
После сохранения настроек новые документы будут нумероваться автоматически. Если требуется применить изменения к уже существующим документам, используйте групповую обработку (меню Все функции → Обработки → Групповая обработка справочников и документов).
⚠️ Внимание: Изменение параметров нумерации для документов с уже присвоенными номерами может привести к конфликтам уникальности. Перед массовым изменением сделайте резервную копию базы!
Если вам нужно сбросить нумерацию с начала года, но в настройках нет опции"Сбросить", создайте новый документ с номером 1 вручную — система подхватит его как стартовый для автонумерации.
3. Ручная нумерация и контроль уникальности
В некоторых случаях автоматическая нумерация не подходит. Например, если номера документов должны соответствовать внешним системам (банковские выписки, договоры с фиксированными номерами) или если используется сложная иерархическая схема (например, ДОГ-2026/01-001, где 01 — код подразделения).
Для ручной нумерации:
- В настройках документа (
Администрирование → Настройки программы → Нумерация документов) снимите флажокАвтонумерация. - Установите флажок
Контроль уникальности, чтобы избежать дублей. - При создании нового документа поле
Номерстанет доступным для редактирования.
Если требуется частичная автоматизация (например, префикс + ручной ввод), используйте составные номера:
- 📌 В
Конфигуратореоткройте свойства документа (Объекты → Документы → [Ваш документ]). - 📌 В разделе
НумерациявыберитеСоставной номери настройте части: - 🔹
Префикс(фиксированный, напримерДОГ-) - 🔹
Год(автоматически подставляется текущий) - 🔹
Порядковый номер(ручной ввод или автоинкремент)
Пример составного номера для договоров:
ДОГ-2026/МСК-001
где:
ДОГ-— префикс;2026— год;МСК— код подразделения (ручной ввод);001— порядковый номер (автоинкремент).
⚠️ Внимание: При использовании составных номеров убедитесь, что все части номера (особенно ручные) вводятся корректно. Ошибка в префиксе или коде подразделения может нарушить логику группировки документов в отчетах.
4. Решение типичных ошибок нумерации
Даже при правильной настройке пользователи сталкиваются с проблемами. Рассмотрим самые распространенные и способы их устранения:
| Ошибка | Причина | Решение |
|---|---|---|
| Дублирование номеров | Отключен контроль уникальности или ручной ввод | Включите контроль уникальности в настройках документа. Для существующих дублей используйте обработку Поиск и замена значений. |
| Пропуски в нумерации | Удаление документов или сбой автонумерации | Сбросьте счетчик нумерации (меню Все функции → Стандартные → Сбросить нумерацию документов). |
| Номера не обновляются при новом году | Неверная периодичность (например,"Без сброса" вместо"В пределах года") | Измените периодичность в настройках нумерации и сбросьте счетчик. |
| Ошибка"Номер документа не уникален" | Конфликт при обмене данными или ручном редактировании | Проверьте логи обмена (меню Администрирование → Обмен данными) и исправьте дубли вручную. |
Если проблема не решается стандартными средствами, проверьте:
- 🔍 Права доступа: у пользователя должны быть права на изменение нумерации (
Администрирование → Настройки пользователей и прав). - 🔍 Блокировки объектов: иногда нумерация сбивается из-за незавершенных транзакций (проверьте в
Все функции → Стандартные → Монитор блокировок). - 🔍 Целостность базы: выполните тестирование и исправление (
Администрирование → Тестирование и исправление).
Что делать если нумерация"зависла" на одном номере?
Эта проблема возникает при сбое транзакции или ошибке записи в таблицу последовательностей. Решение:
1. Закройте все сеансы 1С.
2. В конфигураторе выполните запрос к таблице _Nums (для SQL-версии) или проверьте файл 1Cv8.1CD (для файловой базы).
3. Если нет опыта работы с SQL, используйте обработку"Почистка базы" от фирмы 1С или обратитесь к специалисту.
5. Программная настройка нумерации (для разработчиков)
Если типовой функционал не покрывает ваши нужды, можно запрограммировать нумерацию с помощью 1С:Скрипт. Например, для реализации сквозной нумерации по нескольким видам документов или динамических префиксов (зависящих от даты, контрагента и т.д.).
Пример кода для установки префикса в зависимости от типа документа:
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Если ЭтотОбъект.ВидыДокументов.Получить.Наименование ="РеализацияТоваровУслуг" Тогда
ЭтотОбъект.Номер ="РТУ-" + Формат(ТекущаяДата,"ДФ=yyyy") +"-" + Формат(ПолучитьНовыйНомер,"ЧГ=0000");
КонецЕсли;
КонецПроцедуры
Функция ПолучитьНовыйНомер
Запрос = Новый Запрос;
Запрос.Текст ="ВЫБРАТЬ МАКСИМУМ(Номер КАК Число) КАК МаксНомер
ИЗ Документ.РеализацияТоваровУслуг
ГДЕ Номер ПОДОБНО'РТУ-2026-%'";
Результат = Запрос.Выполнить;
Если Результат.Пустой Тогда
Возврат 1;
Иначе
Возврат?(Результат.МаксНомер = Неопределено, 1, Результат.МаксНомер + 1);
КонецЕсли;
КонецФункции
Этот код:
- 🔹 Автоматически подставляет префикс
РТУ-и текущий год. - 🔹 Генерирует уникальный номер с учетом существующих документов за год.
- 🔹 Работает на сервере, что гарантирует корректность при многопользовательской работе.
Для более сложных сценариев (например, нумерация с учетом подразделений или внешних систем) используйте:
- 📌 Регистры сведений — для хранения счетчиков по разным измерениям (подразделения, типы документов).
- 📌 Внешние обработки — для массового перенумерования или миграции данных.
- 📌 HTTP-сервисы — если номера должны синхронизироваться с внешней системой (например, CRM).
⚠️ Внимание: При программной настройке нумерации всегда тестируйте код на копии рабочей базы. Ошибки в алгоритме могут привести к необратимым последствиям, например, к дублированию номеров в уже проведенных документах.
Для разработчиков: используйте транзакции при изменении нумерации, чтобы избежать конфликтов при параллельной работе пользователей.
6. Нумерация в распределенных базах (РИБ) и при обмене данными
Если ваша компания использует распределенную информационную базу (РИБ) или обменивается данными между несколькими базами (например, центральный офис и филиалы), настройка нумерации требует особого подхода. Основная проблема — конфликты номеров при синхронизации.
Решения для РИБ:
- 🔹 Уникальные префиксы для каждого узла: например,
МСК-001для Москвы иСПБ-001для Петербурга. - 🔹 Централизованная нумерация: один узел (обычно центральный) генерирует номера для всех.
- 🔹 Использование GUID: вместо числовых номеров применяются глобальные уникальные идентификаторы (но это усложняет чтение документов человеком).
Пример настройки префиксов для РИБ:
| Узел РИБ | Префикс | Пример номера |
|---|---|---|
| Центральный офис (Москва) | МСК- | МСК-2026-0001 |
| Филиал (Санкт-Петербург) | СПБ- | СПБ-2026-0001 |
| Филиал (Екатеринбург) | ЕКБ- | ЕКБ-2026-0001 |
Для настройки обмена:
- Откройте
Администрирование → Обмен данными. - Выберите узел и настройте правила синхронизации для документа.
- В параметрах обмена укажите, как обрабатывать конфликты номеров (например,"Игнорировать" или"Перенумеровывать").
Если используете обмен через универсальный формат (EnterpriseData), проверьте настройки в плане обмена:
ПланОбмена.Основной.НумерацияДокументов.Добавить(
Новый ЭлементНумерацииДокументов(
ТипДокумента = Справочники.Документы.РеализацияТоваровУслуг,
Префикс ="РТУ-",
ДлинаНомера = 8,
Периодичность = ПериодичностьНумерации.ВПределахГода
)
);
⚠️ Внимание: При изменении правил нумерации в РИБ обязательно синхронизируйте настройки на всех узлах. В противном случае возможны ошибки при следующем обмене.
7. Проверка и оптимизация нумерации: советы экспертов
Чтобы нумерация работала стабильно, следуйте этим рекомендациям:
Проверить уникальность номеров в отчете"Анализ документов"|Убедиться, что периодичность сброса соответствует бизнес-процессам|Тестировать нумерацию на копии базы перед массовыми изменениями|Документировать правила нумерации для новых сотрудников|Регулярно архивировать документы старше 5 лет для уменьшения нагрузки-->
1. Аудит существующих номеров:
- 🔹 Используйте отчет
Анализ документов(менюОтчеты → Стандартные → Анализ документов) для поиска дублей или пропусков. - 🔹 Для SQL-баз выполните запрос:
ВЫБРАТЬ
ВидДокумента,
Номер,
КОЛИЧЕСТВО(*) КАК Количество
ИЗ
Документ
СГРУППИРОВАТЬ ПО
ВидДокумента,
Номер
ИМЕЮЩИЕ
КОЛИЧЕСТВО(*) > 1
2. Оптимизация производительности:
- 🔹 Если в базе миллионы документов, индексируйте поле"Номер" в SQL.
- 🔹 Для файловой базы регулярно выполняйте
Тестирование и исправление(особенно если нумерация ведется с 2000-х годов).
3. Документирование правил:
- 🔹 Создайте регламент нумерации (например, в 1С:Документооборот) с примерами для новых сотрудников.
- 🔹 Укажите ответственных за контроль уникальности (обычно это главный бухгалтер или администратор 1С).
4. Автоматизация проверок:
- 🔹 Настройте регламентное задание (меню
Администрирование → Регламентные задания) для ежемесячной проверки уникальности номеров. - 🔹 Используйте внешние обработки (например,"Проверка нумерации документов" от Инфостарт).
Пример регламентного задания для проверки дублей:
Процедура ВыполнитьПроверкуНумерации
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Вид КАК ВидДокумента,
| Номер,
| КОЛИЧЕСТВО(*) КАК Количество
|ИЗ
| Документ
|СГРУППИРОВАТЬ ПО
| Вид,
| Номер
|ИМЕЮЩИЕ
| КОЛИЧЕСТВО(*) > 1";
Результат = Запрос.Выполнить;
Если НЕ Результат.Пустой Тогда
ТекстСообщения ="Обнаружены дубли номеров документов:" + Символы.ПС;
Выборка = Результат.Выбрать;
Пока Выборка.Следующий Цикл
ТекстСообщения = ТекстСообщения + Символы.ПС +
"Вид:" + Выборка.ВидДокумента +
", Номер:" + Выборка.Номер +
", Количество:" + Выборка.Количество;
КонецЦикла;
ОтправитьОповещениеНаПочту("admin@company.ru","Дубли номеров в 1С", ТекстСообщения);
КонецЕсли;
КонецПроцедуры
FAQ: Частые вопросы по нумерации документов в 1С
Можно ли изменить нумерацию для уже существующих документов?
Да, но это требует осторожности. Используйте групповую обработку (Все функции → Обработки → Групповая обработка справочников и документов) или напишите скрипт для перенумерации. Обязательно сделайте резервную копию базы перед массовыми изменениями! После перенумерации проверьте целостность связей (например, в регистрах накопления или бухгалтерских проводках).
Как сделать сквозную нумерацию для нескольких видов документов?
Стандартными средствами это невозможно — каждый вид документа в 1С имеет свой счетчик. Решения:
- Используйте регистр сведений для хранения общего счетчика и программно подставляйте его в номер документа.
- Объедините документы в один вид (если это логично для бизнес-процессов).
- Используйте внешнюю обработку, которая будет присваивать номера из единого пула.
Пример кода для регистра сведений:
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Запрос = Новый Запрос;
Запрос.Текст ="ВЫБРАТЬ Максимум(Номер) КАК МаксНомер ИЗ РегистрСведений.ОбщийСчетчикНомеров";
Результат = Запрос.Выполнить;
НовыйНомер = Если Результат.Пустой Тогда 1 Иначе Результат.МаксНомер + 1 КонецЕсли;
ЭтотОбъект.Номер ="ДОК-" + Формат(НовыйНомер,"ЧГ=000000");
// Записываем новый номер в регистр
НаборЗаписей = РегистрыСведений.ОбщийСчетчикНомеров.СоздатьНаборЗаписей;
НоваяЗапись = НаборЗаписей.Добавить;
НоваяЗапись.Номер = НовыйНомер;
НаборЗаписей.Записать;
КонецПроцедуры
Почему при обмене данными между базами возникают конфликты номеров?
Этоная проблема при синхронизации. Причины и решения:
- 🔹 Одинаковые префиксы: Настройте уникальные префиксы для каждого узла (например,
МСК-иСПБ-). - 🔹 Разные периодичности сброса: Убедитесь, что во всех базах используется одинаковая периодичность (например,"В пределах года").
- 🔹 Ручное редактирование номеров: Запретите ручной ввод номеров в документах, участвующих в обмене.
- 🔹 Ошибки в правилах обмена: Проверьте настройки плана обмена (
Администрирование → Обмен данными → Настройка правил обмена).
Для диагностики используйте журнал обмена данными (Администрирование → Обмен данными → Журнал обмена).
Как сбросить нумерацию документов с начала года?
Способы сброса:
- Через интерфейс:
- Перейдите в
Администрирование → Настройки программы → Нумерация документов. - Выберите нужный вид документа и нажмите
Сбросить нумерацию. - Укажите дату, с которой нужно начать нумерацию заново (обычно 1 января текущего года).
- Перейдите в
- Через конфигуратор:
// Для SQL-базыВыполнитьЗапросБезТранзакции(
"UPDATE _Nums
SET NextNum = 1
WHERE Period ='2026-01-01'
AND DocType = (SELECT Ref.TRef FROM Metadata WHERE Name ='Документ.РеализацияТоваровУслуг')"
);
- Через обработку: Используйте стандартную обработку
СброситьНумерациюДокументов.epf(поставляется с платформой).
⚠️ Внимание: Сброс нумерации не изменяет номера уже существующих документов. Он только устанавливает стартовое значение для новых документов.
Можно ли использовать буквы в номерах документов?
Да, но с оговорками:
- 🔹 В префиксах/суффиксах буквы разрешены (например,
ДОГ-А123).