Обновлено: 16.02.2012

Автоматическое обновление конфигурации информационной базы

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

Демонстрационная конфигурация "Автоматическое обновление конфигурации информационной базы" предназначена для иллюстрации технологии обновления конфигурации "1С:Предприятия 8" в автоматическом режиме. Конфигурация не является законченным (с предметной точки зрения) прикладным решением, но представляет собой универсальный компонент, готовый для использования в других прикладных решениях.

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

Технология автоматического обновления

Назначение

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

Обзор функциональности

Ключевые свойства механизма обновления:

Функциональность Файловая ИБ Серверная ИБ
Проверка наличия и получение обновлений
Получение обновлений через Интернет V V
Проверка доступных обновлений через Интернет при запуске приложения V V
Обновление с использованием файла поставки (.cf) или файла поставки обновления (.cfu) V V
Обновление из основной конфигурации V V
Варианты установки обновлений
Интерактивный режим обновления по требованию - "прямо сейчас" V V
Планирование установки обновлений на указанные дату и время - "отложенный" режим   V
Сервисные функции
Кеширование полученных из Интернета файлов обновления на локальной машине V V
Индикация длительной установки обновлений в интерактивном режиме "прямо сейчас" V V
Создание резервной копии ИБ перед установкой обновлений и восстановление ИБ в случае нештатной ситуации (ошибки) V V
Выполнение первоначального заполнения и обновления данных после обновления конфигурации ИБ V V
Принудительное отключение активных соединений с ИБ перед установкой обновлений   V
Уведомление пользователя о результатах "отложенного" обновления по электронной почте   V*

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

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

Получение обновлений через Интернет

На первой странице помощника выберите вариант Пользовательский сайт в Интернете (рекомендуется). Если на веб-сайте поставщика обновлений имеется доступное обновление, то помощник сообщает номер версии, краткое описание, размер обновления и предлагает его установить.

ПРИМЕЧАНИЕ
В некоторых организациях для соединения с Интернетом требуется дополнительно указать имя пользователя и пароль для доступа на прокси-сервер. Информацию об использовании прокси-сервера можно получить у администратора локальной сети.

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

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

Установка обновлений

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

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

ПРИМЕЧАНИЕ
В файловом варианте развертывания системы перед началом обновления необходимо завершить работу пользователей, подключенных к информационной базе. В клиент-серверном варианте завершение активных и блокировка новых соединений выполняются автоматически.

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

Планирование установки обновлений

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

Для планирования и запуска установки обновлений используется задание Планировщика Windows (Task Scheduler) на локальной машине. Задание планировщика автоматически удаляется после выполнения обновления.

ПРИМЕЧАНИЕ

Диагностика нештатных ситуаций

Внедрение в конфигурацию

Поставка

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

Требования к веб-сайту поставщика обновлений

