Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты на сайте предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, программного обеспечения, баз данных, сетевого оборудования и других компонентов инфраструктуры. Перед выполнением действий создайте резервную копию и по возможности протестируйте изменения в безопасной среде. Пользователь самостоятельно оценивает риски и несет ответственность за результат. При отсутствии необходимых знаний обратитесь к квалифицированному ИТ-специалисту.

145 1С:Предприятие и СУБД

Код ошибки 145 в 1С: Значение поля 'Код' не уникально

Обновлено: 10.09.2026 · Официальная документация ↗

Механизм автонумерации в 1С и причины сбоя

Ошибка «Значение поля "Код" (или "Номер") не уникально (Код ошибки 145)» возникает в момент попытки записать новый элемент справочника или новый документ в базу данных. В платформе 1С:Предприятие встроен механизм автоматической нумерации: при создании объекта платформа запрашивает последний (максимальный) код/номер в таблице и прибавляет к нему 1. Ошибка 145 происходит, если этот автосгенерированный номер уже существует в базе. Бизнес-риски: блокировка ввода первичных документов, невозможность заведения новой номенклатуры.

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

Причина сбояТехническое объяснение
Ручное изменение кодаПользователь с полными правами вручную изменил код элемента, например с "000010" на "000099". При следующем создании 1С попытается создать "000100". Если элементы 100-110 уже есть, возникнет конфликт.
Обмен данными (РИБ)Из узла прилетел документ с номером, который пересекается с локальной нумерацией (не настроены префиксы узлов).
Изменение длины/типа кодаПрограммист в Конфигураторе изменил длину поля "Код" или поменял его тип с Числа на Строку (или наоборот).

Методы восстановления уникальности нумерации

Сценарий 1: Программное обновление нумераторов (Быстрое решение)

Платформа 1С кэширует последние номера для скорости. Если кэш рассинхронизировался с базой, его нужно сбросить.

 // В любой внешней обработке или в консоли кода выполните:
 // Обновление нумерации для конкретного справочника
ОбновитьНумерациюОбъектов(Метаданные.Справочники.Номенклатура);

 // Обновление нумерации для конкретного документа
ОбновитьНумерациюОбъектов(Метаданные.Документы.РеализацияТоваровУслуг);

 // Глобальное обновление для всей конфигурации (выполняется долго)
ОбновитьНумерациюОбъектов();

Сценарий 2: Поиск и исправление аномального номера (Ручной режим)

Если обновление не помогло, значит в базе реально есть элемент с "кривым" кодом (например, кто-то ввел строковый код "ЯЯЯ999", и 1С не знает, как прибавить к нему единицу).

  1. Откройте список справочника/журнал документов.
  2. Отсортируйте колонку "Код" или "Номер" по убыванию (стрелочка вниз).
  3. Найдите элементы с нестандартными кодами (без ведущих нулей, с русскими буквами вместо английских префиксов).
  4. Вручную измените их коды на правильные или перенумеруйте их с помощью стандартной обработки "Универсальные подбор и обработка объектов".

Типовые ошибки администраторов

  • Отказ от префиксов в распределенных базах: В архитектуре РИБ каждый узел обязан иметь свой уникальный строковый префикс (например, ЦБ00, МГ01). Если префиксы не заданы, базы неизбежно сгенерируют одинаковые номера, и при обмене возникнет Ошибка 145.
В базе 1С постоянный хаос с номерами счетов-фактур и накладных?
Нарушение хронологии нумерации — повод для штрафов со стороны ФНС. Эксперты ITSTM разработают и внедрят строгие правила формирования номеров (с привязкой к организации, году и подразделению) и напишут скрипты автоматической перенумерации прошлых периодов.
💡 Практика специалистов: Практика ITSTM: При массовой загрузке данных (Data Migration) из старых систем всегда отключайте автонумерацию на время загрузки и присваивайте номера программно (УстановитьНовыйКод() / УстановитьНовыйНомер()), либо загружайте исходные номера. В конце миграции ОБЯЗАТЕЛЬНО вызывайте ОбновитьНумерациюОбъектов().

Частые вопросы (FAQ)

Почему 1С сама не может найти свободный номер?

Для оптимизации работы СУБД 1С не сканирует всю таблицу в поиске 'дыр'. Она берет максимальное значение (MAX) и инкрементирует его. Если номера 10, 11, 15 заняты, 1С будет создавать 16, 17, оставляя 12, 13, 14 пустыми.

Можно ли отключить контроль уникальности?

В Конфигураторе у Справочника/Документа есть свойство 'Контроль уникальности'. Его можно снять, но это крайне не рекомендуется, так как это сломает логику поиска и ссылочную целостность во многих типовых алгоритмах.

Что означает префикс организации?

В типовых конфигурациях номер состоит из Префикса_Организации + Префикса_Базы + Тире + Самого номера (например, ООБП-000123). Это нужно для раздельной нумерации документов разных юридических лиц внутри одной базы.

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

В типовых конфигурациях код защищен от изменения. В карточке объекта нажмите 'Еще' -> 'Разрешить редактирование реквизитов' (или 'Изменить номер'). Система выдаст предупреждение, согласитесь и поле разблокируется.

Полезные материалы
Рекомендуем