Как устранить ошибки уникальности значений и номеров документов в 1С
Чтобы исправить ошибки уникальности значений и номеров документов в 1С, используйте «Экспресс-проверку ведения учета», восстановите нумерацию через раздел «Поддержка и обслуживание» или методом ОбновитьНумерациюОбъектов().
Перед выполнением любых действий по исправлению уникальности (особенно тестирования и исправления базы данных и программного сброса нумерации) обязательно создайте резервную копию информационной базы. Автоматическое исправление может привести к потере части данных или изменению порядка сортировки.
Оглавление
Диагностика и поиск дублей
Прежде чем исправлять ошибки, необходимо выявить проблемные объекты:
- Используйте отчет «Контроль ведения учета» или «Экспресс-проверка ведения учета», который автоматически находит документы с нарушенной нумерацией и предлагает ссылки для перехода к ним.
- Для поиска неуникальных кодов справочников можно воспользоваться универсальными отчетами по регистру сведений или специальными обработками поиска дублей, чтобы вручную исправить найденные записи.
- Проверьте журнал регистрации в обеих базах (если ошибка возникла после обмена), так как конфликт мог произойти из-за некорректной синхронизации данных.
Исправление нумерации документов
Если проблема связана с номерами документов («Номер не уникален», сбившаяся последовательность):
- Штатная перенумерация: В конфигурациях «Бухгалтерия» и «Управление торговлей» используйте функционал «Поддержка и обслуживание» → «Восстановление нумерации объектов», где система предложит установить корректный начальный номер для проблемного периода.
- Программный сброс счетчика: Если стандартные средства не помогают, выполните процедуру
ОбновитьНумерациюОбъектов()в режиме предприятия или через консоль кода, что принудительно пересчитает внутренние счетчики нумерации. - Ручная правка: В некоторых случаях достаточно вручную отредактировать номер документа, добавив недостающие нули или изменив префикс, чтобы устранить конфликт с существующими записями.
- Настройка префиксов: Убедитесь, что префиксы информационных баз настроены корректно, особенно если учет ведется в распределенной системе, так как отсутствие уникального префикса — частая причина дублей при обмене.
Устранение ошибок уникальности кодов справочников
При ошибке «Значение поля Код не уникально»:
- Очистка мусора: Выполните удаление помеченных на удаление объектов, так как они могут занимать коды и мешать созданию новых элементов.
- Тестирование и исправление (ТиИ): Запустите «Администрирование» → «Проверка и исправление базы данных» в конфигураторе, выбрав опции восстановления индексов и целостности таблиц.
- Перенумерация справочников: Аналогично документам, для справочников можно использовать глобальный метод
ОбновитьНумерациюОбъектов, передав ему метаданные конкретного справочника.
Технические и административные меры
- Отключение контроля (временное): В исключительных случаях (например, при массовой загрузке данных) можно временно отключить контроль уникальности в свойствах документа в конфигураторе или установить флаг
Загрузка = Истинапри программной записи, но это требует обязательного последующего включения проверки. - Длина номера: Проверьте длину номера документа в метаданных; после обновлений конфигурации длина могла измениться, что приводит к обрезанию номеров и появлению дублей.
- Целостность системы: Если ошибка сопровождается сообщением о нарушении целостности системы, проверьте наличие нелицензионных модулей или эмуляторов ключей, которые могут повреждать индексы базы данных.
Частые ошибки
- Игнорирование настройки префиксов при обмене между распределенными базами, что гарантированно приводит к дублированию номеров.
- Попытка исправить нумерацию или запустить ТиИ без предварительного создания резервной копии информационной базы.
- Использование ТиИ без предварительной очистки помеченных на удаление объектов, что не решает проблему занятых кодов.
FAQ
Почему возникает ошибка «Номер не уникален» после обновления конфигурации?
После обновлений длина поля номера в метаданных могла измениться, что приводит к автоматическому обрезанию значений и появлению дублей.
Как безопасно сбросить счетчик нумерации документов?
Сделайте резервную копию базы, затем используйте штатный механизм «Восстановление нумерации объектов» или выполните метод ОбновитьНумерациюОбъектов() в консоли кода.