1с ошибка после обновления процедура или функция с указанным именем не определена
В октябре т. г. публиковали материал по ошибке в модуле EF_00_00406132 «Процедура или функция с указанным именем не определена». В общем, алгоритм схожий.
Причина
Наиболее вероятно, что при автоматическом обновлении 1С не смогла удалить ранее установленный патч с исправлениями или произошел внутренний сбой. И теперь один из модулей препятствует корректному запуску программы.
Поэтому, проблемный патч необходимо удалить вручную .
Одно важное замечание
Перед выполнением каких-либо действий, пожалуйста, сделайте копию вашей информационной базы. Это будет правильным шагом.
В случае каких-то ошибочных действий, вы сможете вернуться к исходной точке. Это ваша страховка. Поэтому, будьте внимательны. Сделайте бэкап, а только потом приступайте к операциям с расширениями.
Способ 1. Если программа запускается в режиме Предприятия
- Перейдите в список установленных исправлений через меню « Администрирование — Обслуживание — Обновление программы — Установленные исправления (патчи) ».
- В списке выберите патч, который необходимо удалить, и нажмите кнопку «Удалить исправление» .
Альтернативный вариант открытия списка — через команду «Функции для технического специалиста» .
Путь такой: « Главное меню — Функции для технического специалиста — Стандартные — Управление расширениями конфигурации ».
Как включить показ всех функций на панели : Главное меню — Настройки — Параметры — ✔ Режим технического специалиста.
Способ 2. Удаление расширения через Конфигуратор
Этот вариант доступен только в 1С версии ПРОФ. У базовых версий в Конфигураторе нет пункта меню «Расширения конфигурации» — используйте 3-й способ.
- Откройте 1С в режиме Конфигуратора.
- Главное меню — Конфигурация — Расширения конфигурации.
Если пункт недоступен, выполните команду «Конфигурация — Открыть конфигурацию» . - В списке установленных расширений выберите удаляемый патч и нажмите кнопку «Удалить» (или через меню «Действия — Удалить»).
Способ 3. Удаление патча с помощью параметра запуска
Где "/DeleteCfg" — указание на действие удаления. Два варианта:
- "/DeleteCfg -Extension "— удаление конкретного расширения или патча с указанным именем.
- "/DeleteCfg -AllExtension" — удаление всех расширений и патчей из информационной базы.
Эту команду необходимо добавить в дополнительные параметры запуска информационной базы или командную строку, вызывающую старт 1С.
Например, чтобы удалить расширение EF_1954_14 ( у вас будет свой идентификатор патча ), необходимо указать:
- Добавьте дополнительные параметры запуска ИБ на удаление одного или всех расширений.
- Разово откройте программу 1С в режиме Конфигуратор — после выполнения команды /DeleteCfg с указанной опцией Конфигуратор будет автоматически закрыт.
- Очистите поле дополнительных параметров запуска ИБ в исходное состояние и запустите её в режиме 1С:Предприятие.
Примеры удаления патча через командную строку
Для файловой базы:
Для клиент-серверного варианта:
/F — путь к файловой информационной базе;
/S — адрес базы на сервере 1С;
/N — имя пользователя из общего списка, необходимы полные административные права для этого пользователя;
/P — пароль пользователя, имя которого указано в /N (если пароля нет, то параметр не указывается);
/DeleteCfg -Extension — имя расширения, которое необходимо удалить. Либо /DeleteCfg -AllExtensions для удаления всех расширений и патчей.
✅ Один из этих способов должен помочь. Также рекомендуем на время отключить автоматическую установку патчей, чтобы ситуация не повторилась. Успехов вам.
Вас также может заинтересовать:
⚡ Подписывайтесь на канал или задавайте вопрос на сайте — постараемся помочь всеми техническими силами. Безопасной и производительной работы в Windows и 1С.
Подпишитесь на email-рассылку, чтобы быть в курсе последних новостей и обновлений. Кейсы клиентов и рекомендации по настройке 1С. Читайте первыми ► здесь .
При обновлении 1С, уже в режиме “Предприятие”, вы можете столкнуться с такой ошибкой: “EF_’№…’: Процедура или функция с указанным именем не определена”.
Теория
Процесс обновления базы 1С я показывал в этой статье. Но бывает так, что в “Конфигураторе” обновление прошло без ошибок. Затем вы открываете базу в режиме “Предприятие” чтобы продолжить обновление. И как только согласитесь с легальностью полученных обновлений, вдруг видите следующую ошибку:
Может появиться и другая ошибка, без её описания. Тогда, чтобы понять что произошло, нажмите на ссылку “Сформировать отчет об ошибке“, а затем сохраните ошибку на ваш компьютер. Ошибка сохраниться в архиве в виде текстового файла, который вы можете открыть любым текстовым редактором. В этом текстовом файле можете найти ошибку из-за которой не обновляется база. И она может быть также связана с расширением, а может и ещё с чем-то. Но в этой статье мы рассматриваем именно определённую ошибку.
Эта ошибка означает что в базе есть расширение конфигурации, которое мешает обновиться. И номер этого расширения, в моём случае: “EF_00_00364434_5“. У вас может быть и другой номер, но начинается он всегда с EF_.
Расширения конфигурации – это специальный механизм, который нужен для доработки конфигурации без её изменения и без снятия её с поддержки. Типовые конфигурации, такие как “Бухгалтерия” или “Зарплата и управление персоналом” загружают расширения из интернета автоматически или вручную.
Кстати, расширения имеют больший приоритет, чем основная конфигурация. Поэтому и возникает данная ошибка. Расширение в обновлённой базе уже не нужно, но продолжает работать. И вот вам и ошибка “Процедура или функция с указанным именем не определена”.
Если у вас есть доступ к ИТС, то почитать про расширения можете тут.
В этом случае вам нужно просто удалить мешающее расширение используя “Конфигуратор“.
Удаление расширения
В конфигураторе вам следует перейти по следующим пунктам меню: “Конфигурация” / “Расширения конфигурации“:
И в открывшемся списке расширений находим нужное расширение и удаляем его:
Так как я уже удалил мешающее расширение, на рисунке выше его уже нет.
Далее нужно открыть базу в режиме “Предприятие” и попробовать продолжить обновление ещё раз. Больше этой ошибке у вас не должно появиться.
Успешных вам обновлений!
При обновлении 1С, уже в режиме "Предприятие", вы можете столкнуться с такой ошибкой: "EF_'. ': Процедура или функция с указанным именем не определена"
Причина возникновения ошибки
В современных типовых конфигурациях появилось такое понятие как патчи (исправления), которые на самом деле представляют из себя уже знакомые нам расширения.
Патчи можно безболезненно устанавливать и удалять (это ведь на самом деле расширения) - причём это можно делать при работающих пользователях.
Установленный патч начинает работать у пользователя только после перезапуска открытой у него базы.
Но каждый патч предназначен лишь для определенной версии конфигурации, а значит после очередного обновления все устаревшие патчи должны быть удалены.
И вот если этого не сделать - возникает описанная выше ошибка.
Как устранить возникшую ошибку
Прежде всего обновите ваш обновлятор на последнюю доступную на сайте версию.
Начиная с версии обновлятора от 6 декабря 2019 года я предусмотрел выполнение необходимых процедур при выполнении обработчиков обновления. Эти процедуры удаляют из конфигурации устаревшие патчи (речь идёт о вызове функции 'ИсправленияИзменены' из общего модуля 'ОбновлениеКонфигурации').
Но что делать, если ошибка уже возникла?
Первый способ устранения ошибки
Откройте базу в режиме пользователя.
Если база не запускается в режиме пользователя - удалите проблемное расширение через конфигуратор.
Зайдите в раздел "Администрирование" пункт "Обслуживание":
Далее раскройте подраздел "Обновление программы" и выберите пункт "Установленные исправления (патчи)":
В открывшемся окне удалите все установленные исправления:
После этого перезапустите 1с и убедитесь, что ошибка исчезла.
Используйте версию обновлятора после 6 декабря 2019 года, чтобы эта ошибка не возникла вновь (так как он автоматически удаляет устаревшие патчи при выполнении обработчиков обновления).
Второй способ устранения ошибки
Первый способ может быть трудоёмким, если у вас несколько десятков баз. Сейчас я покажу как можно выполнить удаление устаревших патчей при помощи обновлятора сразу во всех базах.
Внимание, если у вас базовая 1с, то этот способ не сработает. В этом случае вам нужно удалить проблемное расширение по имени (оно есть в описании ошибки, например EF_10215746) при помощи другого скрипта - вот он.
Прежде всего обновляем обновлятор на последнюю версию (не ранее 6 декабря 2019 года).
Далее запускаем обновлятор и переходим на закладку "Скрипты":
В этом случае зайдите в дополнительные настройки программы и перейдите на закладку "Интерфейс и общее поведение".
Здесь установите галку "Отображать закладку Скрипты" и установите значение справа в "показывать постоянно".
Указанный скрипт выполнит процедуру удаления устаревших патчей во всех базах.
Для баз, в которых возникли ошибки при выполнении скрипта воспользуйтесь первым способом.
По поводу установки новых патчей
Прямо из обновлятора это можно делать вот так (ссылка).
С уважением, Владимир Милькин (преподаватель школы 1С программистов и разработчик обновлятора).
Как помочь сайту: расскажите (кнопки поделиться ниже) о нём своим друзьям и коллегам. Сделайте это один раз и вы внесете существенный вклад в развитие сайта. На сайте нет рекламы, но чем больше людей им пользуются, тем больше сил у меня для его поддержки.
всем добрый день.Имею типовую конфигурацию 2.1 и старую 2.0
в 2.1 (новой типовой) при проверке модулей на ошибки не находит абсолютно ничего.
2.0 обновляю до 2.1.вылетает куча ошибок типа;
Процедура или функция с указанным именем не определена (СтрШаблон)
Процедура или функция с указанным именем не определена (СтрНайти)
Процедура или функция с указанным именем не определена (СтрСоединить)
Платформа одна и та же. Причем конфигурация обновляется до 2.1 но ошибки не уходят.Режим совместимости одинаковые в конфигурациях
(1)так она и так одна из последних.причем тут платформа.типовая то ошибок не дает с тем же релизом?а обновленная вываливает тыщу ошибок
(5) Что за конфигурация? Может в новом релизе вырезали реализацию этих функций в модулях. Посчитали, что пора переходить на платформенные.
(0) перещелкните режим совместимости у конфигурации, лет 5 назад такое встречал: выставлен нужный, но ругался, вручную менял на тоже самое и ок
(8)капец вы молодец)реально помогло.бред же.Поди догадайся.режим то стоит правильный. так и танцевал бы с бубном если бы не вы.спасибо
ПроверитьБит(<Число>, )
Параметры:
Тип: Число.
Число, в котором требуется проверить состояние бита. Значение должно быть целым числом в диапазоне от 0 до 2^32-1. Если число не является целым или не укладывается в данный диапазон, генерируется исключение.
Тип: Число.
Номер бита, состояние которого требуется проверить.
Значение должно быть целым числом в диапазоне от 0 до 31. Если число не является целым или не укладывается в данный диапазон, генерируется исключение.
Возвращаемое значение:
Тип: Булево.
Ложь - бит равен 0.
Истина - бит равен 1.
Описание:
Проверяет состояние заданного бита для заданного числа.
Доступность:
Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение (клиент), мобильное приложение (сервер), интеграция.
Использование в версии:
Доступен, начиная с версии 8.3.11.
Число>
«ОбщийМодуль.ЭлектронныеДокументыЭДО.Модуль(191,2)>: Процедура или функция с указанным именем не определена (ЗаполнитьОтпечаткиСертификатов)».
Из возможных действий: «Перезапустить» или «Завершить». Здрасьте, приехали.
Окно ошибки
Временное решение
Выход: отключение патча EF_00_00406132 через Конфигуратор.
Откройте вашу базу 1С в режиме Конфигуратор. В главном меню нажмите « Конфигурация — Расширения конфигурации ».
Если пункт недоступен, то сначала выполните команду « Конфигурация — Открыть конфигурацию ».
В окне со списком установленных расширений выберите расширение EF_00_00406132 и нажмите в строке на галку в поле «Активно».
Что делать, если у вас базовая версия
Попробуйте сделать таким образом:
- Укажите в дополнительных параметрах запуска информационной базы следующий ключ для удаления патча.
/DeleteCfg -Extension EF_00_00406132
- Запустите 1С в режиме конфигуратора. При этом Конфигуратор отроется и сразу закроется.
- После уберите этот ключ запуска и зайдите в режиме 1С:Предприятия, как обычно.
Дополнительная рекомендация
Чтобы исключить повторную автоматическую установку этого патча, на какое-то время через функции для технического специалиста уберите галку с « Загружать и устанавливать исправления (патчи) автоматически ». Нажмите на «Записать и закрыть».
В режиме 1С:Предприятия:
- Кнопка «Сервис и настройки» — Параметры — Режим технического специалиста (поставить ☑).
- Настройки — Функции для технического специалиста.
✅ После отключения «мешающего» патча вы с большой долей вероятности сможете успешно войти в базу.
⚡ Подписывайтесь на канал или задавайте вопрос на сайте — постараемся помочь всеми техническими силами. Безопасной и производительной работы в Windows и 1С.
Подпишитесь на рассылку, чтобы быть в курсе последних новостей и обновлений. Кейсы клиентов и рекомендации по настройке 1С. Читайте первыми ► здесь .
Читайте также: