본문으로 건너뛰기
cccskills
무료GitHub에 공개

db-repo

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

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

실행 점수 미검증

설치 방법 보기

포함된 파일(7)

  • SKILL.md14.4 KB
  • references/admin.md2.7 KB
  • references/connect.md2.6 KB
  • references/history.md1.6 KB
  • references/service.md1.4 KB
  • scripts/db-repo.ps179.0 KB
  • scripts/db-repo.py68.4 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

/db-repo — Хранилище конфигурации 1С

Захват и помещение объектов, получение изменений, подключение базы, история версий, администрирование хранилища.

Хранилище конфигурации 1С, а не Git-репозиторий.

Usage

/db-repo lock   [database] -Objects "Справочник.Номенклатура"
/db-repo commit [database] -Objects "Справочник.Номенклатура" -Comment "Добавлен Артикул"
/db-repo unlock [database] -Objects "Справочник.Номенклатура"
/db-repo update [database]

Порядок работы

В базу, подключённую к хранилищу, исходники грузятся только частично и только по захваченным объектам. Выполняй строго по шагам:

0. /db-repo update <база>                      — начать с актуального состояния
1. /db-repo lock <база> -Objects "Справочник.Номенклатура"
2. если шаг 0 или 1 напечатал «локальная конфигурация изменена, получено объектов из хранилища: N» —
   выгрузи названные объекты: /db-dump-xml <база> <каталог> -Mode Partial -ObjectsFile "<файл из вывода>"
3. правки в исходниках: /meta-edit, /form-edit, /skd-edit, /meta-compile и т. д.
4. /db-load-xml <каталог> <база> -Mode Partial -Files "Catalogs/Номенклатура.xml,…" -UpdateDB
5. /db-repo commit <база> -Objects "Справочник.Номенклатура" -Comment "…"

Шаг 0 стоит делать всегда, когда работа не продолжается сразу после предыдущего цикла: правки должны опираться на актуальное состояние — в том числе тех объектов, которые ты не меняешь, но используешь.

Шаг 2 пропускать нельзя: захват и обновление подтягивают из хранилища свежие версии, и загрузка исходников, снятых раньше, откатит чужие изменения — молча, без ошибки.

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

Что правишьЧто захватывать
Реквизит, табличную часть, измерение, ресурс, модуль объектасам объект: Справочник.Контрагенты
Существующую форму, макет, командуеё саму: Справочник.Контрагенты.Форма.ФормаЭлемента
Добавляешь новую форму, макет, командуобъект-владельца; при помещении назови и новый объект
Добавляешь новый объект конфигурациитолько корень: Конфигурация. Самого объекта ещё нет — захватить его нельзя; при помещении назови и его

Захватывай минимум того, что правишь: чем шире захват, тем больше конфликтов с коллегами. Захват объекта его формы и макеты не захватывает — для этого есть -WithChildren.

Параметры подключения

Прочитай .v8-project.json из корня проекта и разреши базу:

  1. Если пользователь указал параметры подключения — используй напрямую
  2. Если указал базу по имени — ищи по id / alias / name
  3. Если не указал — сопоставь текущую ветку Git с databases[].branches
  4. Если ветка не совпала — используй default

Платформа — v8path найденной записи базы, иначе корневой v8path. Не задан ни там, ни там — -V8Path не передавай.

Реквизиты хранилища передавать не нужно: запись базы находится по переданным параметрам соединения (-InfoBasePath либо -InfoBaseServer + -InfoBaseRef), реквизиты берутся из её repository. Задать их явно можно параметрами -Repository*.

Команда

powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/db-repo.ps1" -Command <подкоманда> <параметры>

Рабочий цикл

ПодкомандаЧто делает
lockЗахватить объекты
unlockОтменить захват
commitПоместить изменения в хранилище
updateПолучить изменения из хранилища

Параметры

ПараметрОбязательныйОписание
-InfoBasePath <путь>*Файловая база
-InfoBaseServer <сервер>*Сервер 1С
-InfoBaseRef <имя>*Имя базы на сервере
-UserName <имя>нетПользователь базы
-Password <пароль>нетПароль пользователя базы
-Objects <список>усл.Объекты через запятую. Для lock, unlock, commit обязателен, если не задан -All
-ObjectsFile <путь>нетФайл со списком объектов, одно имя на строку
-AllнетОперация над всей конфигурацией — вместо -Objects, а не вместе с ним
-WithChildrenнетВместе с подчинёнными объектами на полную глубину
-Comment <текст>нетКомментарий к помещению (commit). Многострочный — как есть, с переводами строк
-KeepLockedнетОставить объекты захваченными после помещения
-RevisedнетПолучать захваченные объекты, если потребуется
-ForceнетРазное по подкомандам — см. ниже
-Extension <имя>нетРаботать с хранилищем расширения
-RepositoryPath <путь>нетХранилище явно, вместо реестра
-RepositoryUser <имя>нетПользователь хранилища явно
-RepositoryPassword <пароль>нетПароль пользователя хранилища явно
-AdditionalV8Arguments <список>нетДоп. аргументы 1cv8.exe через запятую

* — нужен либо -InfoBasePath, либо пара -InfoBaseServer + -InfoBaseRef

-Force

