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

  оглавление  Как настроить подпись в письмах с уведомлениями об операциях

Обновлятор-1с. Как включить возможность обновления из 1cv8.cf и чем это грозит?

Введение

Возможность, про которую пойдёт речь расположена в свойствах базы на закладке "Обновление":

Обновление из CF последней версии (не рекомендуется)

Предположим, нам нужно обновить конфигурацию с версии 2.0.32.0 на версию 2.0.256.0, между которыми 12 ключевых релизов.

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

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

Вероятность этих проблем будет тем выше...

  • ... чем больше ключевых релизов вы пропустили
  • ... чем более существенные изменения были в обновлениях (например, смена версии БСП)
  • ... чем менее типовая ваша конфигурация

Для такого обновления расположите файл конфигурации 1cv8.cf версии 2.0.256.0 в папке с соответствующим обновлением. Файл конфигурации нужной версии можно получить, например, вот так.

Далее зайдите в свойства базы и включите следующую опцию:

Теперь обновлятор запустит обновление сразу из 1cv8.cf максимальной (в пределах текущей редакции) найденной версии 2.0.256.0.

Обновление из CF последовательно

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

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

А если мы сразу подготовим файлы конфигурации (cf) нужных версий и расположим их в соответствующие папки с обновлениями - операция обновления пройдёт быстрее.

Когда это может быть полезно? Вот реальная рабочая ситуация.

Пусть у нас есть 100 баз одинаковой конфигурации, которые нужно обновить последовательно (с выполнением обработчиков обновления после каждого промежуточного обновления) на следующие ключевые релизы 3.1.14.129, затем на 3.1.14.183 и, наконец, на 3.1.15.137.

  • Заходим в свойства одной из баз (это вообще может быть тестовая база) и на закладке "Обновление" устанавливаем опцию "После каждого обновления выгружать файл конфигурации (1cv8.cf) в папку с обновлением".
  • Обновляем эту базу обычным образом.
  • После этого в папках с обновлениями появятся файлы 1cv8.cf соответствующих версий.
  • Далее мы заходим в свойства всех 100 баз и на закладке "Обновление" устанавливаем опцию "При возможности обновлять из 1cv8.cf (последовательно)". См. скриншот этой опции выше.
  • После этого мы запускаем обновление всех 100 баз:
    • базы сначала обновляются из файла 1cv8.cf из папки с обновлением версии 3.1.14.129
    • далее выполняются обработчики обновления
    • далее базы обновляются из файла 1cv8.cf из папки с обновлением версии 3.1.14.183
    • далее выполняются обработчики обновления
    • далее базы обновляются из файла 1cv8.cf из папки с обновлением версии 3.1.15.137
    • далее выполняются обработчики обновления
  • В результате наших подготовительных действий - конфигурация будет всё также обновлена последовательно через ключевые релизы (то есть без дополнительных рисков для корректного выполнения обработчиков обновления), но быстрее за счёт того, что мы исключили этап построения конфигуратором файла конфигурации cf из cfu перед непосредственным обновлением.

Загрузка из CF вместо обновления

Общий случай

При включении обновления из файлов CF обновлятор применяет их к конфигурации точно также, как и файлы CFU - используя ключ пакетного режима конфигуратора /updatecfg. Это аналог операции из меню конфигуратора "Конфигурация-Поддержка-Обновить конфигурацию...").

Но что если нам нужно выполнять именно загрузку CF (ключ пакетного режима конфигуратора /loadcfg, аналог операции из меню конфигуратора "Конфигурация-Загрузить конфигурацию...").

Чтобы добиться загрузки CF вместо обновления нужно соблюсти следующие условия:

  1. Отключите поиск и скачивание обновлений на сайте (в целом или для конкретной базы).
  2. Включите второй способ поиска обновлений на компьютере.
  3. Включите опцию "При возможности обновлять из *.cf".
  4. Назовите файл с CF согласно следующему шаблону: loadme_*.cf, где * - это любые символы.
  5. При необходимости разместите подготовленные файл/файлы CF в индивидуальной папке с обновлениями.

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

Таким образом мы можем комбинировать (например, так) обновление/загрузку группы файлов cf/cfu,  размещая и называя их как угодно (обновлятор сам разберётся в каком порядке их применять к конфигурации в соответствии с информацией, которую он из них вытащит сам благодаря второму способу поиска обновлений). Обычно такую цепочку файлов размещают в индивидуальной папке с обновлениями для базы/группы баз.

Как заставить обновлятор загрузить CF несмотря ни на что

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

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

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

В этом случае нужно соблюсти следующие условия:

  1. Отключите поиск и скачивание обновлений на сайте (в целом или для конкретной базы).
  2. Включите второй способ поиска обновлений на компьютере
  3. Включите опцию "При возможности обновлять из *.cf"
  4. Назовите файл CF как loadme_withforce.cf
  5. Поместите файл CF в отдельную папку.
  6. Пропишите папку с файлом CF как индивидуальную папку для поиска обновлений в свойствах баз.
С уважением, (преподаватель школы 1С программистов и разработчик обновлятора).



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

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



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

  оглавление  Как настроить подпись в письмах с уведомлениями об операциях