Как проверить цифровую подпись обновлятора

  оглавление  Как готовить полные дистрибутивы баз 1С для каждой версии конфигурации

Как обновить очень старую базу 1С на очень много релизов при помощи Обновлятора

Ситуация

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

Мне довольно часто пишут в этой связи, чтобы уточнить - справится ли обновлятор  и какие вообще могут быть подводные камни при таком большом обновлении.

На что следует обратить внимание

При таком большом обновлении (и тут неважно делаем мы это всё вручную через конфигуратор или автоматизированно через обновлятор) нужно учитывать следующие моменты:

  • нужно чётко контролировать выполнение обработчиков обновления и если на каком-то из промежуточных обновлений обработчики перестали выполняться корректно - нужно вначале добиться их безошибочного выполнения и лишь затем продолжить
  • если размер базы и время позволяют - нужно делать резервные копии после каждого из промежуточных обновлений (о них речь пойдёт ниже), чтобы иметь возможность в любой момент откатиться на любую из них
  • если у вас очень старая база (например, вы решили обновлять бухгалтерию начиная с версии 2.0.12.2), то возможно скачивание новых обновлений не заработает сразу; в этом случае нужно скачивать и устанавливать обновления прямо с сайта 1с и периодически запускать обновлятор, а с определенного момента он начнет качать обновления сам
  • если вы обновляете чистую конфигурацию (которую только что создали), обязательно сделайте однократный запуск в режиме пользователя, чтобы выполнились первоначальная инициализация и заполнение данными; иначе будут проблемы с выполнением обработчиков обновления

Какие версии платформы использовать для такого обновления

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

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

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

Чтобы узнать какая версия платформы рекомендуется для данного обновления, откройте файл "Readme.txt" внутри папки с обновлением и перейдите в раздел "Важная информация":

На что обратить внимание в обновляторе

Возможность резервного копирования в формате sql

Для серверных баз по умолчанию обновлятор делает резервные копии в формате dt.

И это не есть хорошо по нескольким причинам:

  • для больших баз выгрузка в dt занимает очень много времени и ресурсов компьютера
  • выгрузка в dt не может считаться полноценной резервной копией; поэтому, если в процессе обновления вы захотите откатиться на одну из промежуточный копий, я бы не советовал откатываться на dt выгрузку

Я не буду останавливаться на том, почему dt нельзя считать полноценным архивом базы (об этом есть информация и обсуждения в сети). Напомню лишь, что фирма 1С также рекомендует использовать этот формат исключительно для перехода из файловой базы в серверную и обратно.

Именно поэтому в обновляторе есть возможность настроить создание резервных копий в формате sql напрямую из СУБД.

Для этого зайдите в свойства серверной базы в обновляторе:

Затем перейдите на закладку "Архивация" и отметьте галку "Включить в архив бэкап SQL":

Заполните необходимые настройки, если это потребуется:

Отмечу, что пока поддерживается только MS SQL Server. Для PostgreSQL придётся создать резервную копию вручную перед обновлением базы и отказаться от идеи создания промежуточных архивов.

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

По умолчанию обновлятор  настроен на обязательное создание резервной копии перед обновлением базы.

Если вам этого не требуется, зайдите в свойства базы и перейдите на закладку "Обновление".

Здесь отметьте галку "Не создавать резервную копию перед обновлением":

Как отключить автоматическое восстановление базы при ошибке обновления

Этот пункт относится только к файловым базам, так как только они откатываются по умолчанию на первоначальное состояние при критической ошибки в момент обновления.

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

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

Здесь отметьте галку "Не восстанавливать базу при ошибке обновления":

Как включить обновление "в лоб, а не по ключевым релизам"

По умолчанию, обновлятор строит кратчайшую цепочку для обновления конфигурации 1С.

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

В этом случае я рекомендую восстановить базу на ближайшую резервную копию и включить обновление "в лоб".

Чтобы сделать это, откройте свойства базы и перейдите на закладку "Обновление".

Здесь отметьте галку "Искать обновление в лоб, а не по ключевым релизам":

С этого момента обновлятор будет пытаться применить все выпущенные обновления к базе, а не только необходимые.

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

Для того, чтобы ограничить цикл обновления к примеру не более чем на 3 релиза за раз отметим на этой же закладке галку "Обновлять не более чем на 3 релиза за один запуск":

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

Как включить автоматический переход на следующую подредакцию

По умолчанию, обновлятор выполняет обновление строго в пределах текущей редакции.

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

Но вот переход между подредакциями (например, с версии 11.1 на 11.2) обычно не такой "страшный" и для некоторых конфигураций может считаться обычным делом.

Чтобы разрешить обновлятору выполнять автоматическое обновление на следующую подредакцию воспользуйтесь вот этой инструкцией.

Как включить создание промежуточных резервных копий

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

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

Наличие у нас всех промежуточных копий базы решает эту проблему.

Чтобы включить создание промежуточных копий, запускайте обновление базы следующим образом.

Из пункта "Ещё" выберите операцию "Запустить обновление с расширенными параметрами":

В открывшемся диалоге отметьте галку "Создавать резервную копию после каждого промежуточного обновления"...

... и нажмите кнопку "Запустить".

Как обновлять доработанную базу

Если у вас доработанная типовая и при попытке обновления через обновлятор появляется вот такое сообщение:

В этом случае вам может быть полезна вот эта возможность.

И всё-таки как же обновлять очень старую базу 1С

Точная стратегия должна быть выработана вами исходя из того:

  • какой у вас тип базы (файловая или серверная)
  • сколько у вас времени
  • сколько у вас свободного места

При этом нужно учесть:

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

На этом всё :)

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



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

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



Как проверить цифровую подпись обновлятора

  оглавление  Как готовить полные дистрибутивы баз 1С для каждой версии конфигурации