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

Программирование - Внешние компоненты

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

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

Проверен на УПП 1.3 (6 баз) и 1С:Логистика3.0 (15 баз)

Возможности:

  1. Обновление нескольких однотипных баз.
  2. 100% отключение пользователей.
  3. Запись подробного лог файла.
  4. Выдача сообщений.

Порядок действий скрипта:

  1. Загрузка файлов обновлений в основную конфигурацию.
  2. Ожидание загрузок файлов.
  3. Установка параметров для отключения сеансов. (Стандартные параметры Сообщение отключения, Код разрешения, дата начало блокировки сеансов и регл заданий).
  4. Ожидание заданного времени блокировки сеансов.
  5. Отключение сеансов пользователей, которые остались не отключенными при выполнении стандартного механизма отключения пользователей.
  6. Обновление конфигураций БД.
  7. Ожидание обновления.
  8. Запуск БД для выполнения стандартных обработок обновления конфигураций с параметром "РазрешитьРаботуПользователей". 
  9. Снятие блокировки сеансов. (Регл. заданий)

Выдача сообщений в домен для информирования пользователей о возможности продолжения работать в БД.

Нюанс.

В типовых конфигурация при обновлении версии БД выдается окно подтверждения легальности получения обновления.

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

Это я считаю недоработкой программистов 1С.

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

В общем модуле ПроверкаЛегальностиПолученияОбновленияКлиент подправить процедуру

// Процедура для проверки легальности получения обновления.
// Должна вызываться перед обновлением информационной базы.
//
Функция ПодтвердитьЛегальностьПолученияОбновления() Экспорт

   
ПараметрыРаботыКлиента = СтандартныеПодсистемыКлиентПовтИсп.ПараметрыРаботыКлиента();

    Если
ПараметрыРаботыКлиента.ПервыйЗапуск

     ИЛИ НЕ ПараметрыРаботыКлиента.НеобходимоОбновлениеИнформационнойБазы
     ИЛИ НЕ ПараметрыРаботыКлиента.ЭтоГлавныйУзел Тогда
        Возврат Истина;
    КонецЕсли;
   
//>>--%%Gmix- 29.08.2011 14:00:42
   
Если Найти(Врег(ПараметрЗапуска),Врег("РазрешитьРаботуПользователей"))>0 Тогда
        Возврат Истина;
    КонецЕсли;
   
//<
   
Возврат ПроверитьЛегальностьПолученияОбновления(Истина);

КонецФункции

Благодоря уточнению amyd нюансов больше нет.


Скачать файлы

Наименование Файл Версия Размер
updBD_1C.vbs
.vbs 17,77Kb
16.01.13
138
.vbs 17,77Kb 138 Скачать

См. также

Комментарии
1. Денис (amyd) 82 12.09.12 13:45 Сейчас в теме
великолепный скрипт!!
Огромное спасибо!
только совсем малюсенькое дополнение.
когда вызывается запуск 1С для обработки обновления, то я добавил ключ /RunModeOrdinaryApplication
а то на сервере по умолчанию тонкий клиент запускается ..
2. Денис (amyd) 82 12.09.12 14:43 Сейчас в теме
и еще, чуть не забыл,
не обязательно модули редактировать на адаптацию к запуску скрипта, достаточно в командной строке указать ключ
"-server" , а в модулях 1С уже прописано #если клиент тогда.
в результате полная строчка у меня получилась

str_command=""""&Str_Path1C&""""&" ENTERPRISE "& Str_ConectionBase & Srt_infoBaseAuthorization &" /UC"&Str_CodeEnabelBase&" /CРазрешитьРаботуПользователей /RunModeOrdinaryApplication -server"

