Процесс обновление информационных баз - достаточно долгое и трудоемкое занятие. Даже если на обслуживании находятся крайне небольшое количество баз - "ручной" порядок обновления, с необходимостью открывать каждую информационную базу, превращается в пытку. Данная библиотека позволяет автоматизировать процесс обновления.
Для работы библиотеки необходимо указать логин и пароль для загрузки обновлений, параметры конфигураций и собственно параметрами доступа к информационным базам.
Библиотека подключается с помощью директивы #Использовать AutoUpdateIB
. После этого в области видимости скрипта будет доступен класс Обновлятор
.
##Примеры##
Инициализация
#Использовать AutoUpdateIB
Обновлятор = Новый Обновлятор();
Обновление списка информационных баз разных конфигураций
Обновлятор.УстановитьПараметрыАутентификации("MyCompany", "Password");
Обновлятор.УстановитьКаталоги("\\server\1CUpdate\1c");
// Бухгалтерия предприятия, редакция 3.0
ПараметрыОбновленияКонфигурации = Обновлятор.ПолучитьПараметрыОбновленияКонфигурации();
Если ПараметрыОбновленияКонфигурации <> Неопределено Тогда
ПараметрыПодключения = Обновлятор.ПолучитьПараметрыПодключения(,"\\server\1C base\InfoBase 8.3 (Accounting 3.0)",,,,"Иванов И.И.","Password");
Обновлятор.ОбновитьИнформационнуюБазу(ПараметрыОбновленияКонфигурации, ПараметрыПодключения);
ПараметрыПодключения = Обновлятор.ПолучитьПараметрыПодключения(1,,"Server","Base1C");
Обновлятор.ОбновитьИнформационнуюБазу(ПараметрыОбновленияКонфигурации, ПараметрыПодключения);
КонецЕсли;
// Зарплата и управление персоналом, редакция 3.0
ПараметрыОбновленияКонфигурации = Обновлятор.ПолучитьПараметрыОбновленияКонфигурации("HRM", "3.0");
Если ПараметрыОбновленияКонфигурации <> Неопределено Тогда
ПараметрыПодключения = Обновлятор.ПолучитьПараметрыПодключения(,"\\server\1C base\InfoBase 8.3 (HRM 3.0)",,,,"Иванов И.И.","Password");
Обновлятор.ОбновитьИнформационнуюБазу(ПараметрыОбновленияКонфигурации, ПараметрыПодключения);
КонецЕсли;
Резервное копирование информационной базы
Обновлятор.УстановитьПараметрыРезервногоКопирования(,"\\server\1C backup\InfoBase 8.3 (Accounting 3.0)");
ПараметрыПодключения = ПолучитьПараметрыПодключения(,"\\server\1C base\InfoBase 8.3 (Accounting 3.0)",,,,"Иванов И.И.","Password");
Обновлятор.СоздатьРезервнуюКопию(ПараметрыПодключения);
Немедленное отключение пользователей информационной базы и установка блокировки соединений на 10 минут
Обновлятор.УстановитьПараметрыБлокировкиCеансов(Истина, Ложь, 0);
ПараметрыПодключения = ПолучитьПараметрыПодключения(,"\\server\1C base\InfoBase 8.3 (Accounting 3.0)",,,,"Иванов И.И.","Password");
Обновлятор.УстановитьБлокировкуСоединений(ПараметрыПодключения);
Приостановить(10 *60 * 1000); // Ждем 10 минут.
Обновлятор.РазрешитьПодключение(ПараметрыПодключения);
ПолучитьПараметрыОбновленияКонфигурации
Синтаксис:
ПолучитьПараметрыОбновленияКонфигурации(<ТипКонфигурации>, <ВерсияРелиза>, <ВерсияПлатформы>)
Параметры:
<ТипКонфигурации>
Тип: Строка.
Краткое наименование конфигурации (Accounting - бухгалтерия, HRM - ЗУП ...). Значение по умолчанию: "Accounting".
<ВерсияРелиза>
Тип: Строка.
Версия релиза. Значение по умолчанию: "30".
<ВерсияПлатформы>
Тип: Строка.
Версия платформы (82, 83). Значение по умолчанию: "83".
Возвращаемое значение
Структура с параметрами обновления конкретной конфигурации. Неопределено в случае ошибки.
Описание:
Получает параметры обновления конфигурации. Загружает файл со списком обновлений с сервера проверки обновлений для конфигурации. Анализирует полученный файл, собирает сведения о версиях.
Пример:
Обновлятор.ПолучитьПараметрыОбновленияКонфигурации("Accounting", "20", "82");
ПолучитьПараметрыПодключения
Синтаксис:
ПолучитьПараметрыПодключения(<ВариантРаботыИнформационнойБазы>, <КаталогИнформационнойБазы>, <ИмяСервера1СПредприятия>, <ИмяИнформационнойБазыНаСервере1СПредприятия>, <АутентификацияОперационнойСистемы>, <ИмяПользователя>, <ПарольПользователя>, <ВерсияПлатформы>)
Параметры:
<ВариантРаботыИнформационнойБазы>
Тип: Число.
Вариант работы информационной базы: 0 - файловый; 1 - клиент-серверный. Значение по умолчанию: 0.
<КаталогИнформационнойБазы>
Тип: Строка.
Каталог информационной базы для файлового режима работы. Не указывается в случае клиент-серверного режима работы.
<ИмяСервера1СПредприятия>
Тип: Строка.
Имя сервера 1С:Предприятия. Не указывается в случае файлового режима работы.
<ИмяИнформационнойБазыНаСервере1СПредприятия>
Тип: Строка.
Имя информационной базы на сервере 1С:Предприятия. Не указывается в случае файлового режима работы.
<АутентификацияОперационнойСистемы>
Тип: Булево.
Признак аутентификации операционной системы при создании внешнего подключения к информационной базе. Значение по умолчанию: Ложь.
<ИмяПользователя>
Тип: Строка.
Имя пользователя информационной базы.
<ПарольПользователя>
Тип: Строка.
Пароль пользователя информационной базы.
<ВерсияПлатформы>
Тип: Строка.
Версия платформы (82, 83). Значение по умолчанию: "83".
Возвращаемое значение
Структура с параметрами подключения к информационной базе. Неопределено в случае ошибки.
Описание:
Получает параметры подключения к информационной базе.
Пример:
ПараметрыПодключения = ПолучитьПараметрыПодключения(,"\\server\1C base\InfoBase 8.3 (Accounting 3.0)",,,,"Администратор","Password");
ОбновитьИнформационнуюБазу
Синтаксис:
ОбновитьИнформационнуюБазу(<ПараметрыОбновленияКонфигурации>, <ПараметрыПодключения>, <БлокироватьСоединенияИБ>, <СоздаватьРезервнуюКопию>, <ВыполнитьОтложенныеОбработчики>, <ВыполнятьСжатиеТаблицИБ>, <ВосстанавливатьИнформационнуюБазу>)
Параметры:
<ПараметрыОбновленияКонфигурации>
Тип: Структура.
Параметры обновления текущей конфигурации (см. в ПолучитьПараметрыОбновленияКонфигурации()).
<ПараметрыПодключения>
Тип: Структура.
Параметры подключения к информационной базе (см. в ПолучитьПараметрыПодключения()).
<ВыполнитьОтложенныеОбработчики>
Тип: Булево.
Выполнить отложенные обработчики обновления. Значение по умолчанию: Истина.
<ВыполнятьСжатиеТаблицИБ>
Тип: Булево.
Запускать сжатие таблиц информационной базы. Значение по умолчанию: Истина.
Возвращаемое значение
Признак успешного выполнения.
Описание:
- Получает текущую версию и признак изменения конфигурации;
- Ищет в каталоге файлов обновлений версию доступную для обновления;
- Если доступных для обновления версий не найдено - скачивает обновление с сервера обновлений;
- Завершает работу пользователей и устанавливает запрет на подключение новых соединений (только для конфигураций на БСП);
- Создает резервную копию информационной базы;
- Выполняет отложенные обработчики обновления (только для конфигураций на БСП);
- Загружает файл обновления в информационную базу;
- Обновляет конфигурации информационной базы;
- Выполняет тестирование и исправление;
- Принимает обновления в информационной базе (только для конфигураций на БСП);
- Повторяет все с п.1 пока не обновится на последнюю доступную версию;
- В случае ошибки пытается восстановиться из резервной копии (для файловых баз);
- Разрешает подключение новых соединений (только для конфигураций на БСП).
Пример:
Обновлятор.ОбновитьИнформационнуюБазу(ПараметрыОбновленияКонфигурации, ПараметрыПодключения, Ложь);
УстановитьБлокировкуСоединений
Синтаксис:
УстановитьБлокировкуСоединений(<ПараметрыПодключения>)
Параметры:
<ПараметрыПодключения>
Тип: Структура.
Параметры подключения к информационной базе (см. в ПолучитьПараметрыПодключения()).
Возвращаемое значение
Признак успешного выполнения.
Описание:
Завершает работу пользователей и устанавливает запрет на подключение новых соединений.
Пример:
Обновлятор.УстановитьБлокировкуСоединений(ПараметрыПодключения);
СоздатьРезервнуюКопию
Синтаксис:
СоздатьРезервнуюКопию(<ПараметрыПодключения>)
Параметры:
<ПараметрыПодключения>
Тип: Структура.
Параметры подключения к информационной базе (см. в ПолучитьПараметрыПодключения()).
Возвращаемое значение
Признак успешного выполнения.
Описание:
Создает резервную копию информационной базы.
Пример:
Обновлятор.СоздатьРезервнуюКопию(ПараметрыПодключения);
РазрешитьПодключение
Синтаксис:
РазрешитьПодключение(<ПараметрыПодключения>)
Параметры:
<ПараметрыПодключения>
Тип: Структура.
Параметры подключения к информационной базе (см. в ПолучитьПараметрыПодключения()).
Описание:
Разрешает подключение новых соединений.
Пример:
Обновлятор.РазрешитьПодключение(ПараметрыПодключения);
УстановитьКаталоги
Синтаксис:
УстановитьКаталоги(<КаталогФайловОбновления>, <КаталогВременныхФайлов>)
Параметры:
<КаталогФайловОбновления>
Тип: Строка.
Каталог с файлами обновления конфигураций.
<КаталогВременныхФайлов>
Тип: Строка.
Каталог для хранения временных файлов.
Описание:
Устанавливает каталоги хранения файлов обновления и временных файлов. Каталоги по умолчанию:
- КаталогФайловОбновления - %UAPPDATA%\1C\1Cv8\tmplts\1c;
- КаталогВременныхФайлов - %TEMP%\AutoUpdateIB;
Пример:
Обновлятор.УстановитьКаталоги("\\server\1CUpdate\1c");
УстановитьПараметрыАутентификации
Синтаксис:
УстановитьПараметрыАутентификации(<Пользователь>, <Пароль>)
Параметры:
<Пользователь>
Тип: Строка.
Имя пользователя для загрузки обновлений.
<Пароль>
Тип: Строка.
Пароль пользователя для загрузки обновлений.
Описание:
Устанавливает значения параметров аутентификации.
Пример:
Обновлятор.УстановитьПараметрыАутентификации("MyCompany", "Password");
УстановитьПараметрыЗавершенияСоединения
Синтаксис:
УстановитьПараметрыЗавершенияСоединения(<ОжидатьЗавершениеСоединения>, <МаксИнтервалОжиданияФайловойИБ>, <ИнтервалОжиданияСервернойИБ>)
Параметры:
<ОжидатьЗавершениеСоединения>
Тип: Булево.
Ожидать завершения Com соединения с информационной базой.
<МаксИнтервалОжиданияФайловойИБ>
Тип: Число.
Максимальный интервал ожидания завершения сеанса файловой информационной базы в секундах.
<ИнтервалОжиданияСервернойИБ>
Тип: Число.
Интервал ожидания завершения сеанса клиент-серверной информационной базы в секундах.
Описание:
Устанавливает значения параметров завершения Com соединения с информационной базой. Значения по умолчанию:
- ОжидатьЗавершениеСоединения - Истина;
- МаксИнтервалОжиданияФайловойИБ - 60;
- ИнтервалОжиданияСервернойИБ - 2.
Пример:
Обновлятор.УстановитьПараметрыЗавершенияСоединения(Истина, 10, 0);
УстановитьПараметрыБлокировкиCеансов
Синтаксис:
УстановитьПараметрыБлокировкиCеансов(<БлокироватьСеансыИБ>, <ИспользованиеИБ>, <ИнтервалОжидания>)
Параметры:
<БлокироватьСеансыИБ>
Тип: Булево.
Устанавливать блокировку сеансов перед обновлением.
<ИспользованиеИБ>
Тип: Булево.
Использовать значения параметров блокировки сеансов из информационной базы.
<ИнтервалОжидания>
Тип: Число.
Интервал ожидания завершения работы пользователей по умолчанию в секундах.
Описание:
Устанавливает значения параметров блокировки сеансов. Значения по умолчанию:
- БлокироватьСеансыИБ - Истина;
- ИспользованиеИБ - Истина;
- ИнтервалОжидания - 900.
Пример:
Обновлятор.УстановитьПараметрыБлокировкиCеансов(Ложь);
УстановитьПараметрыРезервногоКопирования
Синтаксис:
УстановитьПараметрыРезервногоКопирования(<СоздаватьРезервнуюКопию>, <КаталогРезервныхКопий>, <ВосстанавливатьИнформационнуюБазу>)
Параметры:
<СоздаватьРезервнуюКопию>
Тип: Булево.
Создавать резервную копию.
<КаталогРезервныхКопий>
Тип: Строка.
Каталог для хранения резевных копий и файлов дампа.
<ВосстанавливатьИнформационнуюБазу>
Тип: Булево.
Использовать восстановление информационной базы в случае падения.
Описание:
Устанавливает значения параметров резервного копирования. Значения по умолчанию:
- СоздаватьРезервнуюКопию - Истина;
- КаталогРезервныхКопий - %TEMP%\AutoUpdateIB\DumpIB.
- ВосстанавливатьИнформационнуюБазу - Истина.
Пример:
Обновлятор.УстановитьПараметрыРезервногоКопирования(,, Ложь);
Для работы библиотеки необходимо предварительно установить Стандартную библиотеку скриптов 1Script. Клонируйте репозиторий библиотеки:
git clone https://github.com/BlackDrak0n/oscript-AutoUpdateIB.git
Добавьте в конфигурационном файле 1Script oscript.cfg в список дополнительных библиотек путь к каталогу, в который вы клонировали репозиторий:
lib.additional = C:\libs\oscript-AutoUpdateIB;
Библиотека распространяется под лицензией Apache 2.0, ее текст находится в файле LICENSE.