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

22.04.14

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

Данное изложение на примерах демонстрирует работу с хранилищем конфигураций из пакетного режима

Данное изложение на примерах демонстрирует работу с хранилищем конфигураций из пакетного режима*.
*Самый простой вызов командной строки для пакетного режима в Windows - сочетание клавиш Win+R. 

 
например:
1cv8.exe designer  /F "D:\1cBase\morpho" /N "Admin" /P "abc" /ConfigurationRepositoryF "D:\Storage\morpho" /ConfigurationRepositoryN "AdminStorage" /ConfigurationRepositoryP "qwerty" /ConfigurationRepositoryAddUser -User Lex -Rights Administration
 
где 
1cv8.exe designer  /F "D:\1cBase\morpho" /N "Admin" /P "abc" 
- путь к запуску 1С (вместо 1cv8.exe поставьте полный путь) и параметры подключения к ИБ конфигуратором. Она будет неизменной.
2-ая часть - 
/ConfigurationRepositoryF "D:\Storage\morpho" /ConfigurationRepositoryN "AdminStorage" /ConfigurationRepositoryP "qwerty"
- параметры подключения к хранилищу конфигурации.
заканчивает строку используемое действие.

В качестве примера используется конфигурация на платформе 8.3.4.465. Взял 2 информационных базы для разбора примеров.
 
1.Создаём хранилище конфигураций:
/ConfigurationRepositoryCreate
 
1cv8.exe designer  /F "D:\1cBase\morpho" /N "Admin" /P "abc" /ConfigurationRepositoryF "D:\Storage\morpho" /ConfigurationRepositoryN "AdminStorage" /ConfigurationRepositoryP "qwerty" /ConfigurationRepositoryCreate 
 
Если конфигурация на поддержке, то следует использовать суффикс с указанием действий с этой поддержкой, например:
...-AllowConfigurationChanges -ChangesAllowedRule ObjectIsEditableSupportEnabled -ChangesNotRecommendedRule ObjectIsEditableSupportEnabled
Возможно, что вся строка уже целиком не помещается в командную строку Windows. Но её вызов можно употребить либо в .bat-файле либо в вызвав из 1С через ЗапуститьПриложение().
Пользователь, добавляемый при создании, всегда будет администратором.
При таком вызове конфигурация будет подключена к хранилищу и останется подключённой (и только в этом случае, о чём ниже). Чтобы не подключаться - добавьте ещё -NoBind.
 
2.Добавление ещё одного пользователя
/ConfigurationRepositoryAddUser
 
1cv8.exe designer  /F "D:\1cBase\morpho" /N "Admin" /P "abc" /ConfigurationRepositoryF "D:\Storage\morpho" /ConfigurationRepositoryN "AdminStorage" /ConfigurationRepositoryP "qwerty" /ConfigurationRepositoryAddUser -User "DirectorStorage" -Pwd "qwerty" -Rights Administration

Если в момент добавления пользователя будет открыт конфигуратор с подключением к хранилищу - соответственно, подключения не произойдёт и пользователь добавлен не будет. Например, откройте 2-ую конфигурация, подключитесь вновь созданным пользователем DirectorStorage и выполните:
C:\1Cv\8.3.4.465\bin\1cv8.exe designer  /F "D:\1cBase\morpho_res" /N "Admin" /P "abc" /ConfigurationRepositoryAddUser -User "ManagerStorage" -Pwd "qwerty" -Rights Administration
Пользователь ManagerStorage добавлен не будет.
 
3.Отключиться от хранилища
/ConfigurationRepositoryUnbindCfg
 
Подключитесь 2-ой конфигурацией, откройте Конфигурация - Хранилище конфигурации - Администрирование хранилища - [Подключения]
 
(Должны быть 2 подключения. Если не так, то подключитесь 1-ой конфигурацией другим пользователем - AdminStorage и закройте 1-ый конфигуратор).
Выполните:
 
1cv8.exe designer  /F "D:\1cBase\morpho" /N "Admin" /P "abc" /ConfigurationRepositoryUnbindCfg -force
 
и обновите список:
 
(Здесь суффикс -force указывает, что можно игнорировать всё захваченное).
 
4.Обновление конфигурации из хранилища.
/ConfigurationRepositoryUpdateCfg
 
Откройте 1-ую конфигурацию без подключения к хранилищу и внесите любые изменения (ну, например, добавьте константу). Закройте и выполните:
 
1cv8.exe designer  /F "D:\1cBase\morpho" /N "Admin" /P "abc" /ConfigurationRepositoryF "D:\Storage\morpho" /ConfigurationRepositoryN "AdminStorage" /ConfigurationRepositoryP "qwerty" /ConfigurationRepositoryUpdateCfg -force
 
