Обновление большого количества типовых баз с помощью хранилища конфигураций

07.12.12

База данных - Инструменты администратора БД

Надоело обновлять 100 типовых баз БП и ЗиУП руками? Милости просим!

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

Итак:

Хранилище конфигураций 1С по своей сути является системой контроля версий. Главным удобством хранилища для обновления баз является возможность пакетного запуска 1С и обновления конфигурации из этого хранилища. Как это выглядит на деле: для каждой поддерживаемой конфигурации создается хранилище. Эти хранилища обновляются штатными методами по факту выхода новых релизов от поставщиков. Чтобы обновить "боевую" базу 1С из этого хранилища требуется последовательно запустить 1С в режиме конфигуратора с ключами

1) ConfigurationRepositoryF("Путь к хранилищу") /ConfigurationRepositoryN("Пользователь хранилища") /ConfigurationRepositoryP("Пароль пользователя хранилища") /ConfigurationRepositoryUpdateCfg

эта команда выполняет подключение к хранилищу и обновление текущей конфигурации из него.

2) /UpdateDBCfg

эта команда выполняет обновление конфигурации базы данных. Тут нужно понимать, что системе наверняка потребуется изменять структуру таблиц БД, поэтому доступ должен быть монопольным. Как этого добиться? Все теми же ключами запуска

1) /CЗавершитьРаботуПользователей - для того, чтобы отключить всех пользователей (тут присутствуют известные проблемы с модальными окнами и запросами на выход из системы)

2) /CРазрешитьРаботуПользователей /UCКодРазрешения - для разрешения работы.

ВАЖНО! Если используется запрет на работу пользователей, то при обновлении базы необходимо добавлять ключ /UCКодРазрешения.

 

Итого, для обновления мы получаем всего 4 последовательных операции:

ENTERPISE /F"Путь" /N"Юзер" /P"Пароль" /CЗавершитьРаботуПользователей

DESIGNER /F"Путь" /N"Юзер" /P"Пароль" /ConfigurationRepositoryF"Путь к хранилищу" /ConfigurationRepositoryN"Пользователь хранилища" /ConfigurationRepositoryP"Пароль пользователя хранилища" /ConfigurationRepositoryUpdateCfg /UCКодРазрешения

DESIGNER /F"Путь" /N"Юзер" /P"Пароль" /UpdateDBCfg /UCКодРазрешения

ENTERPISE /F"Путь" /N"Юзер" /P"Пароль" /CРазрешитьРаботуПользователей /UCКодРазрешения

Загоняем в цикл по своим базам и радуемся жизни.

Казалось бы все элементарно, но существует ряд ошибок, которые, судя по форумам, встречаются довольно часто.

  1. Пытаемся завершить/разрешить работу пользователей в режиме конфигуратора
  2. Пытаемся обновить конфигурацию, к которой запрещен доступ, не используя /UCКодРазрешения
  3. Забываем, что лучший штатный механизм для получения монопольного режима - телефон Laughing

 Конечно, статья не станет откровением для гуру, но новичкам вполне может пригодиться.

 

UPD: Типовая БП 2.0.12.2 обновляется до 2.0.42.6 за 6.5 минут (замер производился без данных в базе)

См. также

Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Системный администратор Программист Руководитель проекта Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы. Может выполнять свертку сразу нескольких баз данных и выполнять их автоматически без непосредственного участия пользователя. Решение в Реестре отечественного ПО

8400 руб.

20.08.2024    14340    109    46    

108

Инструменты администратора БД Инструментарий разработчика Роли и права Программист Платформа 1С v8.3 1C:Бухгалтерия Россия Платные (руб)

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

15000 руб.

10.11.2023    11909    45    27    

67

Инструменты администратора БД Роли и права Системный администратор Программист Пользователь 8.3.14 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Документооборот 1С:Зарплата и кадры государственного учреждения 3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Роли… Вы тратите много времени и сил на подбор ролей среди около 2400 в ERP или 1500 в Рознице 2, пытаясь понять какими правами они обладают? Вы все время смотрите права в конфигураторе или отчетах чтоб создать нормальные профили доступа? Вы хотите наглядно видеть какие права дает профиль и редактировать все в простом виде? А может хотите просто указать подсистему и дать права на просмотр и добавление на объекты и не лезть в дебри прав и чтоб обработка сама подобрала нужные роли? Все это теперь стало возможно! Обновление от 18.09.2024, версия 1.2

