api-design
Проектирование и ревью API 1С: публичный программный интерфейс, служебный интерфейс, переопределяемые модули, совместимость,…
Создать пустой make-ready scaffold внешнего отчёта 1С (ERF) в корне Designer/platform-XML external source-set, с модулем объекта и опциональной управляемой формой. Используй при запросе создать новый внешний отчёт с нуля; не используй для обычного Report внутри конфигурации.
$ npx -y skills add IngvarConsulting/unica --skill erf-init --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/erf-initContext preview
The summary Claude sees to decide when to auto-load this skill.
Создать пустой make-ready scaffold внешнего отчёта 1С (ERF) в корне Designer/platform-XML external source-set, с модулем объекта и опциональной управляемой формой. Используй при запросе создать новый внешний отчёт с нуля; не используй для обычного Report внутри конфигурации.
name: erf-init description: Создать пустой make-ready scaffold внешнего отчёта 1С (ERF) в корне Designer/platform-XML external source-set, с модулем объекта и опциональной управляемой формой. Используй при запросе создать новый внешний отчёт с нуля; не используй для обычного Report внутри конфигурации.
правит существующий узел; дескриптор внешнего объекта вне конфигурации ни одна операция не заводит.
ниже, объяви набор нужного типа в `v8project.yaml`, затем проверь `unica.check {}` и прочитай `unica.view {}`: набор обязан читаться как `sourceFormat=platform_xml`.
`.cf` и `.cfe`. Сообщай это как пробел контракта, а не обходи runner-ом.
контракт каждой — `argsSchema`, `execution`, `previewRequired`, `dryRunRequired`. Контракт вызова бери оттуда, а не из этого текста; при `implemented: true` используй опубликованную `argsSchema`; при `support.state: limited` разрешено только подмножество `support.supportedArgs`. При `support.state: unavailable` остановись; не выдумывай аргументов при `argsSchema: null`. Для плановой операции сначала проверь результат `dryRun: true`, затем исполняй запрос с `dryRun: false`. Preview не фиксирует входы между вызовами. Не обходи контракт прямым runner-ом.
1. Убедиться, что `v8project.yaml` использует Designer mode: явно `format: DESIGNER` либо поле `format` отсутствует и действует Designer default v8-runner. Skill создаёт platform XML, а EDT external-project layout не поддерживается. 2. Сохранить существующие `workPath`, `infobase`, credentials и local overrides. Не заменять connection string и не инициализировать существующую ИБ ради scaffold. 3. Найти source-set с `type: EXTERNAL_REPORTS` и передать его `path` как `OutputDir` без вложенного подкаталога. v8-runner ищет descriptors непосредственно в корне source-set. 4. Если source-set ещё не объявлен, создать scaffold в выбранном новом каталоге, затем явно добавить этот каталог как корень Designer source-set. Проверить регистрацию через `unica.view {}`: `kind=external_report`, `sourceFormat=platform_xml`. 5. Передать `FormName`, только если нужна пустая управляемая форма. Без него создаются descriptor и `ObjectModule.bsl`; пустая СКД автоматически не добавляется. 6. Записав файлы, проверить набор: `unica.check {}` и `unica.view {}` — превью и применение тут не при чём, операции нет. 7. Добавлять СКД позже через `dcs-*`/`template-*`. Публикацию артефакта не обещать: `make` в `unica.run` `.erf` не собирает и отвечает `unsupported_operation`.
`Name` и `FormName` должны быть идентификаторами 1С. Существующие descriptor или одноимённый каталог не перезаписываются. При `format: EDT` остановиться и объяснить несовместимость, не создавать Designer XML внутри EDT source-set.
В существующем валидном `v8project.yaml` добавить только этот фрагмент, используя ключ `source-set` в единственном числе и не затирая остальные поля:
source-set:
- name: external-reports
type: EXTERNAL_REPORTS
path: src/external-reportsДля нового изолированного workspace полный минимальный пример имеет также обязательный runtime-контекст. `v8project.yaml`:
workPath: build/runtime
format: DESIGNER
source-set:
- name: external-reports
type: EXTERNAL_REPORTS
path: src/external-reportsБаза этой машины описывается в `v8project.local.yaml`:
infobases:
origin:
connection: 'File=build/ib'Ключ `execution_timeout` не пиши: раннер его не поддерживает, и Unica отказывает в запуске с ним.
Не вызывай `infobase.create` ради scaffold или существующей проектной базы: он заводит базу, а для scaffold это не нужно. Для существующей connection сохранить настройки без переинициализации; `db-auth-check` может классифицировать только уже предоставленное runtime evidence и не запускает auth probe.
| Параметр | Назначение | | --- | --- | | `Name` | Имя внешнего отчёта, обязательно | | `Synonym` | Русский синоним; по умолчанию равен `Name` | | `OutputDir` | Корень external source-set, обязательно | | `FormName` | Опциональная пустая управляемая форма |
Поля, которые должен нести записанный дескриптор:
{
"Name": "Остатки",
"Synonym": "Остатки товаров",
"OutputDir": "src/external-reports",
"FormName": "ФормаОтчета"
}Проверь результат до того, как объявлять объект готовым. Проверить, что созданы `<Name>.xml`, `<Name>/Ext/ObjectModule.bsl` и, если запрошена форма, три файла под `<Name>/Forms/`. Форму дополнительно проверить `unica.check` по адресу её узла. Отдельный generic Meta validator не использовать: он не принимает root `ExternalReport`. Не создавать `Configuration.xml`, platform-generated CDFI sidecar или СКД без запроса; legitimate external descriptor может называться `ConfigDumpInfo.xml`, если пользователь выбрал такое имя объекта.
Сборку и загрузку артефакта словарь `unica.run` не публикует: `make` отвечает `unsupported_operation` на `.epf`/`.erf`, а `upload` сейчас недоступен вовсе. Сообщай публикацию как пробел контракта Unica MCP.
Unica (Ю́ника) — плагин для Codex, Claude Code и ZCode для разработки на 1С:Предприятии.
Проектирование и ревью API 1С: публичный программный интерфейс, служебный интерфейс, переопределяемые модули, совместимость,…
Автономный сервер отладки 1С. Используй когда нужно развернуть или проанализировать локальный автономный контур для отладки…
Фоновые и регламентные задания 1С. Используй когда нужно спроектировать, проверить или диагностировать background jobs,…
Поиск и применение паттернов БСП. Используй когда задача про длительные операции, профили групп доступа, безопасное хранение,…
Точечное редактирование конфигурации 1С. Используй когда нужно изменить свойства конфигурации, добавить или удалить объект из…
Создать пустую конфигурацию 1С (scaffold XML-исходников). Используй когда нужно начать новую конфигурацию с нуля