А так скрипт просто великолепен!!
3. Михаил Журавлев (Gmix) 334 16.01.13 09:06 Сейчас в теме
(2) amyd, Спасибо подправлю.
4. Fomix (fomix) 23 17.01.13 10:49 Сейчас в теме
По тексту >> Проверен на УПП 1.3 (6 баз) и 1С:Логистика3.0 (15 баз)...
А не проще ли подключить все базы к хранилищу конфигураций (каждую конфигурацию к своему) и упростить себе и пользователям жизТь.
5. Снежанна Глебова (Snezha) 03.05.13 14:51 Сейчас в теме
Михаил, подскажите как им пользоваться?
6. Иван Иванов (chima) 17 25.06.13 16:43 Сейчас в теме
Михаил, а ваш скрипт обновляет несколько баз единовременно или обновляет следующую после того как завершит обновление предыдущей?
7. Михаил Журавлев (Gmix) 334 30.06.13 16:27 Сейчас в теме
8. Михаил Журавлев (Gmix) 334 30.06.13 16:51 Сейчас в теме
(5) Snezha, В коде комментарии. Но ели не знаете, что такое скрипт лучше не использовать.
9. Олег Шалимов (CaSH_2004) 343 02.10.13 16:01 Сейчас в теме
(0) Чуток бы побольше информации по возможностям скрипта, сам такое написал но для файлового варианта поэтому интересно следующее:
- обновляет ли несколько релизов по очереди
- откуда берутся релизы
- решен ли вопрос запуска после каждого обновления в режиме Предприятия чтобы подтвердить легальность
- кроме непосредственно обновления выполняются ли какието действия: лог файл выполнения чтобы видеть окончание, отправка уведомлений на почту, тестирование базы и всякое такое

Может быть комментарий из скрипта выложиш? Чтобы не качать зря и всем видно было?
10. Михаил Журавлев (Gmix) 334 03.02.15 22:45 Сейчас в теме
(9) - обновляет ли несколько релизов по очереди (Нет на один релиз)
- откуда берутся релизы (выкладываются перед этим в сетевую. папку (Настраивается в скрипте))
- решен ли вопрос запуска после каждого обновления в режиме Предприятия чтобы подтвердить легальность (да решен)
- кроме непосредственно обновления выполняются ли какието действия: лог файл выполнения чтобы видеть окончание, отправка уведомлений на почту, тестирование базы и всякое такое (да ведется общий лог и подробный по каждой базе, отправка net send, тестирования нет. Отключение пользователей есть.)
11. Mihail Nevazhno (KiborG85) 5 10.11.15 22:16 Сейчас в теме
А выгрузка не предусмотрена? жаль....
Зато есть окончательныое отключение пользователей... что не всегда делает батник с ключами запуска.
Ну сейчас проверю в действии.
12. Chert (chert) 3 21.06.16 00:11 Сейчас в теме
А после того
8. Запуск БД для выполнения стандартных обработок обновления конфигураций с параметром "РазрешитьРаботуПользователей".


После выполнения обработок, база закрывается или остается открытой?
13. Михаил Журавлев (Gmix) 334 22.06.16 17:42 Сейчас в теме
(12) chert, Закрывается и включается для работы пользователей и регламентных задач.
14. Марина Чирина (chmv) 18.07.16 09:03 Сейчас в теме
нЕ ПОНЯЛА С Комментариями. Каждый раз надо комментировать функцию проверка легитивности
15. Марина Чирина (chmv) 18.07.16 11:49 Сейчас в теме
2) & Srt_infoBaseAuthorization что в нем написать?
Какое имя?
16. Марина Чирина (chmv) 18.07.16 12:54 Сейчас в теме
RunModeOrdinaryApplication -server не отрабатывает
17. Марина Чирина (chmv) 18.07.16 12:58 Сейчас в теме
Там стоит #Если ТолстыйКлиентОбычноеПриложение Тогда
18. Марина Чирина (chmv) 18.07.16 13:00 Сейчас в теме
решен ли вопрос запуска после каждого обновления в режиме Предприятия чтобы подтвердить легальность
В программе стоит ТолстыйКлиентОбычноеПриложение
Оставьте свое сообщение