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

  оглавление  Как перенести в обновлятор базы из другой учётной системы?

Обновлятор-1с. Почему одно и то же исправление (патч) может устанавливаться снова и снова?

Описание проблемы

Обновлятор умеет устанавливать исправления (патчи) автоматически: ссылка.

При этом иногда разработчики выпускают исправление (патч) с ошибочной информацией о нём самом.

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

Вот пример такого исправления:

Исправление EF_00_40000223 установилось успешно.

Делаем попытку повторной установки... и оно снова устанавливается:

Причина

Если мы откроем такое исправление в конфигураторе и затем перейдём в его "Общие макеты", то увидем, что его манифест (описание) содержит неверный идентификатор, либо не описывает до конца (или верно) те конфигурации, для которых подходит это расширение.

В данном случае манифест исправления "EF_00_40000223" выглядит так:

То есть в списке AppliedFor ошибочно отсутствует наша конфигурация и наша версия, а потому перед установкой новых исправлений - это исправление удаляется, как устаревшее вот в этот момент:

Эта процедура (удаление устаревших исправлений) - обязательная, и если её не выполнит обновлятор, то её выполнит сама база 1с при запуске в режиме пользователя и это проблемное исправление неминуемо будет удалено.

Решение

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

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

Есть способ и самостоятельно решения проблемы, но, конечно, я не могу его советовать большинству в силу трудоёмкости.

Для этого нужно исправить манифест исправления на корректный, сохранить такое исправление. А далее установить его во все базы через обновлятор, перезаписав уже имеющееся. В этом случае корректное исправление будет держаться  в базе пока не произойдёт обновление конфигурации и тогда эту процедуру при необходимости нужно будет повторить. Где взять корректное содержимое манифеста? Его можно скопировать из файла Manifest.xml, который присутствует в архиве расширения при ручном скачивании с сайта 1с. Я намеренно не описываю этот сценарий детально, так как он подойдёт только для опытных администраторов, которые скорее всего разберутся с этими шагами самостоятельно.

Как пропустить установку проблемных исправлений

Предположим, что мы решили отказаться (по крайней мере на какое-то время) от проблемного исправления с именем EF_00_40000223 (о нём шла речь выше).

Как заставить обновлятор не устанавливать его в базы?

Для этого зайдите в дополнительные настройки программы, закладка "Обновление баз". Здесь в разделе "Ограничения" установите пункт "Пропускать установку следующих расширений":

И укажите здесь имя этого исправления:

Готово:

Теперь при установке (с сайта или из локальной папки) исправление с именем EF_00_40000223 будет пропущено:

 

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



Владимир Милькин
Как помочь сайту: расскажите (кнопки поделиться ниже) о нём своим друзьям и коллегам. Сделайте это один раз и вы внесете существенный вклад в развитие сайта. На сайте нет рекламы, но чем больше людей им пользуются, тем больше сил у меня для его поддержки.

Нажмите одну из кнопок, чтобы поделиться:



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

  оглавление  Как перенести в обновлятор базы из другой учётной системы?