Операции с хранилищем конфигурации 1С

SkillDatabases & data

1C configuration storage via batch launch of the platform: version report, object capture and release, update, commit, export to CF, attaching and detaching a database. Triggers - 'хранилище конфигурации', 'захвати объекты', 'помести в хранилище', 'сними захват', 'обнови из хранилища', 'подключи б'

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Операции с хранилищем конфигурации 1С skill

What this skill tells your AI

The instructions your AI receives, as published by desko77/claude-code-skills-1c in skills/1c-storage-ops/SKILL.md and read by ahel’s review.

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

Usage

powershell.exe -NoProfile -File skills/1c-storage-ops/scripts/storage-ops.ps1 -Operation <операция> [параметры]

Операции

ОперацияЧто делаетСписок объектов
statusОтчет по версиям хранилища в файл. Самая дешевая проверка всей связки: платформа, база, хранилище, учетные данныенеприменим
lockЗахватить объекты для редактированияобязателен
updateОбновить локальную конфигурацию из хранилищаобязателен
commitПоместить изменения в хранилищеобязателен
unlockОтменить захватобязателен
dumpВыгрузить конфигурацию хранилища в CF, целиком или конкретную версиюнеприменим
bindПодключить информационную базу к хранилищунеприменим
unbindОтключить информационную базу от хранилищанеприменим

Параметры

ПараметрОбязательныйОписание
-Operation <имя>даОдна из операций выше
-V8Path <путь>нетКаталог bin платформы или полный путь к 1cv8.exe
-InfoBasePath <путь>*Файловая база
-InfoBaseServer <сервер>*Сервер 1С
-InfoBaseRef <имя>*Имя базы на сервере
-UserName <имя>нетПользователь базы
-Password <пароль>нетПароль пользователя базы
-RepositoryPath <путь>даКаталог хранилища конфигурации
-RepositoryUser <имя>нетПользователь хранилища
-RepositoryPassword <пароль>нетПароль пользователя хранилища
-Objects "имя,имя"**Полные имена объектов через запятую
-IncludeChildObjectsнетЗахватывать вместе с подчиненными объектами
-Comment <текст>***Комментарий помещения
-KeepLockedнетОставить объекты захваченными после помещения
-OutputFile <путь>****Файл отчета для status, CF-файл для dump
-Version <номер>нетНомер версии для dump; без него берется последняя
-Extension <имя>нетРаботать с хранилищем расширения
-ForceнетПринудительный режим, за двумя воротами (см. ниже)
-ConfirmForceнетПодтверждение принудительного режима
-ConfirmDiscardChangesнетПодтверждение принудительной отмены захвата с потерей изменений
-ConfirmUnbindнетПодтверждение отключения базы от хранилища
-BindAlreadyBoundUserнетПодключить, даже если этот пользователь уже подключен другой базой
-ReplaceLocalConfigurationнетПри подключении заменить локальную конфигурацию конфигурацией из хранилища
-ConfirmReplaceLocalConfigurationнетПодтверждение такой замены
-StrictLogнетОтказ в журнале поднимает код возврата до 1, даже если платформа вернула 0

* - нужен либо -InfoBasePath, либо пара -InfoBaseServer + -InfoBaseRef ** - обязателен для lock, update, commit, unlock; для status и dump отклоняется *** - обязателен для commit **** - обязателен для status и dump

Гарды

Каждый отказ происходит ДО запуска платформы.

ГардПочему
Операция над объектами без -Objects отклоняетсяПлатформа без списка применяет операцию ко ВСЕЙ конфигурации
Маски (*, ?) в перечне отклоняютсяСписок только явный: маска раскрывается на стороне, которую не видно из вызова
Корень конфигурации отклоняетсяОперация над корнем захватывает все
Имя без точки отклоняетсяОжидается полное имя вида Справочник.Валюты
Дубли в перечне отклоняютсяПризнак ошибки составления списка
commit без комментария отклоняетсяКомментарий это связь изменения с задачей
-Force требует разрешения в проекте И подтверждения в вызовеДолговременное разрешение - ключ repositoryAllowForce в .v8-project.json; подтверждение - -ConfirmForce, а для отмены захвата отдельный -ConfirmDiscardChanges, потому что она теряет несохраненные изменения

Подключение и отключение: что надо знать до запуска

