Files
cc-1c-skills/docs/cf-guide.md
T
Nick Shirokov 1b6ab2f144 Add configuration root skills (4 new cf-* skills) and guide
New skills for working with root-level 1C configuration files:
- cf-info: analyze configuration structure (3 modes: brief/overview/full)
- cf-init: scaffold empty configuration (Configuration.xml, ConfigDumpInfo.xml, Languages/)
- cf-validate: validate structural correctness (8 checks)
- cf-edit: edit properties, ChildObjects, default roles (6 operations)

Also adds docs/cf-guide.md and updates README and specs index.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 12:00:13 +03:00

8.7 KiB
Raw Permalink Blame History

Корневые файлы конфигурации

Навыки группы /cf-* позволяют создавать, анализировать, редактировать и проверять корневые файлы конфигурации 1С — Configuration.xml, ConfigDumpInfo.xml, Languages/.

Навыки

Навык Параметры Описание
/cf-info <ConfigPath> [-Mode overview|brief|full] Анализ конфигурации: свойства, состав, счётчики объектов (3 режима)
/cf-init <Name> [-Synonym] [-OutputDir] [-Version] [-Vendor] Создание пустой конфигурации (scaffold XML-исходников)
/cf-validate <ConfigPath> [-MaxErrors 30] Валидация структурной корректности (8 проверок)
/cf-edit <ConfigPath> -Operation <op> -Value "<val>" Редактирование свойств, состава ChildObjects, ролей по умолчанию (6 операций)

Рабочий цикл

Описание (текст) → /cf-init → XML-исходники → /cf-validate
                                ↕ /cf-edit      → /cf-info
  1. /cf-init создаёт scaffold пустой конфигурации (Configuration.xml, ConfigDumpInfo.xml, Languages/)
  2. /cf-edit вносит изменения: свойства, объекты в ChildObjects, роли по умолчанию
  3. /cf-validate проверяет корректность XML (структура, enum-значения, ссылки, каталоги)
  4. /cf-info выводит компактную сводку для визуальной проверки

cf-info — режимы вывода

brief — одна строка

Конфигурация: БухгалтерияПредприятия — "Бухгалтерия предприятия" v3.0.181.31 | 2847 объектов | Version8_3_24

overview (по умолчанию) — заголовок + ключевые свойства + счётчики

Конфигурация: ТестКонфигурация — "Тестовая конфигурация"
  Version:         2.0.0.1
  Vendor:          TestCompany
  Compatibility:   Version8_3_24
  DefaultLanguage: Language.Русский

Объекты (4 шт.):
  Language            1
  Role                1
  Catalog             1
  Document            1

full — все свойства + полный список объектов

Выводит все свойства по категориям (скалярные, enum, ref), полный список ChildObjects поимённо, DefaultRoles и мобильные функциональности.

cf-edit — операции

Свойства

# Скалярные и enum
-Operation modify-property -Value "Version=2.0.0.1 ;; Vendor=Фирма 1С ;; CompatibilityMode=Version8_3_27"

# Многоязычные (LocalString)
-Operation modify-property -Value "Synonym=Моя конфигурация ;; Copyright=ООО Фирма"

# Ссылка
-Operation modify-property -Value "DefaultLanguage=Language.Русский"

Поддерживаемые свойства:

Категория Свойства
Скалярные Name, Version, Vendor, Comment, NamePrefix, UpdateCatalogAddress
LocalString Synonym, BriefInformation, DetailedInformation, Copyright, VendorInformationAddress, ConfigurationInformationAddress
Enum CompatibilityMode, ConfigurationExtensionCompatibilityMode, DefaultRunMode, ScriptVariant, DataLockControlMode, ObjectAutonumerationMode, ModalityUseMode, SynchronousPlatformExtensionAndAddInCallUseMode, InterfaceCompatibilityMode, DatabaseTablespacesUseMode, MainClientApplicationWindowMode
Ref DefaultLanguage

Состав объектов (ChildObjects)

# Добавить (вставляется в каноническую позицию — по типу, затем по алфавиту)
-Operation add-childObject -Value "Catalog.Товары ;; Document.Заказ ;; Enum.ВидыОплат"

# Удалить
-Operation remove-childObject -Value "Catalog.Устаревший"

44 типа объектов поддерживаются в каноническом порядке: Language, Subsystem, StyleItem, CommonPicture, ... IntegrationService.

Роли по умолчанию (DefaultRoles)

# Добавить
-Operation add-defaultRole -Value "ПолныеПрава"

# Удалить
-Operation remove-defaultRole -Value "ПолныеПрава"

# Заменить список целиком
-Operation set-defaultRoles -Value "ПолныеПрава ;; Администратор"

JSON mode — комбинированные операции

[
  { "operation": "modify-property", "value": "Version=2.0.0.1 ;; Vendor=Test" },
  { "operation": "add-childObject", "value": "Catalog.Товары ;; Document.Заказ" },
  { "operation": "add-defaultRole", "value": "ПолныеПрава" }
]

cf-validate — проверки

# Проверка Уровень
1 XML well-formedness, MetaDataObject/Configuration, version ERROR
2 InternalInfo: 7 ContainedObject, валидные ClassId ERROR
3 Properties: Name, Synonym, DefaultLanguage, DefaultRunMode ERROR/WARN
4 Enum-значения (11 свойств) ERROR
5 ChildObjects: валидные типы, нет дубликатов, порядок ERROR/WARN
6 DefaultLanguage ссылается на существующий Language ERROR
7 Файлы языков Languages/<name>.xml существуют WARN
8 Каталоги объектов из ChildObjects существуют WARN

Сценарии использования

Обзор существующей конфигурации

> Покажи структуру конфигурации C:\WS\cfsrc\acc_8.3.24

Claude вызовет /cf-info и покажет: имя, синоним, версию, поставщика, количество объектов по типам.

Создание новой конфигурации

> Создай пустую конфигурацию МойПроект, версия 1.0.0.1, поставщик "ООО Ромашка"

Claude вызовет /cf-init/cf-edit (Version, Vendor) → /cf-validate/cf-info.

Добавление объектов в конфигурацию

> Добавь в конфигурацию src/ справочник Контрагенты, документ ЗаказКлиента и перечисление ВидыОплат

Claude вызовет /cf-edit с add-childObject, объекты встанут в каноническом порядке.

Проверка конфигурации после изменений

> Проверь корректность конфигурации src/

Claude вызовет /cf-validate и покажет ошибки и предупреждения.

Структура корневых файлов

<OutputDir>/
├── Configuration.xml         # Свойства и состав конфигурации
├── ConfigDumpInfo.xml        # Служебный (версии объектов)
├── Ext/                      # Модули конфигурации
│   ├── ManagedApplicationModule.bsl
│   ├── SessionModule.bsl
│   └── ...
└── Languages/
    └── Русский.xml           # Язык конфигурации

Связь с другими навыками

  • /meta-compile — при создании объекта автоматически регистрирует его в Configuration.xml (вызывает логику add-childObject)
  • /subsystem-edit — при добавлении объекта в подсистему объект уже должен быть в ChildObjects
  • /cf-edit + /meta-compile — типичная связка: сначала добавить объект в конфигурацию, затем создать его исходники

Спецификации

  • 1c-configuration-spec.md — XML-формат Configuration.xml, ConfigDumpInfo.xml, Languages/, свойства, 44 типа ChildObjects