Механизм расширений конфигураций, как платформенный механизм, активно развивается от версии к версии. Нередко при работе с расширениями встречаются ошибки платформы. О некоторых подобных проблемах в Мастер-группу сообщают слушатели курса Разработка расширений и технологии доработки конфигураций 1С без снятия с поддержки.
Вопрос
Подскажите, пожалуйста, с чем может быть связана такая ошибка расширения “(Критичная): Конфликт внутренних идентификаторов у объекта”? Пробовал удалить расширение и загрузить заново, ошибка не ушла.
Ответ
Точного описания такой ошибки не встречал, поэтому всё написанное далее – это только мои предположения. В любом случае не забывайте делать резервные копии перед всеми манипуляциями.
По тексту ошибки похоже, что каким-то образом сформировалось несколько объектов метаданных с одинаковыми внутренними идентификаторами.
Придумал вот такой вариант, когда могут получиться одинаковые идентификаторы:
- В базе создали новое расширение, в нем создали новый объект.
- Сохранили расширение в файл 1.cfe.
- Затем еще как-то модифицировали это же расширение.
- Сохранили его в файл 2.cfe.
- А потом в другую базу загрузили оба расширения: 1.cfe и 2.cfe.
Предлагаю создать новое, пустое расширение. При помощи копирования (Ctrl+C/Ctrl+V) перенести объекты из проблемного расширения в новое. Должны сформироваться новые идентификаторы, по логике ошибка должна уйти.
Расширения можно выгружать в XML-файлы, в них искать одинаковые идентификаторы, заменять их на другие (например, можно сгенерировать вообще новые идентификаторы), пробовать собирать из файлов обратно расширение, загружать его в базу. Но это уже совсем ручной вариант.
А по-хорошему, нужно отправить базу с воспроизведением ошибки в техподдержку фирмы “1С”, чтобы они точно диагностировали проблему. И если это ошибка в платформе, то могли бы ее поправить в следующем релизе.
Разработка расширений и технологии доработки конфигураций 1С без снятия с поддержки.
Большое спасибо за статью! Нашел у вас ответ, какой механизм вызывает данную ошибку. Это я и проделал. Указанный вами путь устранения данной ошибки помог!
EF – это расширения от 1С с исправлением ошибок. При обновлении на очередной релиз, перед обновление конфигурации БД, 1С рекомендует удалять все расширения с EF_ (исправления ошибок будут применены в обновленной конфигурации). После обновления, заходите в Администрирование- Результаты обновления -Проверить наличие обновлений, если будут патчи, то устанавливаете их (появятся расширения с EF_ с исправлением ошибок новой конфигурации). Эти патчи (расширения с EF_) появляются регулярно при исправлении ошибок от 1С.
Добрый день!
Да, всё правильно. Расширения, имя которых начинается с EF, – это патчи, выпущенные фирмой “1С”. Они содержат исправления ошибок релизов.
В каждом патче указывается, для каких версий конфигурации он может применяться. Если выпущен релиз конфигурации, в котором эта ошибка исправлена, получается, что патч уже не нужен. В таком случае при запуске после обновления в пользовательском режиме из базы будут удалены патчи, которые уже неактуальны. Так должен работать этот механизм. Если наблюдается другое поведение, то это может быть ошибка, нужно обращаться к разработчикам, чтобы они локализовали и устранили проблему.
Также в курсе Разработка расширений и технологии доработки конфигураций 1С без снятия с поддержки есть отдельное занятие, посвященное работе с патчами.
После обновлений до версии 8.3.18.1128, вылезла такая ошибка.. EF_40027558_6: Критичная: Конфликт внутренних идентификаторов у объекта EF_40027558_6.
Решение: сделал бэкап в конфигураторе, зашел в конфигурация-расширения конфигурации. удалил все что было в этом поле. Замечу, дубликатов не было.
Перезагрузил вошел без ошибок, обновил. Все прекрасно.
Добрый день!
Отлично, что удалось решить проблему.
Правда непонятно, почему ошибка проявилась только на определенном релизе платформы, а до этого всё было нормально.
Интересно было бы получить комментарий разработчиков платформы.
Для ручного анализа можно попробовать выгрузить все расширения из базы в XML-файлы, в них искать одинаковые идентификаторы. Так можно будет понять, в каком объекте метаданных возникли проблемы.
у меня данная ошибка возникла, когда произошла рассинхронизация объектов – значение свойства “Объект расширяемой конфигурации” стало пустым. Установил флажок левее названия свойства в значение “Проверять значение при подключении расширения”, после чего конфигурация при сохранении вывела такие свойства в список ошибок, где стало возможным их сопоставление: пункт в выпадающем меню “Сохранить имя, изменив соответствие”