Догадались, что -force - это средство от лишних сложностей и вопросов?
 
5.Снять конфигурацию в файл:
/ConfigurationRepositoryDumpCfg
 
[без комментариев...]
 
1cv8.exe designer  /F "D:\1cBase\morpho" /N "Admin" /P "abc" /ConfigurationRepositoryF "D:\Storage\morpho" /ConfigurationRepositoryN "AdminStorage" /ConfigurationRepositoryP "qwerty" /ConfigurationRepositoryDumpCfg "d:\temp\xxx.cf"
 
6.Снять отчёт по версиям хранилища:
/ConfigurationRepositoryReport
 
1cv8.exe designer  /F "D:\1cBase\morpho" /N "Admin" /P "abc" /ConfigurationRepositoryF "D:\Storage\morpho" /ConfigurationRepositoryN "AdminStorage" /ConfigurationRepositoryP "qwerty" /ConfigurationRepositoryReport "d:\temp\ver.mxl"
 
Плохо, что отчёт снимается в moxel-е. Что с ним дальше делать?
 
Можно ли подключиться к хранилищу? Нет. Кроме случая создания хранилища по /ConfigurationRepositoryCreate. Только тогда конфигурация подключается к хранилищу и остаётся подключенной. Сравните: создайте новое хранилище (пункт 1), добавьте пользователя (пункт 2), зайдите во 2-ую конфигурацию, подключитесь 2-ым пользователем, перейдите в администрировании в подключения - подключения произведены к обоим информационным базам разными пользователями.
К сожалению, подключится через пакетный режим нельзя. Для этого существует только интерактивный режим. Когда-нибудь и это придумают...

Хранилище конфигураций Storage

См. также

Системы контроля версий для 1С-разработчиков.

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

Основы командной разработки на 1С. Использование систем контроля версий при разработке на платформе 1С:Предприятие 8

4900 руб.

29.06.2022    9387    78    4    

112

Обновляемый список последних статей Инфостарт для профиля Github

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

Не знаете, чем бы таким заполнить свой профиль Github? Заполните его своими статьями на Инфостарт! Этот простой workflow сам соберет список ваших последних статей и будет периодически обновлять его для актуализации данных.

08.04.2024    918    bayselonarrend    2    

31

Процесс разработки с использованием GIT и расширений для 1С:ERP. Без EDT

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

Доработки 1С:ERP на крупных проектах можно организовать, не внося изменения в саму типовую конфигурацию, а используя только расширения и отдельные «микроконфигурации». Расскажем о том, как это сделать без EDT, используя процесс разработки GitHub Flow.

02.04.2024    4576    Begemoth80    24    

45

Особенности национального Workflow: Github Actions и OneScript

Групповая разработка (Git, хранилище) OneScript Бесплатно (free)

Сегодня мы посмотрим на Github Actions - встроенный инструментарий Github для автоматизации рабочих процессов. Разберем, что это такое, зачем и причем тут OneScript.

25.03.2024    1568    bayselonarrend    3    

38

Автоматизация процесса разработки с помощью сервиса GitFlic

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

GitFlic – первая в России полностью самостоятельная реализация сервиса для хранения репозиториев с исходным кодом. За три года разработки сервис GitFlic стал полноценным инструментом, которым можно заменить GitLab, GitHub и BitBucket. Расскажем о том, как выстроить в GitFlic процесс автоматического тестирования, статического анализа кода и сборки приложений.

05.03.2024    2081    user1989937    6    

16

OpenYellow - рейтинг открытых GitHub репозиториев для платформы 1С:Предприятие

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

Обновляемый топ GitHub репозиториев для 1С по всем языкам программирования и еще немного рассуждений про open-source.

05.02.2024    4013    bayselonarrend    15    

63

Насколько глубок 1С-ный GitHub?

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

Open-source проекты - важная часть мира программного обеспечения. 1С привычно держится немного в стороне от глобальных трендов, но бросить холодный статистический взгляд на положение дел мне показалось небезынтересным.

22.01.2024    8056    bayselonarrend    50    

87

TCP прокси-сервер хранилища конфигурации 1С

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

Продолжение истории с прокси хранилища, но уже не на HTTP, а на TCP и без падений по памяти веб-сервера. Проверяем комментарии хранилища, вызываем веб-хуки, старты пайплайнов, gitsync по событию помещения версии в хранилище. И все это полностью на знакомом и понятном OneScript.

17.01.2024    3007    kamisov    17    

