Скрипт обновления конфигурации

Публикация № 961182

Администрирование - Сервисные утилиты

обновление хранилище скрипт автоматически

27
Как обновить конфигурацию базы? Столько всего сделать надо: И базу заблокировать, и пользователей выгнать. А ещё надо дождаться загрузки конфигурации и после этого применить её. Если же конфигурация на БСП, то запустить с ключом /C ЗапуститьОбновлениеИнформационнойБазы. И только потом можно пускать пользователей. А ещё на каждом этапе надо ждать окончания предыдущего. Это скучно. Давайте заливать конфигурацию в базы весело!

upd. 2019.07.18 Блокировка РЗ остаётся в том же состоянии, что была до обновления базы.

Этот скрипт на PowerShell обучен:

1.   Блокировать указанную базу 1С предприятия (через COMConnection)
2.   Выгонять из неё всех пользователей (через COMConnection)
?3. Выполнить внешюю обработку перед обновлением, если нужно. Например, отвязать базу от РИБ.
4а. Загрузить конфигурацию из файла CF
или
4б. Загрузить конфигурацию из хранилища конфигураций.
5.   Применить конфигурацию базы данных.
?6. Выполнить внешнюю обработку после обновления. Например, привязать обратно к РИБ.
?7. Запускать клиента с ключом ЗапуститьОбновлениеИнформационнойБазы, если это необходимо.
8.   Разблокировать базу.

Особенности:

  • Все этапы выполнения скрипта обновления, а так же сообщения от приложения 1С логгируются.
  • Если будут выполняться внешние обработки, то перед их выполнением для обрабатываемой базы выключается защита от опасных действий через файл conf.cfg - у пользователя должны быть соответствующие права. Перед завершением скрипта всё возвращается на место.
  • Скрипт использует ту версию 1С, COM-коннектор которой зарегистрирован.
  • Если на любом этапе возникнет проблема, то скрипт завершит работу с соответствующей записью в логе, а база останется заблокированной.

Параметры запуска:

  • TargetBase - имя целевой базы для обновления
  • TargetBaseServer - имя сервера целевой базы для обновления
  • TargetBasePort - порт сервера целевой базы если отличается от стандартного то 1541
  • TargetBaseAgentPort - порт агента сервера целевой базы если отличается от стандартного то 1540
  • PermissionCode - код разрешения доступа если не указан то устанавливается произвольный
  • ApplyCFPath - путь к применяемому файлу конфигурации если отсутствует то просто применяем конфигурацию
  • WorkloadBeforeUpdatePath - имя обработки выполняемой перед обновлением конфигурации. Если файла нет пропускаем этап
  • WorkloadAfterUpdatePath - имя обработки выполняемой перед обновлением конфигурации. Если файла нет пропускаем этап
  • BaseUser - имя пользователя для подключения к базе
  • BaseUserPass - пароль пользователя для подключения к базе
  • ConfigurationRepositoryF - адрес хранилища конфигурации
  • ConfigurationRepositoryN - имя пользователя хранилища конфигурации
  • ConfigurationRepositoryP - пароль пользователя хранилища конфигурации
  • UpdateByClientInTheEnd - /C ЗапуститьОбновлениеИнформационнойБазы
27

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

Наименование Файл Версия Размер
Архив с файлами и примерами
.7z 10,47Kb
18.07.19
20
.7z 1 10,47Kb 20 Скачать

См. также

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо
1. capitan 1209 11.12.18 13:25 Сейчас в теме
Подтвердить легальность обновления ?
5. MrWonder 484 11.12.18 15:32 Сейчас в теме
(1) Такой задачи у меня не было.
14. ybatiaev 44 21.03.19 18:16 Сейчас в теме
(1) А есть у Вас уже наработки как с командой строки подтвердить легальность и доустановить обновление? Там ещё же нужно доустановить задачи в фоне...
У нас 600 баз
15. capitan 1209 22.03.19 09:21 Сейчас в теме
2. t.v.s. 93 11.12.18 13:31 Сейчас в теме
Вы безусловно молодец!
Но если это сделано не ради фана, то попробуйте посмотреть на Обновлятор, он умеет все тоже самое и еще чуть-чуть.
triera2000; +1 Ответить
4. MrWonder 484 11.12.18 15:31 Сейчас в теме
(2) Спасибо.
Я видел и обновлятор, и деплойку.
8. user634257_mryzhov 12.12.18 10:58 Сейчас в теме
(4) А в чем отличие от деплойки и обновлятора?
9. MrWonder 484 12.12.18 11:01 Сейчас в теме
(8) да много чем. Другие умеют большее, у кого-то есть GUI, за какой-то просят деньги, все написаны на разных языках, для кого-то нужен фреймворк etc etc etc
10. webester 29 12.12.18 11:09 Сейчас в теме
(4)Наличие обновлятора никак не влияет на необходимость таких скриптов. Как раз хотел садиться писать, что-то подобное. А тут оп и готово.
13. ybatiaev 44 21.03.19 18:09 Сейчас в теме
(4) Добрый день!
А есть наработки как с командой строки подтвердить легальность и доустановить обновление?
У нас 600 баз
3. tvm 11.12.18 15:24 Сейчас в теме
еще добавить выгрузку изменений если есть риб+ загрузка их в риб и обновление периферийных баз
6. MrWonder 484 11.12.18 15:33 Сейчас в теме
(3) Присоединяйтесь к разработке. Если готовы, то напишите.
7. tvm 11.12.18 16:06 Сейчас в теме
(6) я свое отписал на прошлой работе )))
12. user1131250 21.01.19 13:54 Сейчас в теме
Спасибо! Не знаю как ответить в личику. Поставлю звезды!!!
Оставьте свое сообщение