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

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    9143    78    4    

110

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

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

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

25.03.2024    1179    bayselonarrend    3    

35

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

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

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

05.03.2024    1866    user1989937    6    

15

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

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

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

05.02.2024    3780    bayselonarrend    15    

61

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

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

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

22.01.2024    7841    bayselonarrend    50    

86

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

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

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

17.01.2024    2772    kamisov    17    

57

Отдай корень! Библиотека OneScript для получения информации о захваченных объектах в хранилище

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

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

26.12.2023    1336    ardn    1    

26

Git Code Review - инструмент для рецензирования кода

Групповая разработка (Git, хранилище) Платформа 1С v8.3 Конфигурации 1cv8 1С:ERP Управление предприятием 2 Абонемент ($m)

Git Code Review - инструмент, позволяющий быстро анализировать изменения из git-репозитория прямо в 1С

1 стартмани

20.12.2023    3958    59    salexdv    26    

81
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
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 785 02.11.21 14:55 Сейчас в теме
А нельзя как то минуя конфигуратор выгрузить с хранилища? Это же писец, двойную авторизацию делать, да еще и конфигуратор должен быть закрыт. Капец, 21 век, а все на шарнирах работает
11. Dansur 261 23.11.21 10:14 Сейчас в теме
(10) Может и можно, ведь по сути хранилище это файловая база, только немного специфическая.
Если есть острая необходимость то я бы повертел обработки Валерия Агеева (awa), Царствия ему небесного.
Вот примеры наработок использующих это.

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