Files
cc-1c-skills/docs/build-spec.md
T
Nick Shirokov be216cd064 Document CatalogRef XDTO build failure in empty database
Verified experimentally: EPF build with CatalogRef/DocumentRef
types fails with XDTO exception in empty database (not silent
UUID substitution as previously documented). Updated epf-build,
form-compile, and build-spec accordingly.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 14:11:23 +03:00

75 lines
4.8 KiB
Markdown

# Сборка и разборка внешних обработок 1С (EPF/ERF)
## Общие сведения
Конфигуратор 1С:Предприятия 8.3 поддерживает пакетный режим для сборки `.epf`/`.erf` файлов из XML-исходников и обратной разборки. Это позволяет хранить исходники в Git и собирать бинарные файлы по необходимости.
**Требования**: для работы команд необходимо подключение к информационной базе (может быть пустой).
## Команды
### Сборка (XML → EPF)
```
1cv8.exe DESIGNER /F <путь_к_базе> /DisableStartupDialogs /LoadExternalDataProcessorOrReportFromFiles <корневой_xml> <путь_к_epf> /Out <лог_файл>
```
| Параметр | Описание |
|----------|----------|
| `/F <путь>` | Путь к файловой информационной базе |
| `/S <строка>` | Строка подключения к серверной базе (альтернатива `/F`) |
| `/N <имя> /P <пароль>` | Аутентификация (если требуется) |
| `/DisableStartupDialogs` | Подавляет GUI-диалоги (обязательно для пакетного режима) |
| `<корневой_xml>` | Путь к корневому XML-файлу обработки (например, `src\МояОбработка.xml`) |
| `<путь_к_epf>` | Путь к выходному файлу `.epf` или `.erf` |
| `/Out <лог>` | Файл для записи лога операции |
> **Важно**: первый аргумент — путь к **корневому XML-файлу** (не к каталогу). Если указать каталог, конфигуратор вернёт ошибку.
### Разборка (EPF → XML)
```
1cv8.exe DESIGNER /F <путь_к_базе> /DisableStartupDialogs /DumpExternalDataProcessorOrReportToFiles <каталог_выгрузки> <путь_к_epf> [-Format Hierarchical] /Out <лог_файл>
```
| Параметр | Описание |
|----------|----------|
| `<каталог_выгрузки>` | Каталог для XML-файлов |
| `<путь_к_epf>` | Исходный файл `.epf` или `.erf` |
| `-Format Hierarchical` | Иерархическая структура каталогов (по умолчанию) |
| `-Format Plain` | Плоская структура |
### Коды возврата
| Код | Значение |
|-----|----------|
| `0` | Успешно |
| `1` | Ошибка |
| `101` | Ошибка данных |
### Создание пустой ИБ
```
1cv8.exe CREATEINFOBASE File="<путь_к_каталогу_базы>"
```
Создаёт файловую ИБ в указанном каталоге. Необходима для пакетного режима конфигуратора.
## Примечания
- Пустая ИБ достаточна для сборки, если обработка не ссылается на объекты конфигурации.
- Если обработка использует ссылочные типы конфигурации (`CatalogRef.*`, `DocumentRef.*` и т.п.) — в реквизитах объекта, табличных частях или реквизитах форм — **сборка в пустой базе упадёт** с ошибкой XDTO. Платформа не может резолвить типы, отсутствующие в конфигурации. Необходима база с целевой конфигурацией.
- Путь к `1cv8.exe` зависит от установленной версии платформы (например, `C:\Program Files\1cv8\8.3.27.1859\bin\1cv8.exe`).
- `/DisableStartupDialogs` — подавляет интерактивные диалоги (например, «ИБ не обнаружена»), без него конфигуратор может зависнуть в ожидании пользовательского ввода.
- Первый аргумент `/LoadExternalDataProcessorOrReportFromFiles` — путь к корневому XML-файлу, а **не** к каталогу.
## Claude Code Skills
Сборка и разборка доступны как навыки Claude Code:
- `/epf-build` — документация по сборке EPF из XML
- `/epf-dump` — документация по разборке EPF в XML
Переменные окружения:
- `V8_PATH` — каталог `bin` платформы 1С (например, `C:\Program Files\1cv8\8.3.27.1859\bin`)
- `V8_BASE` — путь к пустой ИБ (создаётся автоматически при первом запуске)