Что делать, если при обновлении 1С:Бухгалтерии возникает ошибка «Конфликт внутренних идентификаторов»?

Системный администратор 1С v8.3 (Управляемые формы) 1C:Бухгалтерия
← На главную

При обновлении конфигурации 1С:Бухгалтерия, например, на релиз 3.0.143.42, пользователи могут столкнуться с критической ошибкой, которая прерывает процесс. Система выдает предупреждение вида: «Критичная: Конфликт внутренних идентификаторов у объекта ОбщийМодуль.ТребованияФНСВызовСервера», часто со ссылкой на конкретное исправление, например, EF_60010767_v2.

Эта проблема не уникальна и может проявляться для разных объектов конфигурации, например, для ЭлементСтиля.ЦветОшибкиВПротоколеБРО. Попытки просто удалить проблемное расширение (патч) часто не приводят к успеху, так как оно появляется снова после перезапуска или через некоторое время.

Проанализируем ситуацию и разберем по шагам, как гарантированно решить эту проблему и успешно обновить вашу базу данных.

Выясняем причину: почему возникает конфликт?

В основе проблемы лежит механизм исправлений (патчей) в 1С. Патчи — это, по сути, небольшие расширения конфигурации, которые фирма «1С» выпускает для оперативного исправления ошибок без необходимости ждать выхода полного релиза. Они загружаются и устанавливаются автоматически.

Ошибка «Конфликт внутренних идентификаторов» возникает, когда в системе одновременно оказываются активны два или более объекта с одинаковыми внутренними именами. Типичный сценарий:

  1. Был выпущен патч для исправления ошибки (например, EF_60010767).
  2. Позже был выпущен улучшенный или исправленный вариант этого же патча (например, EF_60010767_v2).
  3. При автоматическом обновлении старая версия патча по какой-то причине не удалилась корректно.
  4. В результате в системе присутствуют оба патча, которые пытаются изменить один и тот же объект конфигурации (в нашем примере — ОбщийМодуль.ТребованияФНСВызовСервера). Это и вызывает конфликт, который блокирует обновление основной конфигурации.

Система автоматической загрузки патчей, работающая по расписанию (через РегламентныеЗадания), усугубляет проблему. Даже если вы вручную удалите конфликтующий патч, система через некоторое время обнаружит его отсутствие и загрузит снова, возвращая ошибку.

Решение: комплексный подход для гарантированного обновления

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

Шаг 1. Временно отключаем автоматическую загрузку патчей

Это ключевой шаг, который не даст системе вмешиваться в наши действия. Нам нужно временно остановить регламентное задание, отвечающее за загрузку исправлений.

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

Теперь система не будет пытаться загружать удаленные нами патчи до тех пор, пока мы не включим это задание обратно.

Шаг 2. Удаляем все установленные исправления (патчи)

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

  1. В том же разделе Администрирование → Обслуживание найдите и откройте пункт «Установленные исправления (патчи)».
  2. В открывшемся списке вы увидите все установленные в базе патчи.
  3. Выделите все исправления в списке (можно использовать комбинацию клавиш Ctrl+A).
  4. Нажмите кнопку «Удалить исправление». Подтвердите свое действие.

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

Шаг 3. Очищаем кэш конфигурации

Кэш — это служебные файлы, в которых 1С хранит информацию о структуре конфигурации для ускорения работы. Иногда в кэше могут оставаться «устаревшие» данные о конфликтующих объектах. Чтобы избежать повторения ошибки, кэш рекомендуется очистить.

Самый простой способ для пользователя:

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

Для продвинутых пользователей: можно вручную удалить папки с кэшем. Они находятся по путям %APPDATA%\1C\1cv8 и %LOCALAPPDATA%\1C\1cv8. Внутри вы найдете папки с длинными буквенно-цифровыми именами — это и есть кэш баз. Их можно удалить (при следующем запуске платформа создаст их заново).

Шаг 4. Выполняем обновление конфигурации

Теперь, когда база подготовлена и ничего не мешает, можно запускать стандартную процедуру обновления.

  1. Запустите базу в режиме «Конфигуратор».
  2. Сделайте резервную копию базы данных через меню Администрирование → Выгрузить информационную базу. Это обязательный шаг перед любым обновлением!
  3. Выполните обновление стандартным способом: Конфигурация → Поддержка → Обновить конфигурацию.
  4. Следуйте указаниям мастера обновления.

В отсутствие конфликтующих патчей процесс обновления должен пройти успешно.

Шаг 5. Включаем патчи обратно

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

  1. Запустите обновленную базу в режиме «Предприятие».
  2. Вернитесь в раздел Администрирование → Обслуживание → Регламентные и фоновые задания и снова включите задание «Автоматическое обновление исправлений (патчей)».
  3. Чтобы ускорить процесс, можно запустить поиск и установку патчей вручную. Перейдите в Администрирование → Интернет-поддержка и сервисы. В разделе «Обновление версии программы» нажмите на ссылку «Обновление программы».
  4. В открывшемся окне оставьте только флажок «Исправления (патчи)» и выполните поиск и установку.

Система загрузит и установит актуальный набор исправлений, предназначенный именно для вашего нового релиза, что исключит возникновение конфликтов в будущем.

Альтернативный быстрый способ (может не сработать)

Если проблема вызвана явным конфликтом двух версий одного патча (например, EF_60010767 и EF_60010767_v2), можно попробовать более простое решение, предложенное одним из участников форума.

  1. Откройте список установленных исправлений: Администрирование → Обслуживание → Установленные исправления (патчи).
  2. Внимательно просмотрите список. Если в ошибке фигурирует патч с суффиксом _v2, найдите в списке такой же патч, но без этого суффикса.
  3. Если вы нашли старую версию, удалите только ее.
  4. Очистите кэш и попробуйте запустить обновление конфигурации снова.

Этот метод может сработать, если конфликт единичный. Однако если проблемных патчей несколько, комплексный подход с полным удалением всех исправлений является более надежным.

← На главную