После обновления конфигурации "1С:Бухгалтерия" (например, до релиза 3.0.150.29) некоторые пользователи сталкиваются с неприятной ситуацией: программа не запускается в режиме "Предприятие", а вместо этого выводит окно с сообщением об ошибке. Текст ошибки может выглядеть так:
{EF_00_00584295 ОбщийМодуль.ЭлектронныеДокументыЭДО.Модуль(182,19)}: Процедура или функция с указанным именем не определена (НовыеДанныеПодписиСУчетомДоверенности)
ДанныеПодписи = <<?>>НовыеДанныеПодписиСУчетомДоверенности();
Эта проблема связана с конфликтом между обновленной конфигурацией и ранее установленными исправлениями (патчами). Давайте разберемся в причинах этой ошибки и рассмотрим надежные способы ее решения.
Прежде всего, проанализируем, что такое расширения с именами вида EF_.... Это не обычные пользовательские доработки, а официальные исправления (патчи), выпускаемые фирмой "1С". Они предназначены для оперативного устранения критических ошибок в программе без необходимости ждать выхода полноценного нового релиза.
Суть проблемы заключается в следующем:
НовыеДанныеПодписиСУчетомДоверенности), которых в новом коде уже нет или они называются иначе.В результате возникает конфликт, который и приводит к ошибке при запуске программы.
Чтобы гарантированно избежать подобных проблем, фирма "1С" в официальных инструкциях к обновлениям настоятельно рекомендует удалять все установленные патчи перед началом процедуры обновления. Это самый надежный и правильный подход.
Разберем по шагам, как это сделать:
Важно: следование этой инструкции является официальной рекомендацией разработчика и позволяет избежать 99% проблем, связанных с конфликтами расширений при обновлении.
Если вы уже обновили конфигурацию и столкнулись с ошибкой запуска, ситуацию еще можно исправить. Для этого нужно вручную отключить конфликтующие расширения через Конфигуратор.
Рассмотрим пошаговую инструкцию:
EF_. В нашем случае это EF_00_00584295. Нередко проблема возникает сразу с несколькими патчами.У многих возникает логичный вопрос: почему система сама не может определить, что патч устарел, и отключить его? В теории, такой механизм существует. В файлах патчей (например, в manifest.xml) и в свойствах самого расширения есть информация, для каких версий конфигурации оно предназначено. Однако на практике этот механизм автоматической проверки не всегда срабатывает корректно. Причины могут быть разными, но результат один — конфликт при обновлении.
Поэтому ручное удаление всех патчей перед обновлением, как предписано в инструкции, — это не лишняя работа, а гарантированный способ обеспечить плавный и безошибочный переход на новую версию программы.