Как залить в хранилище новую конфигурацию?

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

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

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

Далее подключаем конфигурацию к хранилищу:

Возможно будет выдано такое предупреждение, ответить Да:


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

Если есть захваченные объекты, их нужно освободить принудительно. Проверяем, остались ли не захваченные объекты:

Далее захватываем всё хранилище рекурсивно:

Далее конфигурацию загрузить увы, нельзя, можно только сравнить-объединить с конфигурацией из файла:

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

Объединяем с приоритетом файла:

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

В моем случае различий было довольно много, например зачем-то были MRG:

Поэтому в этом сравнении-объединении я оставляю режим по-умолчанию «Взять из конфигурации базы данных» и нажимаю Выполнить:

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

Повторяю сравнение с конфигурацией базы данных. На этот раз все чисто:

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

Остается только поместить объекты в хранилище рекурсивно.

Всё, база подключена к хранилищу.

fixin

Программирую на 1С с 1999 года. В 1С просто Гений. В 2020 году ушел из офиса на вольные хлеба фриланса. Принимаю заказы.

Читайте также:

комментариев 8

  1. Павел:

    Проще развернуть хранилище заново. Если изменений много — от старого уже толку не будет. Его можно держать рядом «для истории»

    • Вы не читали? Там отключили на время обновления, т.е. изменения наследуемые, это не совершенно новая конфигурация. А заново развернуть — это потерять историю.

      • Павел:

        А ты себе как представляешь «загрузить поверх» — с сохранением истории?? Сам показал сколько может быть коллизий с которыми хранилище само не справится

        • нормально хранилище справилось с обновлением конфигурации, все норм.
          или ты предлагаешь каждый раз после обновления конфы делать новое хранилище? Нет.
          Как я представляю — описано в статье. Не только представляю, но именно так и делаю.

  2. Klopik:

    Чем штатный метод должен отличаться от того что ты описал?!

    • не понял суть вопроса

    • Алексей:

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

      • да… это вам не GIT, 1с не будет заморачиваться об таких проблемах. Кушайте что дают, господа программисты 1С

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *