Автоматическая нумерация в 1С:Предприятие — удобный инструмент для упорядочивания документов, но иногда она создаёт проблемы. Например, при миграции данных из другой системы, когда нужно сохранить оригинальные номера, или при работе с внешними контрагентами, требующими определённого формата нумерации. В некоторых случаях автонумерация приводит к дублированию номеров после восстановления базы из резервной копии или при репликации данных между филиалами.
В этой статье мы разберём все возможные способы отключения автоматической нумерации в 1С 8.3 (актуально также для 8.2 и 8.1), включая ручные настройки в конфигураторе, программные методы и обходные пути для типовых конфигураций (Бухгалтерия 3.0, Управление торговлей 11, Зарплата и управление персоналом 3.1). Особое внимание уделим нюансам, которые часто упускают даже опытные пользователи — например, последствиям отключения нумерации для связанных объектов или особенностям работы с распределёнными базами.
Если вы не администратор, а обычный пользователь, не беспокойтесь: часть методов доступна и без прав доступа к конфигуратору. Главное — чётко понимать, какой именно объект (документ, справочник или журнал) требует изменения нумерации, и какие риски это несёт для учёта.
1. Почему 1С автоматически нумерует документы и можно ли это полностью отключить?
Автонумерация в 1С:Предприятие заложена на уровне платформы как механизм обеспечения уникальности записей. Она работает по следующим принципам:
- 📌 Для документов: номер присваивается при записи, исходя из текущего максимального значения в базе + 1 (или по заданной маске).
- 📌 Для справочников: нумерация чаще используется для кодов, а не наименований, но тоже может быть автоматической.
- 📌 Для журналов: номера строк часто формируются автоматически, особенно в типовых конфигурациях.
Полностью отключить автонумерацию на уровне платформы невозможно без модификации конфигурации, так как это нарушит целостность данных. Однако можно:
- 🔧 Изменить алгоритм формирования номеров (например, использовать префиксы или внешние источники).
- 🔧 Отключить автонумерацию для конкретных типов объектов в конфигураторе.
- 🔧 Ручной ввод номеров с проверкой уникальности через обработки.
⚠️ Внимание: В распределённых информационных базах (РИБ) отключение автонумерации может привести к конфликтам при обмене данными между узлами. Перед изменениями проверьте настройки синхронизации!
Если вам нужно просто изменить формат номеров (например, добавить префикс "ДОГ-" или год), это делается без отключения автонумерации — через настройки Нумератора в конфигураторе. Подробнее об этом в следующем разделе.
2. Способы отключения автонумерации в конфигураторе (для администраторов)
Для полного контроля над нумерацией потребуется доступ к Конфигуратору 1С с правами администратора. Рассмотрим два основных метода:
2.1. Изменение свойств объекта метаданных
Этот способ подходит для документов и справочников:
- Откройте базу в режиме
Конфигуратор(Файл → Открыть → выберите вашу базу). - В дереве метаданных найдите нужный объект (например,
Документы → ПоступлениеТоваровУслуг). - В палитре свойств объекта найдите параметр
Автонумерацияи установите значениеЛожь. - Для справочников аналогично отключите
Автоматическое присвоение кодов. - Сохраните конфигурацию и обновите базу данных (Конфигурация → Обновить базу данных).
После этого при создании нового документа поле Номер станет доступным для ручного заполнения. Однако учтите:
- 🔴 Риск дублирования: 1С не будет автоматически проверять уникальность номеров.
- 🔴 Нарушение последовательности: при выгрузке/загрузке данных могут возникнуть ошибки.
Создайте резервную копию базы|Проверьте связанные объекты (регистры, отчёты)|Согласуйте изменения с бухгалтерией|Протестируйте на копии базы-->
2.2. Модификация модуля объекта
Если отключение через свойства недоступно (например, в некоторых типовых конфигурациях), можно переопределить процедуру присвоения номера в модуле объекта. Для документа ПоступлениеТоваровУслуг:
Процедура ОпределитьНомер(Номер, Дата)
// Отменяем автоматическое определение номера
Номер = "";
КонецПроцедуры
После этого номер будет пустым, и пользователь сможет ввести его вручную. Для справочников аналогично модифицируется процедура ОпределитьКод.
⚠️ Внимание: В типовых конфигурациях (Бухгалтерия 3.0, УТ 11) прямой редактирование модулей может привести к ошибкам при обновлении. Используйте расширения конфигурации или внешние обработки!
3. Отключение автонумерации без конфигуратора (для пользователей)
Если у вас нет доступа к конфигуратору, но нужно временно отключить автонумерацию, можно воспользоваться следующими методами:
3.1. Использование обработки "Установка номеров документов"
В типовых конфигурациях (Бухгалтерия 3.0, ЗУП 3.1) есть стандартная обработка для массового изменения номеров:
- Откройте меню
Файл → Открыть. - Выберите обработку
УстановкаНомеровДокументов.epf(обычно находится в каталогеExtFormsилиTemplates). - Укажите тип документа, диапазон дат и новый формат нумерации.
- Запустите обработку и подтвердите изменения.
Этот метод не отключает автонумерацию полностью, но позволяет перенумеровать существующие документы по вашим правилам.
3.2. Ручной ввод номеров через "Все функции"
Для некоторых документов можно обойти автонумерацию через режим Все функции:
- Откройте документ, для которого нужно изменить номер.
- Нажмите
Правка → Все функции(илиCtrl+Shift+F12). - Найдите команду
Установить номерилиИзменить номер. - Введите нужный номер вручную и сохраните документ.
Этот способ работает не для всех типов документов и может потребовать прав администратора.
Пользовательский (только работа с документами)|Администратор (есть доступ к конфигуратору)|Разработчик (модифицирую конфигурацию)|Не знаю-->
4. Особенности отключения автонумерации в типовых конфигурациях
Типовые конфигурации (Бухгалтерия 3.0, Управление торговлей 11, Зарплата и управление персоналом 3.1) имеют свои нюансы при работе с нумерацией. Рассмотрим их подробнее:
| Конфигурация | Объект | Способ отключения автонумерации | Риски |
|---|---|---|---|
| Бухгалтерия 3.0 | Счет-фактура | Через расширение (модификация процедуры ОпределитьНомер) |
Нарушение последовательности для налоговой отчётности |
| УТ 11.4 | Заказ покупателя | Отключение свойства Автонумерация + доработка печатных форм |
Конфликты при обмене с Бухгалтерией |
| ЗУП 3.1 | Приказ о приёме | Использование обработки ПеренумерацияДокументов |
Расхождение с кадровыми отчётами |
В Бухгалтерии 3.0 особое внимание уделите документам, которые участвуют в регламентированной отчётности (например, счета-фактуры). Их нумерация должна соответствовать требованиям Налогового кодекса РФ (сплошная нумерация в хронологическом порядке). Отключение автонумерации здесь чревато штрафами при проверках.
В Управлении торговлей 11 проблема часто возникает с заказами и реализациями, где номера документов используются в логистических цепочках. Если вы работаете с EDI-сообщениями (электронный документооборот), ручная нумерация может привести к сбоям при интеграции с системами партнёров.
Что будет если отключить автонумерацию в ЗУП?
В Зарплате и управлении персоналом 3.1 отключение автонумерации для приказов о приёме/увольнении приведёт к расхождениям в отчётах СЗВ-ТД и 4-ФСС>. Пенсионный фонд требует хронологическую нумерацию кадровых документов, поэтому лучше использовать префиксы (например, "ПР-001", "УВ-002") вместо полного отключения.
5. Альтернативные подходы: как обойти автонумерацию без её отключения
Если полностью отключить автонумерацию невозможно или рискованно, рассмотрите альтернативные варианты:
5.1. Использование префиксов и суффиксов
Вместо отключения автонумерации можно модифицировать формат номера, добавив префикс или суффикс. Например, для документов РеализацияТоваровУслуг:
Процедура ОпределитьНомер(Номер, Дата)
Номер = "РТУ-" + Формат(ТекущаяДата(), "ГГММДД") + "-" + Строка(Номер);
КонецПроцедуры
Это даст номера вида: РТУ-240515-001, РТУ-240515-002 и т.д. Преимущества:
- ✅ Сохраняется уникальность и автоматическое присвоение.
- ✅ Легко фильтровать документы по периодам.
- ✅ Нет рисков дублирования.
5.2. Перенумерация через внешние обработки
Если нужно изменить номера существующих документов, используйте внешние обработки, например:
- 📄 "Перенумерация документов" (доступна на Инфостарте).
- 📄 "Массовое изменение номеров" (для справочников).
Эти обработки позволяют:
- 🔹 Заменить часть номера (например, убрать префикс).
- 🔹 Пересчитать номера с заданного значения.
- 🔹 Пропустить определённые документы (по дате или типу).
⚠️ Внимание: После массовой перенумерации обязательно перепроверьте связанные регистры (например,РегистрБухгалтерииилиРегистрНакопления). В некоторых случаях потребуется перепроведение документов!
5.3. Использование дополнительных реквизитов
Если нумерация нужна для внешних систем (например, для EDI или CRM), но в 1С она должна оставаться автоматической, добавьте дополнительный реквизит:
- В конфигураторе откройте нужный документ (например,
ЗаказПокупателя). - Добавьте новый реквизит
ВнешнийНомер(типСтрока). - В форме документа разместите поле для ручного ввода.
- При обмене данными передавайте значение
ВнешнийНомервместо стандартногоНомер.
Это решение позволяет сохранить автонумерацию в 1С, но использовать альтернативные номера для интеграции.
Перед массовой перенумерацией документов экспортируйте их в Excel через Универсальный отчёт — это поможет отследить изменения и восстановить данные при ошибке.
6. Частые ошибки и как их избежать
При работе с нумерацией в 1С пользователи и администраторы часто сталкиваются с типичными проблемами. Рассмотрим самые распространённые:
6.1. Дублирование номеров после отключения автонумерации
Если вы отключили автонумерацию, но не добавили проверку уникальности, при ручном вводе могут появиться дубли. Чтобы этого избежать:
- 🔧 Добавьте в модуль объекта проверку перед записью:
Процедура ПередЗаписью(Отказ, РежимЗаписи)
Если НЕ ЗначениеЗаполнено(Номер) Тогда
Сообщить("Номер не может быть пустым!");
Отказ = Истина;
Возврат;
КонецЕсли;
Если НомерДокументаЗанят(Номер, ЭтотОбъект.Ссылка) Тогда
Сообщить("Документ с таким номером уже существует!");
Отказ = Истина;
КонецЕсли;
КонецПроцедуры
6.2. Ошибки при обмене данными (РИБ, EDI, выгрузка в бухгалтерию)
Если вы изменили нумерацию в одной базе, а в другой она осталась старой, при обмене возникнут конфликты. Решения:
- 🔹 Для РИБ: используйте
Планы обменас настройкой правил преобразования номеров. - 🔹 Для EDI: настройте маппинг полей в модуле интеграции.
- 🔹 Для выгрузки в бухгалтерию: используйте дополнительные реквизиты (как в разделе 5.3).
6.3. Нарушение хронологии в регламентированных отчётах
Если вы изменили номера документов, которые попадают в налоговую или бухгалтерскую отчётность (например, счета-фактуры), может возникнуть расхождение с данными ФНС. Чтобы этого избежать:
- 📅 Всегда сохраняйте хронологический порядок (даже при ручной нумерации).
- 📅 Используйте дополнительные отчёты для проверки последовательности (например,
Анализ счетов-фактур). - 📅 Перед сдачей отчётности сверяйте номера с данными в Личном кабинете налогоплательщика.
⚠️ Внимание: Согласно п. 5 ст. 169 НК РФ, счета-фактуры должны иметь сквозную нумерацию в порядке возрастания. Нарушение этого правила может привести к штрафу до 20 000 рублей.
Перед любыми изменениями нумерации проверьте, не используется ли она в регламентированных отчётах или внешних интеграциях. В большинстве случаев лучше модифицировать формат номера, чем отключать автонумерацию полностью.
7. Программное управление нумерацией (для разработчиков)
Если вы разработчик 1С, у вас есть больше возможностей для гибкой настройки нумерации. Рассмотрим ключевые методы:
7.1. Работа с объектом "Нумератор"
В платформе 1С:Предприятие за нумерацию отвечает системный объект Нумератор. Его можно использовать для управления номерами:
// Получение текущего номера
ТекущийНомер = Нумератор.ПолучитьНомер("Документ.ПоступлениеТоваровУслуг");
// Установка нового номера
Нумератор.УстановитьНомер("Документ.ПоступлениеТоваровУслуг", 1000);
Это полезно, если нужно:
- 🔹 Сбросить счётчик нумерации.
- 🔹 Зарезервировать диапазон номеров.
- 🔹 Синхронизировать нумерацию между базами.
7.2. Переопределение процедур в расширениях
Вместо прямого изменения конфигурации используйте расширения. Например, для документа РеализацияТоваровУслуг:
- Создайте новое расширение конфигурации.
- Добавьте в него модуль документа с процедурой:
Процедура ОпределитьНомер(Номер, Дата) Экспорт
// Логика формирования номера
Номер = Формат(Дата, "ДДММГГ") + "-" + Строка(Нумератор.ПолучитьНомер("Документ.РеализацияТоваровУслуг"));
КонецПроцедуры
Преимущества расширений:
- ✅ Сохраняется поддержка типовых обновлений.
- ✅ Изменения легко откатить.
- ✅ Можно включать/отключать без перезапуска базы.
7.3. Интеграция с внешними системами нумерации
Если номера документов должны формироваться во внешней системе (например, ERP или WMS), используйте веб-сервисы или HTTP-запросы:
Функция ПолучитьНомерИзВнешнейСистемы(ТипДокумента)
Запрос = Новый HTTPЗапрос("https://api.example.com/get_number");
Запрос.Заголовки.Вставить("Authorization", "Bearer token");
Запрос.Заголовки.Вставить("Content-Type", "application/json");
Запрос.Текст = JSON.Записать(Новый Структура("docType", ТипДокумента));
Ответ = Новый HTTPСоединение.ОтправитьДляПолученияТекста(Запрос);
Возврат JSON.Прочитать(Ответ.Текст).number;
КонецФункции
Этот подход актуален для крупных компаний с распределённой ИТ-инфраструктурой.
FAQ: Ответы на частые вопросы
Можно ли отключить автонумерацию для справочников?
Да, для справочников автонумерацию отключают через свойство Автоматическое присвоение кодов в конфигураторе. Однако это приведёт к тому, что пользователям придётся вводить коды вручную, что не всегда удобно. Альтернатива — использовать префиксы (например, "КЛ-001" для клиентов, "ТОВ-001" для товаров).
Как перенумеровать существующие документы?
Для массовой перенумерации используйте обработки:
- 📌 "Установка номеров документов" (входит в типовую поставку).
- 📌 "Перенумерация документов" (доступна на Инфостарте).
Перед запуском обязательно сделайте резервную копию базы! После перенумерации проверьте связанные регистры и перепроведите документы, если потребуется.
Что делать, если после отключения автонумерации документы не проводятся?
Это типичная проблема, если номер документа участвует в проверках уникальности или связан с регистрами. Решения:
- Проверьте модуль документа на наличие процедур вида
ПередЗаписьюилиОбработкаПроведения. - Убедитесь, что номер не пустой и уникальный.
- Если документ всё равно не проводится, попробуйте перепровести его вручную или через обработку
Массовое проведение документов.
Как сделать, чтобы номера документов начинались с определённого значения?
Для этого модифицируйте процедуру ОпределитьНомер в модуле документа:
Процедура ОпределитьНомер(Номер, Дата)
Если НЕ ЗначениеЗаполнено(Номер) Тогда
Номер = 1000; // Стартовое значение
КонецЕсли;
КонецПроцедуры
Или используйте обработку Установка номеров документов, указав начальное значение.
Можно ли отключить автонумерацию только для определённых пользователей?
Да, это реализуется через роли и права доступа:
- Создайте новую роль (например,
РучнаяНумерация). - В модуле документа добавьте проверку:
Процедура ОпределитьНомер(Номер, Дата)Если НЕ Пользователь.Роли.Найти("РучнаяНумерация") = Неопределено Тогда
Возврат; // Для пользователей с ролью номер не меняется
КонецЕсли;
Номер = ""; // Отключаем автонумерацию для остальных
КонецПроцедуры
Такой подход позволяет гибко управлять нумерацией в зависимости от прав пользователя.