Зачем перед выполнением обработчиков обновления удаляются патчи

  оглавление  Управляем исправлениями (патчами) сразу в группе баз

Обновлятор-1с. Как включить установку исправлений (патчей)?

Введение

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

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

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

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

Как включить установку исправлений с сайта

Внимание! Возможность автоматической установки расширения через обновлятор доступна только, если у вас не базовая платформа 1с. Если у вас базовая 1с, то вам сюда.

Настраиваем

Заходим в свойства базы:

Закладка "Обновление":

Здесь устанавливаем галку "После всех обновлений устанавливать исправления".

По умолчанию поиск и скачивание исправлений происходит с сайта 1с:

Но этот способ будет работать только в том случае, если вы укажите логин и пароль от вашего ИТС в настройках обновлятора:

Какие данные отправляются на сайт 1с

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

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

Передаются следующие данные:

Эти данные о базе также передаются при обращении к любому из сервисов интернет-поддержки (например, запрос реквизитов контрагента по ИНН).

Проверяем

Готово, можем запускать поиск обновлений...

... либо обновление базы:

Установка исправлений выполняется в самом конце после всех возможных обновлений конфигурации базы.

Обновлятор также проверяет через сайт - были ли отозваны уже установленные в базе исправления. При необходимости он удаляет такие исправления из базы.

Как включить установку исправлений из папки

Внимание! Возможность автоматической установки расширения через обновлятор доступна только, если у вас не базовая платформа 1с. Если у вас базовая 1с, то вам сюда.

Для тех случаев, когда на компьютере нет доступа к интернету, я предусмотрел установку уже скачанных и распакованных исправлений.

Скачиваем

К примеру, нам требуется скачать и установить все исправления для конфигурации "Бухгалтерия предприятия" версии 3.0.75.58.

Заходим на сайт https://releases.1c.ru/total и скачиваем архив с нужными исправлениями:

В самом низу страницы:

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

Распаковываем

Скачанный архив распаковываем:

В этом архиве лежат другие архивы (на каждое исправление).

Их также распаковываем:

После распаковки каждого из архивов получили 4 папки с исправлениями:

В каждой из папок лежит расширение и его манифест (описание):

Копируем в папку

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

К примеру, у себя я создал папку "x:\patches". Скопируем в неё папки с распакованными исправлениями:

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

Заходим в свойства базы:

Закладка "Обновление":

Здесь устанавливаем галку "После всех обновлений устанавливать исправления" и выбираем источник исправлений "из папки", указав в качестве папки только что созданную "x:\patches".

Проверяем

Готово, можем запускать поиск обновлений...

... либо обновление базы:

Про исправления, которые отозваны

В случае с поиском исправлений на сайте обновлятор автоматически узнаёт об исправлениях, которые были отозваны.

Но в случае с поиском исправлений в папке ему взять эту информацию неоткуда. Мы должны сами сообщать ему об исправлениях, которые отозваны.

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

Чтобы сообщить эту информацию обновлятору зайдём в созданную (и прописанную в настройках обновлятора) папку "x:\patches" и создадим здесь (прямо в корне) текстовый файл с именем "revoked.txt"

Откроем этот файл на редактирование и укажем в нём имя отозванного исправления:

Готово. Теперь, если бы это исправление было установлено в нашей базе, то обновлятор при обновлении удалил бы его.

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

Например, так:

Как быть тем, у кого базовая платформа 1с

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

В этом случае вам потребуется это делать вручную в самой базе (в разделе "Администрирование"-"Обслуживание"). При этом вы можете по ходу дела отметить галку "Загружать и устанавливать исправления (патчи) автоматически".

Как запускать установку исправлений отдельно от обновления баз

Для этого нажмите правой кнопкой на базе и выберите пункт "Управление исправлениями...":

Либо выберите тип операции "только установка исправлений" в задаче расписания:

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



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

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



Зачем перед выполнением обработчиков обновления удаляются патчи

  оглавление  Управляем исправлениями (патчами) сразу в группе баз