60
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. gubanoff 63 23.04.14 18:23 Сейчас в теме
В версии 8.2 при работе с хранилищем из командной строки была ошибка. Для команды ConfigurationRepositoryReport отчет возвращался без группировки по версиям. Хотя в справке есть
/ConfigurationRepositoryReport <имя файла> [-NBegin <номер версии>] [-NEnd <номер версии>] [-GroupByObject] [-GroupByComment] — построение отчета по истории хранилища. Если параметры группировки не указаны и режим совместимости указан "Не используется", то отчет формируется с группировкой по версиям. В режимах совместимости "Версия 8.1" и "Версия 8.2.13" отчет формируется с группировкой по объектам. Если конфигурация базы данных отличается от редактируемой по свойству совместимости, при обработке командной строки учитывается значение режима совместимости конфигурации базы данных.

<имя файла> — имя файла, в который выводится отчет;
NBegin — номер сохраненной версии, от которой начинается строиться отчет;
NEnd — номер сохраненной версии, по которую строится отчет;
GroupByObject — признак формирования отчета по версиям с группировкой по объектам;
GroupByComment — признак формирования отчета по версиям с группировкой по комментарию.

Показать
Не проверяли, на новой платформе остался этот глюк?
2. gubanoff 63 23.04.14 18:26 Сейчас в теме
Плохо, что отчёт снимается в moxel-е. Что с ним дальше делать?

А тут, кстати, все нормально. Можно его анализировать, прочитав через ТабличныйДокумент.
ТабДок.Прочитать(ПутьКФайлу); ПерваяКолонка = СокрЛП(ТабДок.Область(ТекСтрока, 1, ТекСтрока, 1).Текст); 
3. Franco 82 24.04.14 13:56 Сейчас в теме
4. be-may 25.04.14 08:47 Сейчас в теме
у меня почему-то не получается подключиться таким образом к внешнему хранилищу?
Вы не пробовали ?
5. Franco 82 25.04.14 09:43 Сейчас в теме
(4) be-may,
самоцитата
'
Можно ли подключиться к хранилищу? Нет. Кроме случая создания хранилища по /ConfigurationRepositoryCreate. Только тогда конфигурация подключается к хранилищу и остаётся подключенной.
...
К сожалению, подключится через пакетный режим нельзя. Для этого существует только интерактивный режим. Когда-нибудь и это придумают...
'
6. spenser123 05.04.17 17:40 Сейчас в теме
пытаюсь сделать bat-ник для сохранения CF в файл (чтобы повесить его в винде в задание ночью, когда не работаю).
Проблема как раз с хранилищем... все срабатывает - запускает С-ку, передают параметры DepotF, DepotN, DepotP, но во время запуска batника - вылазиет 1С ка с 1 единственной целью - показать мне окошко подключения к хранилищу и там, путь к хранилищу пуст, пользователь и пароль тоже, но даже не это напрягает, а то, что батник не работает пока руками не нажмешь кнопку "Отмена" окошка подключения к хранилищу...
7. outcase 11.03.20 21:26 Сейчас в теме
а как выгрузить конкретную версию из храна?

UPDATE: -v <номер версии хранилища> v — номер версии, если номер версии не указан, или равен -1, будет сохранена последняя версия.
8. kievanton 29.05.20 07:43 Сейчас в теме
С версии 8.3.6 что уже есть метод ConfigurationRepositoryBindCfg для подключения базы к хранилищу

"Для пакетного режима запуска конфигуратора реализована возможность подключения ранее не подключенной информационной базы к хранилищу конфигурации (ключ командной строки запуска /ConfigurationRepositoryBindCfg)."
9. SagittariusA 30.09.20 14:39 Сейчас в теме
Просто оставлю это тут. Для запуска конфигуратора и подключения к хранилищу:
"C:\Program Files (x86)\1cv8\common\1cestart.exe" CONFIG /S"СерверБазы\ИмяБазыНаСервере" /N"ИмяПользователяОтБазы" /P"ПарольОтБазы" /ConfigurationRepositoryF"ПутьКХранилищу" /ConfigurationRepositoryN"ПользовательХранилища" /ConfigurationRepositoryP"ПарольХранилища"
DoctorRoza; Key-Zed; marku; Lapitskiy; sam441; shetill; BairamovTM; +7 Ответить
10. frkbvfnjh 787 02.11.21 14:55 Сейчас в теме
А нельзя как то минуя конфигуратор выгрузить с хранилища? Это же писец, двойную авторизацию делать, да еще и конфигуратор должен быть закрыт. Капец, 21 век, а все на шарнирах работает
11. Dansur 261 23.11.21 10:14 Сейчас в теме
(10) Может и можно, ведь по сути хранилище это файловая база, только немного специфическая.
Если есть острая необходимость то я бы повертел обработки Валерия Агеева (awa), Царствия ему небесного.
Вот примеры наработок использующих это.

https://infostart.ru/public/645512/
12. frkbvfnjh 787 23.11.21 13:19 Сейчас в теме
(11) Оу, спасибо, не знал что такое есть
Оставьте свое сообщение