[ Вопрос дня ] Почему может возникать ошибка подключения расширения “(Критичная): Конфликт внутренних идентификаторов у объекта”?

Механизм расширений конфигураций, как платформенный механизм, активно развивается от версии к версии. Нередко при работе с расширениями встречаются ошибки платформы. О некоторых подобных проблемах в Мастер-группу сообщают слушатели курса Разработка расширений и технологии доработки конфигураций 1С без снятия с поддержки.

Вопрос

Подскажите, пожалуйста, с чем может быть связана такая ошибка расширения “(Критичная): Конфликт внутренних идентификаторов у объекта”? Пробовал удалить расширение и загрузить заново, ошибка не ушла.

Ответ

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

По тексту ошибки похоже, что каким-то образом сформировалось несколько объектов метаданных с одинаковыми внутренними идентификаторами.

Придумал вот такой вариант, когда могут получиться одинаковые идентификаторы:

  • В базе создали новое расширение, в нем создали новый объект.
  • Сохранили расширение в файл 1.cfe.
  • Затем еще как-то модифицировали это же расширение.
  • Сохранили его в файл 2.cfe.
  • А потом в другую базу загрузили оба расширения: 1.cfe и 2.cfe.

Предлагаю создать новое, пустое расширение. При помощи копирования (Ctrl+C/Ctrl+V) перенести объекты из проблемного расширения в новое. Должны сформироваться новые идентификаторы, по логике ошибка должна уйти.

Расширения можно выгружать в XML-файлы, в них искать одинаковые идентификаторы, заменять их на другие (например, можно сгенерировать вообще новые идентификаторы), пробовать собирать из файлов обратно расширение, загружать его в базу. Но это уже совсем ручной вариант.

А по-хорошему, нужно отправить базу с воспроизведением ошибки в техподдержку фирмы “1С”, чтобы они точно диагностировали проблему. И если это ошибка в платформе, то могли  бы ее поправить в следующем релизе.

Комментарии / обсуждение (6):

  1. Андрей

    Большое спасибо за статью! Нашел у вас ответ, какой механизм вызывает данную ошибку. Это я и проделал. Указанный вами путь устранения данной ошибки помог!

  2. Виталий

    EF – это расширения от 1С с исправлением ошибок. При обновлении на очередной релиз, перед обновление конфигурации БД, 1С рекомендует удалять все расширения с EF_ (исправления ошибок будут применены в обновленной конфигурации). После обновления, заходите в Администрирование- Результаты обновления -Проверить наличие обновлений, если будут патчи, то устанавливаете их (появятся расширения с EF_ с исправлением ошибок новой конфигурации). Эти патчи (расширения с EF_) появляются регулярно при исправлении ошибок от 1С.

    • Василий Ханевич

      Добрый день!
      Да, всё правильно. Расширения, имя которых начинается с EF, – это патчи, выпущенные фирмой “1С”. Они содержат исправления ошибок релизов.
      В каждом патче указывается, для каких версий конфигурации он может применяться. Если выпущен релиз конфигурации, в котором эта ошибка исправлена, получается, что патч уже не нужен. В таком случае при запуске после обновления в пользовательском режиме из базы будут удалены патчи, которые уже неактуальны. Так должен работать этот механизм. Если наблюдается другое поведение, то это может быть ошибка, нужно обращаться к разработчикам, чтобы они локализовали и устранили проблему.
      Также в курсе Разработка расширений и технологии доработки конфигураций 1С без снятия с поддержки есть отдельное занятие, посвященное работе с патчами.

  3. Сергей-2

    После обновлений до версии 8.3.18.1128, вылезла такая ошибка.. EF_40027558_6: Критичная: Конфликт внутренних идентификаторов у объекта EF_40027558_6.
    Решение: сделал бэкап в конфигураторе, зашел в конфигурация-расширения конфигурации. удалил все что было в этом поле. Замечу, дубликатов не было.
    Перезагрузил вошел без ошибок, обновил. Все прекрасно.

    • Василий Ханевич

      Добрый день!
      Отлично, что удалось решить проблему.
      Правда непонятно, почему ошибка проявилась только на определенном релизе платформы, а до этого всё было нормально.
      Интересно было бы получить комментарий разработчиков платформы.

      Для ручного анализа можно попробовать выгрузить все расширения из базы в XML-файлы, в них искать одинаковые идентификаторы. Так можно будет понять, в каком объекте метаданных возникли проблемы.

  4. Сергей

    у меня данная ошибка возникла, когда произошла рассинхронизация объектов – значение свойства “Объект расширяемой конфигурации” стало пустым. Установил флажок левее названия свойства в значение “Проверять значение при подключении расширения”, после чего конфигурация при сохранении вывела такие свойства в список ошибок, где стало возможным их сопоставление: пункт в выпадающем меню “Сохранить имя, изменив соответствие”

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Вход на сайт

Зарегистрироваться

Подтверждение регистрации будет отправлено на указанный e-mail.

Я подтверждаю, что ознакомлен(а) с Пользовательским соглашением, принимаю его условия и даю свое согласие на обработку моих персональных данных.

Восстановить доступ

E-mail или логин

Ссылка на создание нового пароля будет отправлена на указанный e-mail.