18000 руб.

06.12.2023    10680    47    8    

78

SALE! %

Инструментарий разработчика Инструменты администратора БД Системный администратор Программист Платформа 1С v8.3 Управляемые формы 1C:Бухгалтерия Россия Платные (руб)

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

4800 3840 руб.

14.01.2013    191258    1152    0    

920

Закрытие периода Инструменты администратора БД Корректировка данных Бухгалтер Пользователь Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Расширение «Оперативное проведение» в 4 раза уменьшает время проведения документов и закрытия месяца. Является комплексным решением проблем 62 и 60 счетов. Оптимизирует проведение при включенной функциональной опции «Раздельный учет НДС». Используется в более 10 организациях уже 2 года. Совместимо с конфигурацией Бухгалтерия 3.0 (+КОРП).

14400 руб.

29.04.2020    33843    108    152    

75

Инструменты администратора БД Системный администратор Программист Платформа 1С v8.3 1C:Бухгалтерия Платные (руб)

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

3600 руб.

06.02.2017    32622    145    18    

51

Архивирование (backup) Инструменты администратора БД Платформа 1С v8.3 Управляемые формы 1C:Бухгалтерия 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Управление торговлей 11 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Данная разработка позволит решить вопрос с резервным копированием Ваших баз в автоматическом режиме, расположенных на сервере 1С. Система умеет ставить блокировки на вход, блокировать фоновые задания, принудительно отключать сеансы пользователей. И все это система делает в автоматически при создании бэкапа (или через команду). Выгрузка происходит в родной формат 1С - .dt. Так же система умеет архивировать данные выгрузки с установкой пароля. Умеет менять расширение файла zip или dt на любое указанное вами, что позволит сохранить выгрузки от шифровальщика. Может удалять старые копии выгрузок, оставляя указанное количество резервных копий, начиная с самой поздней. Только для WINDOWS!

6000 руб.

06.11.2012    73744    629    45    

88

Инструменты администратора БД Пользователь Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Платные (руб)

Многие сталкиваются с проблемой когда изображения, находящиеся в базе разные по объему и размерам. Менеджеры могут добавить файлы в очень высоком разрешении, объемом свыше 20 Мегабайт. База данных становится слишком большой, выгрузка на сайт идёт медленно и требуется много место на хостинге. Как сжать картинки и уменьшить размер базы 1С? Это можно сделать с помощью данной обработки. Существует возможность выбрать различные варианты для того чтобы уменьшить картинки: в разы, в процентах от первоначального объема, а также сделать картинки одинаковой ширины. В результате размер базы 1С значительно сократится (в зависимости от количества и размера картинок), а изображения станут небольшого объема, равными по ширине, почти без потери качества. Работает на управляемых формах для УТ 11, КА, ERP.

3000 руб.

21.07.2022    10166    10    4    

18
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. makas 44 06.12.12 10:23 Сейчас в теме
Конечно, статья не станет откровением для гуру, но новичкам вполне может пригодиться


Ха-ха-ха! Пригодится и некоторым программерам, которые приходят и обновлять 1С и балду пинают пару часов, делавид что трудная работа = обновлять!
2. serega3333 06.12.12 11:52 Сейчас в теме
а через инет я как к хранилищу буду подрубаться?
3. 0vrcr 57 06.12.12 12:03 Сейчас в теме
(2) VPN в руки, какие проблемы? в путях можно использовать ip-адреса. Или я не понимаю сути вопроса?
8. serega3333 06.12.12 13:07 Сейчас в теме
(3) 0vrcr, это я так понял помогает в локальной системе, на вашем предприятии...а пришел я к клиенту просто, у него обычный инет...щас я качаю файл с its сайта, а должен из хранилища?
5. bforce 482 06.12.12 12:34 Сейчас в теме
(2) serega3333, а так не прокатит?
/ConfigurationRepositoryF "http://my.global.rep/accounting"
4. bforce 482 06.12.12 12:31 Сейчас в теме
Почему для обновления обязательно использовать хранилище? Разве не будет достаточно написать такой же пакетный файл для обычного обновления конфигурации?
Указал файл обновления поставщика и с теми же ключами командной строки обновил все базы... Я так делаю пакетное обновление застарелых конфигураций, когда нужно избежать прыжков через несколько версий сразу.
6. 0vrcr 57 06.12.12 12:44 Сейчас в теме
(4) в хранилище у нас всегда самая последняя версия. Для обновления из файла можно использовать /UpdateCfg"ИмяФайла". Но ведь при каждом последующем обновлении этот .cf-ник надо будет заменять
7. bforce 482 06.12.12 12:54 Сейчас в теме
(6) 0vrcr, ну, на мой скромный взгляд, при работе с хранилищем действий больше.
С Хранилищем: устанавливаем обновление, захватываем все в хранилище, находим cfu, обновляем локальную базу, помещаем в хранилище, запускаем скрипт.
Без Хранилища: устанавливаем обновление, находим cfu, запускаем скрипт.