Механизм проверки и получения обновлений через Интернет взаимодействует с веб-сайтом поставщика обновлений, к которому предъявляется ряд требований. "Открытая" часть веб-сайта (например, http://downloads.1c.ru/) предоставляет анонимный доступ к информации о доступных обновлениях, в то время как непосредственное получение файлов обновления с "закрытой" части сайта может быть ограничено авторизацией по имени и паролю.

"Открытая" часть сайта содержит файлы с информацией об обновлении в определенном формате:

Имя файла или каталога Описание
Корневой каталог с информацией об обновлениях

Например: http://downloads.1c.ru/ipp/ITSREPV/V8Update/Configs/.

Путь к каталогу задается в функциях "переопределяемого" общего модуля ОбновлениеКонфигурации:

  • АдресСервераДляПроверкиНаличияОбновления,
  • АдресРесурсовДляПроверкиНаличияОбновления
Каталог конфигурации

Название конфигурации. Например: Accounting.

Задается в функции ОбщиеМодули.ОбновлениеКонфигурации.КороткоеИмяКонфигурации

Каталог редакции

Номер редакции и подредакции конфигурации без разделителей. Например: 20 (для редакции 2.0 конфигурации)

Каталог версии платформы 1С:Предприятие

Номер редакции и подредакции платформы без разделителей. Например: 82 (для редакции 8.2 платформы 1С:Предприятие)

news.htm Документ "что нового" в обновлении
UpdInfo.txt Файл с информацией об обновлении конфигурации
v8upd11.zip ZIP-архив с файлом списка всех обновлений конфигурации (v8cscdsc.xml)

Т.е. полный путь к файлу получается, например, следующий: http://downloads.1c.ru/ipp/ITSREPV/V8Update/Configs/Accounting/20/82/UpdInfo.txt

"Закрытая" часть сайта (например: http://downloads.v8.1c.ru/tmplts/) содержит файлы обновлений:

Имя файла или каталога Описание
Корневой каталог файлов обновлений

Например: http://downloads.v8.1c.ru/tmplts/.

Путь к каталогу задается в свойстве конфигурации Метаданные.АдресКаталогаОбновлений

Каталог поставщика Название поставщика. Например: 1C.

Задается в файле со списком обновлений конфигурации v8cscdsc.xml
Каталог конфигурации Название конфигурации. Например: Accounting.

Задается в файле со списком обновлений конфигурации v8cscdsc.xml
Каталог версии конфигурации Строка версии конфигурации. Например: 2_1_1_2.

Задается в файле со списком обновлений конфигурации v8cscdsc.xml
Файл архива обновления Файл архива поставки обновления конфигурации. Например: 1cv8.zip.

Задается в файле со списком обновлений конфигурации v8cscdsc.xml
index.zip Файл архива c рекламой (опционально)

Т.е. полный путь к файлу получается, например, следующий: http://downloads.v8.1c.ru/tmplts/1с/Accounting/2_0_32_6/1cv8.zip

ПРИМЕЧАНИЕ
Указанный адрес доступен только через 1С:Предприятие, т.к. в зависимости от того, какая версия 1С:Предприятие используется (8.1 или 8.2) - идет перенаправление в соответствующие подпапки. Такое поведение позволяет поддерживать одинаковые адреса для файлов, подготовленных для разных версий платформы 1С:Предприятие.

При настройке веб-сайта поставщика обновлений - такое перенаправление не является обязательным. Однако, если оно понадобится, то перенаправление можно осуществлять путем анализа значения user-agent:

Для 1С:Предприятие 8.1 – значение user-agent содержит подстроку "1C+Enterprise/8.1"
Для 1С:Предприятие 8.2 – значение user-agent содержит подстроку "1C+Enterprise/8.2”

Формат файлов обновления

Файл с информацией об обновлении конфигурации UpdInfo.txt содержит параметры:

  1. Version – номер версии обновления.
  2. FromVersions – список версий, разделенных символом ";", на которые данное обновление может быть установлено.
  3. Другие параметры (не используются механизмом обновления, но могут использоваться другими подсистемами).

Пример UpdInfo.txt:

Копировать в буфер обмена
	Version=2.1.1.2
	FromVersions=;1.5.21.2;1.5.22.2;1.5.22.3;1.6.3.2;1.6.4.7;2.1.1.1;
	UpdateDate=11.04.2008

Файл списка обновлений конфигурации v8cscdsc.xml содержит перечень всех доступных обновлений данной конфигурации в формате:

Копировать в буфер обмена
	<?xml version="1.0" encoding="UTF-8" ?>
	<v8u:updateList version="1.1" xmlns:v8u="http://v8.1c.ru/configuration-updates">
		<v8u:date>Дата подготовки файла</v8u:date> 
		<v8u:update configuration="Короткое имя конфигурации"> 
			<v8u:vendor>Название поставщика конфигурации</v8u:vendor> 
			<v8u:file>Относительный путь к архиву обновления</v8u:file> 
			<v8u:size>Размер архива обновления в байтах</v8u:size> 
			<v8u:version>Версия обновления</v8u:version> 
			<v8u:target>Версия для обновления</v8u:target> 
			... 
		</v8u:update>
		...
	</v8u:updateList>

Пример v8cscdsc.xml:

Копировать в буфер обмена
	<?xml version="1.0" encoding="UTF-8" ?>
	<v8u:updateList version="1.1" xmlns:v8u="http://v8.1c.ru/configuration-updates">
		<v8u:date>24.11.2011T11:15:28</v8u:date> 		
			<v8u:update configuration="БухгалтерияПредприятия"> 
			<v8u:vendor>Фирма "1С"</v8u:vendor> 
			<v8u:file>1c/Accounting/2_1_1_2/update/1cv8.cfu</v8u:file> 
			<v8u:size>1 024</v8u:size> 
			<v8u:version>2.1.1.2</v8u:version> 
			<v8u:target>2.1.1.1</v8u:target> 
			... 
		</v8u:update>
		<v8u:update configuration="БухгалтерияПредприятия"> 
			<v8u:vendor>Фирма "1С"</v8u:vendor> 
			<v8u:file>1c/Accounting/2_1_1_1/update/1cv8.cfu</v8u:file> 
			<v8u:size>2 048</v8u:size> 
			<v8u:version>2.1.1.1</v8u:version> 
			<v8u:target>1.6.6.5</v8u:target> 
			... 
		</v8u:update>
	</v8u:updateList>

Файл архива рекламы index.zip содержит обязательный HTML-документ index.htm и произвольный набор вспомогательных файлов. Реклама показывается пользователю во время интерактивной установки обновлений.

Демонстрационный набор файлов для веб-сайта поставщика обновлений

Для получения и установки обновлений через Интернет в демонстрационной конфигурации "Автоматическое обновление конфигурации информационной базы" необходимо:

  1. Расположить на веб-сервере файлы со структурой каталогов, идентичной каталогу website в каталоге шаблонов: Примечание: веб-сервер не входит в поставку демонстрационной конфигурации.
  2. Для закрытой части сайта установить авторизацию по имени и паролю (опционально).
  3. В "переопределяемом" общем модуле ОбновлениеКонфигурации демонстрационной конфигурации указать адреса "открытой" и "закрытой" частей сайта - см. функции:
  4. Создать исходный файл поставки конфигурации версии 1.0.0.0 и два инкрементальных обновления к нему: 1.0.1.1 и 1.1.2.3.
  5. Изменить версию конфигурации на 1.0.1.1 и создать файлы поставки (cf) и обновления (cfu).
  6. Изменить версию конфигурации на 1.1.2.3 и создать файлы поставки (cf) и обновления (cfu).
  7. Создать новую информационную базу по исходному файлу поставки версии 1.0.0.0 и запустить ее.

Требования к компонентам операционной системы Windows

Механизм обновления использует следующие компоненты ОС Windows:

п/п Наименование компонента и минимальная версия Комментарии
1. WMI CORE 1.5 Используется для работы с планировщиком заданий Windows (Task Scheduler).
Компонент может отсутствовать в ОС Windows 95, 98 и NT 4.0. В этом случае помощник обновления предлагает пользователю его скачать
2. Internet Explorer 5.0 Необходим для отображения заставки интерактивного обновления конфигурации средствами HTML Application (HTA)
3. Microsoft Windows Script Host 5.6 Необходим для работы скрипта обновления конфигурации в "отложенном" режиме. Компонент может отсутствовать в ОС Windows 95 и NT 4.0

Инструкция по внедрению

Рекомендуется проводить внедрение библиотеки в прикладную конфигурацию в три последовательных этапа:

  1. Обеспечение предусловий, без выполнения которых внедрение библиотеки в конфигурацию невозможно либо невозможно в полном объеме.
  2. Выполнение переноса объектов метаданных из библиотечной конфигурации механизма обновления.
  3. Проверка правильности внедрения.

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

Этап 1. Обеспечение предусловий и требований к конфигурации

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

п/п Название объекта Требования
Роли
1. ПолныеПрава Включает полный набор прав в конфигурации
Права
2. Все объекты метаданных Для роли ПолныеПрава задан полный набор прав
Справочники
3. Пользователи Содержит учетные записи пользователей конфигурации
Общие модули
4. ГлобальныйМодуль
Процедуры и функции:
  1. ОпределитьЭтаИнформационнаяБазаФайловая.
  2. КонтрольРежимаЗавершенияРаботыПользователей.
  3. ЗавершитьРаботуПользователей
Модуль с глобальными процедурами и функциями доступен в режимах Клиент, Сервер и Внешнее соединение.

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

  • Процедуру КонтрольРежимаЗавершенияРаботыПользователей переносить из библиотеки всегда.
  • Остальные процедуры и функции допускается переносить из библиотеки только в случае их отсутствия в общем модуле
5. ОбщегоНазначения
Процедуры и функции:
  1. РазложитьСтрокуВМассивПодстрок.
  2. СообщитьОбОшибке.
  3. ПредупреждениеОбОшибке.
  4. ПолучитьОписаниеТиповСтроки.
  5. ПолучитьОписаниеТиповЧисла.
  6. ЗапуститьПрограмму.
  7. СформироватьТекстСообщения.
  8. ПутьКИнформационнойБазе
Процедуры и функции допускается переносить из библиотеки только в случае их отсутствия в общем модуле
6. ОбновлениеИнформационнойБазы
Процедуры и функции:
  1. ВыполнитьОбновлениеИнформационнойБазы
Общий модуль доступен в режимах Клиент и Внешнее соединение.

Содержит процедуры и функции подсистемы первоначального заполнения и обновления данных информационной базы после изменения версии конфигурации. Экспортируемая процедура ВыполнитьОбновлениеИнформационнойБазы является "точкой входа" в подсистему.

Сценарии внедрения
  • Если в конфигурации уже есть процедура с точно таким же функциональным назначением, то перенести ее в общий модуль (а "старую" процедуру – удалить). Как правило, процедура вызывается из функции ПриНачалеРаботыСистемы модуля приложения.
  • В противном случае создать указанную процедуру с пустой реализацией.

Следует убедиться, что код общего модуля поддерживает выполнение в режиме Внешнего соединения, и при необходимости "обернуть" вызовы клиентских функций в проверки вида "#Если Клиент Тогда…"

Модуль приложения
7. В обработчике события ПриНачалеРаботыСистемы Вызвать функцию ВыполнитьОбновлениеИнформационнойБазы общего модуля ОбновлениеИнформационнойБазы

Этап 2. Перенос объектов метаданных из библиотеки

На втором этапе выполняется перенос объектов метаданных из библиотеки в конфигурацию "как есть" (если не указано иное):

п/п Название объекта Инструкция
Подсистемы
1. ОбновлениеКонфигурации Перенести все объекты метаданных, входящие в подсистему (находится в подсистеме УниверсальныеМеханизмы), кроме следующих:
  • Модуль приложения (объединяется вручную – см. далее);
  • Общий модуль ОбновлениеКонфигурации (объединяется вручную – см. далее)
Права
2. Обработка ОбновлениеКонфигурации Настроить права для ролей таким образом, чтобы все пользователи конфигурации имели доступ на использование
Модуль приложения
3. Функция ОбработатьПараметрыЗапуска Рекомендуется перенести из библиотеки "как есть".
4. В обработчике события ПриНачалеРаботыСистемы, после вызова процедуры ВыполнитьОбновлениеИнформационнойБазы общего модуля ОбновлениеИнформационнойБазы
  • Вызвать функцию ОбработатьПараметрыЗапуска модуля приложения и обработать ее результат: если она вернула Истину, осуществить выход из обработчика.
  • Вызвать функцию УстановитьКонтрольРежимаЗавершенияРаботыПользователей общего модуля УправлениеСоединениямиИБ
5. В обработчике события ПриНачалеРаботыСистемы, в самом конце функции Вызвать процедуру ПроверитьНаличиеОбновлений обработки ОбновлениеКонфигурации
Общие модули
6. ОбновлениеКонфигурации Общий модуль доступен в режимах Клиент, Сервер и Внешнее соединение.

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

  1. Адреса веб-ресурсов поставщика обновлений.
  2. Уведомления о результатах обновления по электронной почте.
  3. Проверка готовности к обновлению конфигурации.
  4. Открытие веб-страниц из "1С:Предприятия".

Общий модуль в библиотеке содержит пример реализации, рассчитанный на совместное использование с модулем УправлениеЭлектроннойПочтой и обработкой Обозреватель

Этап 3. Проверка правильности внедрения

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

Обязательные сценарии "дымового" тестирования:

  1. Для файлового варианта развертывания системы:
    провести обновление с использованием .cf-файла, который является сохраненной копией текущей конфигурации (далее: .cf-файл).
  2. Для клиент-серверного варианта развертывания системы:
    провести обновление с использованием .cf-файла в режиме "прямо сейчас";
    провести обновление с использованием .cf-файла в "отложенном" режиме.

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

См. также

Поставка демонстрационной конфигурации

Дистрибутив конфигурации находится в каталоге \1CITS\EXE\DemoAutoUpdate82.

Сделать копирование на жесткий диск

После установки файл поставки библиотеки (.cf-файл) автоматически скопируется в каталог шаблонов.