Работа с хранилищем конфигурации с разными версиями конфигуратора

08.06.22

Разработка - Групповая разработка (Git, хранилище)

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

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

Если заказчиков двое - можно воспользоваться методом, предложенным в публикации //infostart.ru/public/1663203/, но что делать, если их трое и более?

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

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

Далее в реестре (regedit.exe), найдите путь к уже установленной службе (HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\1C: Repository Server) и сохраните раздел в файл.

Любым редактором исправьте в этом файле названия службы, описание - так будет потом проще разбираться.

 

 

Сохраните файл и добавьте данные из него файла в реестр.

Снова зайдите в редактор реестра (regedit) и найдите вновь добавленную ветку.

Теперь необходимо отредактировать ключ Imagepath так, чтобы он указывал на общую для всех версий папку, но использовал уникальный порт, например:

c:\Program Files\1cv8\8.3.21.1302\bin\crserver.exe" -srvc -port 1302 -d D:\Cassaforte\

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

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

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

Устанавливать и настраивать доступ через http считаю избыточным - никаких плюсов подключение через http по сравнению с tcp не приносит.

Возможно, используемый порт понадобится добавить в разрешенные в Брендмауре Windows.

Теперь можно получать доступ к одному и тому же хранилищу из разных версий платформы, меняя только путь к хранилищу:

tcp://адрес_компьютера:1302/ИмяХранилища - для версии 8.3.21.1302;

tcp://адрес_компьютера:1710/ИмяХранилища - для версии 8.3.20.1710; и так далее, по необходимости.

Практика использования такого механизма показала, что структуру хранилища компания 1С не меняет, и с одной и той же конфигурацией можно одновременно благополучно работать как с версиями 8.3.11, так и 8.3.21, никаких проблем нет.

В будущем, конечно, что-то может измениться, но работать-то нужно прямо сейчас.

Вступайте в нашу телеграмм-группу Инфостарт

Хранилище конфигурации версия хранилища разные версии

См. также

Групповая разработка (Git, хранилище) Системный администратор Программист Бесплатно (free)

Все больше команд начинают использовать при разработке 1С GIT. На самом деле производительность GIT так же ограничена и зависима от различных настроек и подходов, как и всеми нами любимая платформа 1С. Для комфортной работы с GIT в случае больших репозиториев необходимо выполнять оптимизацию алгоритмов взаимодействия. Опишу свой опыт. 

14.07.2025    639    bborisko    0    

8

Групповая разработка (Git, хранилище) EDT OneScript Программист 1С v8.3 Бесплатно (free)

В данной публикации рассматривается пример реализации скрипта, который автоматизирует получение ветки из GIT репозитория и обновление конфигурации, если разработка проекта ведется в EDT.

11.06.2025    1888    AlexF1    4    

7

DevOps и автоматизация разработки Групповая разработка (Git, хранилище) EDT Программист 1С v8.3 Бесплатно (free)

В процессе использования 1С:EDT и репозитория Git для обновлений релизов доработанных конфигураций появилась необходимость в регулярной загрузке конфигураций от вендора 1С в Git-репозиторий. Описанное в статье решение позволяет автоматизировать эту операцию и может быть полезным специалистам, занимающимися обновлениями с использованием 1C:EDT+Git

21.05.2025    3148    vladimir_iclsoft    3    

20

Групповая разработка (Git, хранилище) Обновление 1С Программист 1С v8.3 Россия Бесплатно (free)

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

05.02.2025    4845    Nonik    10    

18

Групповая разработка (Git, хранилище) Программист Руководитель проекта 1С v8.3 1C:Бухгалтерия Бесплатно (free)

Когда в хранилище одновременно разрабатывают несколько команд, сортировка сделанного и несделанного при формировании релиза и проведение code review по задачам превращаются в непроходимый квест. В таких случаях нужен бранчинг. Расскажем об опыте перехода на новую схему хранения кода для ИТ-департамента.

23.09.2024    9228    kraynev-navi    3    

27

Групповая разработка (Git, хранилище) Программист 1С v8.3 Бесплатно (free)

Как исправить медленное сравнение конфигурации с файлом cf, сохраненным из хранилища.

17.09.2024    8786    vatkir    16    

11
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. ImHunter 338 08.06.22 17:39 Сейчас в теме
Собственно, плюс. За предпоследний абзац, в основном.
А почему не стали пользоваться режимом совместимости хранилищ?
2. curdate 54 08.06.22 18:02 Сейчас в теме
(1) Режим совместимости - это, насколько я помню, про структуру хранения данных. Какой не выбери, он все равно не позволит подключаться разным версиям платформы к одному хранилищу.
3. user1677685 09.06.22 10:53 Сейчас в теме
Зачем службу через реестр создавать, когда можно быстро создать службу на выбранном порту с выбранной версией 1С?
Во вложении пример, можно переделать определение портов, если хочется.
Прикрепленные файлы:
Create_1C_RepositoryOnPort.cmd.txt
user621724_Dimav1979; +1 Ответить
4. curdate 54 09.06.22 11:26 Сейчас в теме
(3) Так исторически сложилось:). Я использую эту схему с множественными службами хранилища еще с 8.3.1 (на 8.2 не было контроля версии при подключении); тогда решить проблему нужно было быстро, ведь все работать-то должно было еще вчера.
Ведь в начале это была гипотеза - а будет ли работать 2 службы? Это же было не очевидно, что заработает. Проверил тогда по быстрому, первым пришедшим в голову методом. А потом просто использовал готовое - нет смысла оптимизировать минутную задачу, которую нужно выполнять даже не каждый месяц. Тем более, использование командной строки не добавит ни скорости, ни надежности, ни наглядности.

Но если начинать что-то строить с нуля, да без спешки - почему бы и не углубиться. Спасибо за cmd, пригодится:)
5. user1677685 09.06.22 11:42 Сейчас в теме
(4) Ну вот у меня в итоге за несколько лет простой cmd превратился в универсальный инструмент создания службы. Такие же созданы для службы 1С сервера, службы RAS, переопределения Applications, ComConnector, AdminConsol - удобно, когда на нескольких серверах устанавливаешь одну и ту же версию для предварительного тестирования и надо отдельную службу.
6. SerVer1C 925 09.06.22 16:02 Сейчас в теме
Это работает до тех пор, пока шаг влево-вправо не сделали.
7. yermak 51 14.06.22 08:41 Сейчас в теме
а не опасненько так делать? Что на это скажут разработчики фирмы 1с?
8. curdate 54 14.06.22 13:40 Сейчас в теме
(7) Волков бояться - в лес не ходить мучиться с разными версиями или работать без хранилища.
А разработчикам мы ничего не расскажем.
9. 7OH 70 14.06.22 18:47 Сейчас в теме
(1)
"Устанавливать и настраивать доступ через http считаю избыточным - никаких плюсов подключение через http по сравнению с tcp не приносит."
А как вы у заказчиКОВ то подключаетесь к созданным дома хранилищам ?
Вот как раз http в этом случае удобно.
Дома дописал - оттуда подключился и только забрал изменения, а не всю конфу через удаленку кидать.
10. curdate 54 14.06.22 19:18 Сейчас в теме
(9) tcp же, через внешний ip
GYlgamesh; +1 Ответить
Оставьте свое сообщение