ПодкомандаЧто делает
unlockТеряет локальные правки: объекты перезаписываются версией из хранилища
commitПытается очистить ссылки на удалённые объекты вместо ошибки
updateПодтверждает добавление и удаление объектов конфигурации

Имена объектов

Объект — Справочник.Номенклатура. Форма, макет, команда — полным путём: Документ.ЗаказПокупателя.Форма.ФормаДокумента, Справочник.Номенклатура.Макет.Печать. Корень конфигурации — Конфигурация.

Если объект «не найден», это не всегда опечатка: он мог появиться в хранилище позже, чем обновлялась база (/db-repo update), либо это вовсе не объект хранилища — реквизит или табличная часть.

Результат

Нулевой код не означает, что что-то изменилось. Под нулём приходят «уже захвачено», «обновлять нечего», «помещать нечего» и частичный захват — когда часть объектов занята другими, а остальное захвачено и его можно править.

Читай текст вывода, а не только код. Там же приходит список полученных из хранилища объектов, который требует перевыгрузки перед правкой.

Требуют подтверждения пользователя

Перед этими операциями спроси подтверждение:

ОперацияПочему
lock -AllЗахватывает всю конфигурацию: на большой базе идёт долго и блокирует работу всей команде
unlock -ForceТеряются локальные правки захваченных объектов
disconnectТеряется подключение базы к хранилищу, в том числе на стороне хранилища
connect -ForceReplaceCfgКонфигурация базы заменяется конфигурацией из хранилища

update не выполнится, если у базы в реестре не объявлено repository, а реквизиты не заданы явно: на неподключённой к хранилищу базе эта команда заменяет всю конфигурацию его содержимым и рапортует успех.

Расширения

У расширения своё хранилище со своим путём. Укажи -Extension "<Имя>" — реквизиты возьмутся из extensions[].repository записи базы. Подкоманды работают одинаково для основной конфигурации и для расширения.

Остальные задачи

ФайлПро что
connect.mdПодключение и отключение базы от хранилища
history.mdИстория версий, отчёт, выгрузка версии в CF
admin.mdСоздание хранилища, пользователи и права
service.mdМетки версий, оптимизация, очистка кеша

Примеры

# Захватить справочник вместе с подчинёнными объектами
powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/db-repo.ps1" -Command lock -InfoBasePath "C:\Bases\MyDB" -Objects "Справочник.Номенклатура" -WithChildren

# Захватить корень — он нужен, чтобы добавить или удалить объект конфигурации
powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/db-repo.ps1" -Command lock -InfoBasePath "C:\Bases\MyDB" -Objects "Конфигурация"

# Поместить новый объект: он уже существует, поэтому называется вместе с корнем
powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/db-repo.ps1" -Command commit -InfoBasePath "C:\Bases\MyDB" -Objects "Конфигурация,Справочник.Склады" -Comment "Добавлен справочник Склады"

# Поместить с комментарием, оставив захват
powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/db-repo.ps1" -Command commit -InfoBasePath "C:\Bases\MyDB" -Objects "Справочник.Номенклатура" -Comment "Добавлен реквизит Артикул" -KeepLocked

# Получить изменения из хранилища
powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/db-repo.ps1" -Command update -InfoBasePath "C:\Bases\MyDB"

# Серверная база, расширение
powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/db-repo.ps1" -Command lock -InfoBaseServer "srv01" -InfoBaseRef "MyApp_Dev" -UserName "Admin" -Extension "МоёРасширение" -Objects "Справочник.Номенклатура"

После выполнения

  • lock или update сообщил о полученных объектах — выполни /db-dump-xml -Mode Partial с указанным в выводе файлом, и только потом правь исходники
  • после lock правки идут через /db-load-xml -Mode Partial и /db-update
  • изменения готовы — предложи /db-repo commit с комментарием

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

cf-edit

무료

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

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

Nikolay-Shirokov/cc-1c-skills7202026년 10월 23일 업데이트

cf-info

무료

Анализ структуры конфигурации 1С — свойства, состав, счётчики объектов. Используй для обзора конфигурации — какие объекты есть, сколько их, какие настройки

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

Nikolay-Shirokov/cc-1c-skills7202026년 10월 23일 업데이트

cf-init

무료

Создать пустую конфигурацию 1С (scaffold XML-исходников). Используй когда нужно начать новую конфигурацию с нуля

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

Nikolay-Shirokov/cc-1c-skills7202026년 10월 23일 업데이트

Валидация конфигурации 1С. Используй после создания или модификации конфигурации для проверки корректности

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

Nikolay-Shirokov/cc-1c-skills7202026년 10월 23일 업데이트

Заимствование объектов из конфигурации 1С в расширение (CFE). Используй когда нужно перехватить метод, изменить форму или добавить реквизит к существующему объекту конфигурации

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

Nikolay-Shirokov/cc-1c-skills7202026년 10월 23일 업데이트

cfe-diff

무료

Анализ расширения конфигурации 1С (CFE) — состав, заимствованные объекты, перехватчики, проверка переноса. Используй когда нужно понять что содержит расширение или проверить перенесены ли вставки в конфигурацию

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

Nikolay-Shirokov/cc-1c-skills7202026년 10월 23일 업데이트

Nikolay-Shirokov의 스킬 모두 보기

이 스킬의 문제 신고