Ну, а функционирование хранилища та еще песня... Кто-то неграмотный зашел в конфигуратор и отключился от хранилища, а потом еще что-то подправил (конфа, ведь, с поддержки снята). А раз конфа снята с поддержки, то обновления будут проходить дольше, хотя если получаются только изменения из хранилища, то, возможно, даже быстрее...
9. 0vrcr 57 06.12.12 14:11 Сейчас в теме
(7) Не надо подключать рабочие базы к хранилищу, и тогда никто их не отключит, т.к. нечего отключать. Вся прелесть моего метода как раз в том, что есть только одна база, подключенная к хранилищу, не рабочая. Все остальные базы просто ползут в папку хранилища и берут оттуда обновление. Доступ к своей базе, которая хранилище и образует надо паролить, да и все. А в самой базе можно постоянно держать хранилище захваченным рекурсивно, чтобы не выполнять лишних телодвижений. Благо, никто не мешает помещать новые данные в хранилище без отпускания объектов метаданных. Да плюс история, которая позволит резво откатить все базы сразу, в том случае, если в обновлении был косяк разрабов

(8) Мы говорим об абсолютно разных вещах. Но если уж на то пошло - поясняю. Если у клиента 100500 баз и надо их резво обновить на один релиз, то быстрее использовать механизм из (4) + (6). Если надо проползти много релизов, то проще создать голую базу, накатить на нее обновления, создать из этой базы хранилище, а уже потом воспользоваться методом, описанным в статье.
10. bforce 482 06.12.12 14:25 Сейчас в теме
(9) 0vrcr, суть вашего метода мне понятна. И методы работы с хранилищем всем известны. У меня остаются только вопросы по
  • Необходимости именно хранилища. Преимущество только в том, что вы что-то можете откатить, указав версию. Как часто такое будет необходимо? Я могу точно также хранить cf файлы всех релизов и выбрав нужный подсуну его в свой скрипт
  • Размер базы (конфигурации). Вы увеличиваете размеры баз из-за того, что снимаете их с поддержки
  • Вы замедляете обновление за счет того, что конфа не на поддержке и системе приходится анализировать все объекты.
  • Вы качаете полный cf из хранилища, что происходит катастрофически долго (проверено на практике на 16-й платформе), потому что в момент подключения к хранилищу оно еще "компонует" из себя нужный cf файл. И так каждый раз, и не важно, что версия одна и та же. Кэш в этом случае не помогает.
11. 0vrcr 57 06.12.12 14:35 Сейчас в теме
(10) bforce,
Размер базы (конфигурации). Вы увеличиваете размеры баз из-за того, что снимаете их с поддержки

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

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

Опять же, о чем Вы? Вы используете хранилище только на снятых с поддержки конфигурациях? :)

Вы качаете полный cf из хранилища, что происходит катастрофически долго (проверено на практике на 16-й платформе), потому что в момент подключения к хранилищу оно еще "компонует" из себя нужный cf файл. И так каждый раз, и не важно, что версия одна и та же. Кэш в этом случае не помогает.

С этим я я согласен, но то же самое происходит, если сразу кушать cf-файл
13. bforce 482 07.12.12 00:37 Сейчас в теме
(11) 0vrcr,
Зачем что-либо снимать с поддержки, о чем Вы? В конфигурациях рабочих баз вообще никаких изменений производит не надо.

То есть, для рабочих баз у вас редактирование конфигрурации отключено (конфигурация на замке)? Если это так, то происходит чудо и конфа понимает, что это обновление для нее, а не просто какая-то левая конфигурация.
Опять же, о чем Вы? Вы используете хранилище только на снятых с поддержки конфигурациях? :)
Я использую хранилище для типовых, но только для того, чтобы посмотреть на изменения в версиях. Ваш вариант использования пока уникален.