Привязка регистрируется на стороне хранилища, а не внутри файла базы. Замерено: отключение, выполненное с файловой КОПИИ базы, сняло привязку и у исходной базы - хранилище регистрирует связь по пользователю. Отсюда два следствия:

  • проверять отключение на копии бесполезно и опасно: копия и оригинал делят одну привязку;
  • прежде чем отключать, надо понимать, кто еще работает с хранилищем через эту связку.

Обратное подключение требует пустой локальной конфигурации. На непустой платформа отвечает Конфигурация не пустая! и отказывает. Рабочий путь - -ReplaceLocalConfiguration, но он заменяет локальную конфигурацию конфигурацией из хранилища: несохраненные локальные правки при этом теряются. Поэтому ключ закрыт отдельным подтверждением.

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

Формат файла со списком объектов

Скрипт собирает его сам, но формат стоит знать - он замерен на платформе, а не взят из описания.

<?xml version="1.0" encoding="UTF-8"?>
<Objects xmlns="http://v8.1c.ru/8.3/config/objects" version="1.0">
  <Object fullName="Справочник.Валюты" includeChildObjects="false"/>
</Objects>

Замеры на 8.3.27.1859:

  • простой текст со списком имен платформа отвергает разбором XML: Document is empty;
  • атрибут называется includeChildObjects. На includeChildren платформа отвечает прямо: читаемый тег не соответствует ожидаемым. Текущий includeChildren, ожидаемые includeChildObjects;
  • имя пользователя хранилища с кириллицей платформой принимается.

Примеры

# Проверить связку и получить отчет по версиям
powershell.exe -NoProfile -File skills/1c-storage-ops/scripts/storage-ops.ps1 `
  -Operation status -InfoBasePath "C:\Bases\MyDB" `
  -RepositoryPath "C:\Repo" -RepositoryUser "Администратор" -OutputFile "report.mxl"

# Захватить объекты
powershell.exe -NoProfile -File skills/1c-storage-ops/scripts/storage-ops.ps1 `
  -Operation lock -InfoBasePath "C:\Bases\MyDB" -RepositoryPath "C:\Repo" `
  -Objects "Справочник.Валюты,Справочник.Склады"

# Поместить с комментарием и оставить захват
powershell.exe -NoProfile -File skills/1c-storage-ops/scripts/storage-ops.ps1 `
  -Operation commit -InfoBasePath "C:\Bases\MyDB" -RepositoryPath "C:\Repo" `
  -Objects "Справочник.Валюты" -Comment "ЗАДАЧА-123: добавлен реквизит" -KeepLocked

# Отключить базу от хранилища
powershell.exe -NoProfile -File skills/1c-storage-ops/scripts/storage-ops.ps1 `
  -Operation unbind -InfoBasePath "C:\Bases\MyDB" -RepositoryPath "C:\Repo" -ConfirmUnbind

# Подключить обратно, заменив локальную конфигурацию конфигурацией из хранилища
powershell.exe -NoProfile -File skills/1c-storage-ops/scripts/storage-ops.ps1 `
  -Operation bind -InfoBasePath "C:\Bases\MyDB" -RepositoryPath "C:\Repo" `
  -ReplaceLocalConfiguration -ConfirmReplaceLocalConfiguration

Диагностика

Сообщение платформыЧто значит
Хранилище конфигурации по адресу ... не обнаруженоНеверный -RepositoryPath либо каталог недоступен
Неклассифицированная ошибка работы с хранилищем конфигурацииБаза не подключена к хранилищу либо отказ на его стороне
Объекты, отсутствующие в обеих конфигурацияхИмя в перечне не разрешилось: опечатка либо объекта нет
Объект уже захвачен пользователем ...Захват держит другой разработчик. Это отчет пользователю и остановка, а не повод снимать чужой захват
Информационная база не связана с хранилищем конфигурацииПривязки нет: подключить операцией bind
Конфигурация не пустая! при подключенииПодключение требует пустой локальной конфигурации либо -ReplaceLocalConfiguration

Отчет операции status платформа отдает в формате MXL (табличный документ), а не текстом.

Вердикт операции строится по четырем сигналам, а не по коду возврата - designer-batch-verdict.md. Пароли базы и хранилища маскируются в печатаемой командной строке.

Связанное

  • docs/build-spec.md, раздел про хранилище конфигурации - ключи командной строки.
  • designer-batch-verdict.md - как читается результат пакетного запуска.
  • 1c-db-dump-cf - выгрузка конфигурации базы, а не хранилища.

Signals

GitHub stars
61
Forks
14
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
x-1c-storage-ops
Source
github.com/desko77/claude-code-skills-1c