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

  оглавление  Делаем тестирование и исправление баз по расписанию

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

Что ещё за полные дистрибутивы

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

Обычные дистрибутивы обновления на сайте 1С обозначаются так:

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

Чистая база обычно представлена файлом конфигурации 1cv8.cf, а демо база (заполненная учебными данными) представлена выгрузкой базы с именем файла 1cv8.dt.

Полные дистрибутивы на сайте 1С обозначаются так:

99% обновлений на сайте 1С - это обычные дистрибутивы.

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

При этом самое первое обновление для конфигурации почти всегда содержит ссылку на полный дистрибутив:

Кому и зачем они могут понадобиться

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

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

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

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

  • мы регулярно запускали на них автоматизированные проверки совместимости нашего решения с конкретной версией типовой
  • чтобы при обнаружении ошибки нашего решения у клиента с конкретной версией конфигурации 1С - мы тут же могли воспроизвести эту ситуацию у себя на точно такой же версии базы

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

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

Задействуем обновлятор

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

Давайте рассмотрим сценарий наших действий для подготовки таких дистрибутивов конфигурации "1С:Бухгалтерия 3.0".

Находим полный дистрибутив

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

Для примера я скачал и установил полный дистрибутив версии 3.0.28.7:

  • 1Cv8.cf - это файл конфигурации версии 3.0.28.7
  • 1Cv8.dt - это выгрузка чистой базы версии 3.0.28.7
  • 1Cv8new.dt - это выгрузка демо базы версии 3.0.28.7

При этом сами имена для файлов с чистой или демо базами задаются в манифесте (файл с именем 1cv8.mft):

И надо учитывать, что в каких-то дистрибутивах в качестве чистой базы будет выгрузка в dt (как в данном примере, файл 1Cv8new.dt), а в каких-то будет идти (и указываться в манифесте) конфигурация в виде файла с расширением cf.

В любом случае нас интересуют прежде всего:

  • иметь конфигурацию данной версии (файл с расширением cf)
  • иметь выгрузку демо базы (файл с расширением dt)

Создаём чистую базу

Создаём чистую базу из этого дистрибутива (через стартер 1С) и добавляем её в обновлятор. Результат будет таким:

Создаём демо базу

Создаём демо базу из этого же дистрибутива (через стартер 1С) и добавляем её также в обновлятор:

Настраиваем чистую базу

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

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

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

На этой же закладке (чуть ниже) устанавливаем галку "После каждого обновления выгружать конф-ю (cf) в папку с обновлением":

И, наконец, здесь же устанавливаем галку "После каждого обновления выгружать базу (dt) в папку с обновлением" .. "как чистую":

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

Настраиваем демо базу

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

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

На этой же закладке (чуть ниже) устанавливаем галку "После каждого обновления выгружать базу (dt) в папку с обновлением" ... "как демо":

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

Обновляем базы

Теперь нам осталось либо периодически запускать обновления этих баз вручную или настроить их обновление по расписанию.

При этом в папке с шаблонами обновлений будут появляться все необходимые нам файлы для полного дистрибутива.

Вот, к примеру, как выглядит папка с обновлением на версию 3.0.28.12, после того как обновлятор обновил настроенные нами две базы на эту версию:

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

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

На этом всё :)

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



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

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



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

  оглавление  Делаем тестирование и исправление баз по расписанию