PS. Попробуйте еще использовать ключ /UpdateDBCfg после ключа /ConfigurationRepositoryUpdateCfg. Они вместе должны работать. Одной строчкой кода станет меньше.
14. 0vrcr 57 07.12.12 09:12 Сейчас в теме
(13) bforce, именно, что цепляется и прелестно обновляется "зазамоченная версия". Однако, сегодня устрою тестовые запуски в трех вариантах:
  • Именно из хранилища
  • Выгрузкой .cf-из хранилища и обновление через него (хотя не уверен, что имеет смысл)
  • Обновление именно из cf
Притом возьму заведомо большой промежуток между релизами. Потом посмотрим как пройдет ОбновлениеКонфигурации.
Результаты выложу в тему

Они вместе должны работать.
Вот почему-то у меня отложилось, что не отрабатывало так... При замере сегодня попробую
16. bforce 482 07.12.12 10:27 Сейчас в теме
(14) 0vrcr, в третьем пункте имеется ввиду файл обновления cfu или полный cf?
17. 0vrcr 57 07.12.12 10:34 Сейчас в теме
(16) bforce, полный .cf. Но почему-то у меня не обновляет пакетно с ключом запуска:
/UpdateCfg"C:\Хранилище\1Cv8.cf" /UpdateDBCfg /UCКодРазрешения

А вот из хранилища типовая БП 2.0.12.2 (чистая) обновилась до 2.0.42.6 за 6.5 минут. Имхо, очень даже неплохой результат!

-----------------------
Тест1: 07.12.2012 9:28:52
9:28:57: Завершена и запрещена работа пользователей
9:35:46: Конфигурация обновлена из хранилища
18. bforce 482 07.12.12 16:33 Сейчас в теме
Но почему-то у меня не обновляет пакетно с ключом запуска:
/UpdateCfg"C:\Хранилище\1Cv8.cf" /UpdateDBCfg /UCКодРазрешения
(17) 0vrcr, У меня в скрипте работает с ключом /LoadCfg, а здесь написано, что может работать и со всеми остальными.
12. 0vrcr 57 06.12.12 14:45 Сейчас в теме
(10) Вероятно, для ускорения процесса имеет смысл выгружать из хранилища cf, а уже его подпихивать для обновления. Но надо бы замерить. У меня сложилось четкое ощущение, что типовые конфигурации через хранилище обновляются со скоростью света
15. 0vrcr 57 07.12.12 09:50 Сейчас в теме
Они вместе должны работать.
Вот почему-то у меня отложилось, что не отрабатывало так... При замере сегодня попробую

Действительно работает, спасибо. Первый замер есть, через хранилище. Сейчас буду делать замер через .cf-ник, потом выложу результаты в шапку
19. oberon355 15 10.12.12 09:05 Сейчас в теме
Походу я чего то не понимаю.... Разве не нужно последовательно обновлять через cfu ? Помню пытался обновлять через cf, получил облом. C тех пор храню полный набор cfu для рабочих конфигураций. Я так понял что халяву как в 7 ке прикрыли. Или я не прав?
20. 0vrcr 57 10.12.12 09:13 Сейчас в теме
(19) вообще нежелательно делать полную загрузку из .cf. А обновление проходит нормально, выполняет нужные скрипты в режиме предприятия. Так что тебя обманули :)
21. oberon355 15 10.12.12 09:46 Сейчас в теме
(20) Никто меня не обманывал, сам ошибся. Надо будет попробовать еще раз. Спасибо за подсказку!
22. zzz_natali 61 12.12.12 18:14 Сейчас в теме
(про себя): --А еще он обозвал тебя земляным червяком! (с) Маугли
(вслух): добавьте хотя бы в свои батники процедуру бакапа базы перед обновлением
23. 0vrcr 57 12.12.12 19:17 Сейчас в теме
(22) zzz_natali, бекапить это святая обязанность каждого. В данной статье вопрос бекапа мы не рассматриваем. Но вообще /dumpIB путь
24. CagoBHuK 33 17.12.12 18:19 Сейчас в теме
Все, конечно, хорошо. А что делать с http://i45.tinypic.com/347tquq.png ?
25. 0vrcr 57 17.12.12 19:54 Сейчас в теме
НЕ надо держать рабочие базы подключенными к хранилищу. Базы подключаются к хранилищу только на момент обновления, автоматически, скриптом. Вручную держать их подключенными не надо
Оставьте свое сообщение