Ошибка инициализации библиотеки модулей

Как перенести Обновлятор-1с на другой компьютер? оглавление Как отключить расширения на время выполнения обработчиков обновления (v2)?

Обновлятор-1с. Как исправить ошибку «EF_XXXXXXXX» процедура или функция с указанным именем уже определена

Обновлятор >> Инструкции 2019-12-07T00:36:00+00:00

Описание ошибки

Пример сообщения при ошибке: «{EF_10215746 ОбщийМодуль.УчетВзаиморасчетов.Модуль(2, 9)}: Процедура или функция с указанным именем уже определена (Подготовить таблицыЗачетаАвансовКассовыйМетод)».

Причина возникновения ошибки

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

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

Патчи можно безболезненно устанавливать и удалять (это ведь на самом деле расширения) — причём это можно делать при работающих пользователях.

Установленный патч начинает работать у пользователя только после перезапуска открытой у него базы.

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

И вот если этого не сделать — возникает описанная выше ошибка.

Как устранить возникшую ошибку

Прежде всего обновите ваш обновлятор на последнюю доступную на сайте версию.

Начиная с версии обновлятора от 6 декабря 2019 года я предусмотрел выполнение необходимых процедур при выполнении обработчиков обновления. Эти процедуры удаляют из конфигурации устаревшие патчи (речь идёт о вызове функции ‘ИсправленияИзменены’ из общего модуля ‘ОбновлениеКонфигурации’).

Но что делать, если ошибка уже возникла?

Первый способ устранения ошибки

Откройте базу в режиме пользователя.

Зайдите в раздел «Администрирование» пункт «Обслуживание»:

Далее раскройте подраздел «Обновление программы» и выберите пункт «Установленные исправления (патчи)»:

В открывшемся окне удалите все установленные исправления:

После этого перезапустите 1с и убедитесь, что ошибка исчезла.

Используйте версию обновлятора после 6 декабря 2019 года, чтобы эта ошибка не возникла вновь (так как он автоматически удаляет устаревшие патчи при выполнении обработчиков обновления).

Второй способ устранения ошибки

Первый способ может быть трудоёмким, если у вас несколько десятков баз. Сейчас я покажу как можно выполнить удаление устаревших патчей при помощи обновлятора сразу во всех базах.

Прежде всего обновляем обновлятор на последнюю версию (не ранее 6 декабря 2019 года).

Далее запускаем обновлятор и переходим на закладку «Скрипты»:

Если закладка ‘Скрипты’ скрыта