Пакетные операции с платформой 1С:Предприятие 8 через командный запуск конфигуратора. Сборка/разборка внешних обработок (.epf/.erf) в XML, загрузка/выгрузка конфигураций и расширений (XML и бинарные .cf/.cfe), запуск предприятия и конфигуратора. Используй, когда нужно выполнить операцию над файлами исходников или базой: собрать или разобрать обработку/отчёт, загрузить или выгрузить в XML конфигурацию или расширение, собрать или загрузить файл .cf/.cfe, запустить 1С:Предприятие или конфигурато...
Scanned 9/28/2026
Install to Claude Code
npx -y skills add mr-ske1r/1c-ai-devstart --skill 1c-batch --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of 1c Batch?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/mr-ske1r-1c-batch)More formats (shields.io, HTML) on the badges page.
---
name: 1c-batch
description: "Пакетные операции с платформой 1С:Предприятие 8 через командный запуск конфигуратора. Сборка/разборка внешних обработок (.epf/.erf) в XML, загрузка/выгрузка конфигураций и расширений (XML и бинарные .cf/.cfe), запуск предприятия и конфигуратора. Используй, когда нужно выполнить операцию над файлами исходников или базой: собрать или разобрать обработку/отчёт, загрузить или выгрузить в XML конфигурацию или расширение, собрать или загрузить файл .cf/.cfe, запустить 1С:Предприятие или конфигуратор. Не для написания и правки кода."
---
# 1c-batch
Пакетные операции с платформой 1С.
## Варианты запуска: PowerShell (предпочтительный) и .bat (дополнительный)
Каждый скрипт существует в двух версиях с одинаковыми именами и параметрами:
| Вариант | Файлы | Статус |
|---|---|---|
| **PowerShell** | `scripts/*.ps1` | **предпочтительный** |
| Командный (cmd) | `scripts/*.bat` | дополнительный (fallback) |
**Почему PowerShell предпочтителен.** `cmd.exe` под `chcp 65001` ненадёжно читает `.bat` в UTF-8 с кириллицей: он «сползает» по границам строк на многобайтных символах, из-за чего настроечный файл может распарситься неверно (переменные подключения окажутся пустыми). Сломается конкретный файл или нет — зависит от его побайтовой раскладки. PowerShell читает UTF-8 нативно и лишён этой проблемы.
Используй `.bat` только если PowerShell недоступен.
### Настроечный файл (.1c-devbase)
- **PowerShell:** `.1c-devbase.ps1` (переменные `$ONEC_PATH`, `$ONEC_SERVER`, `$ONEC_BASE`, `$ONEC_USER`, `$ONEC_PASSWORD`; либо `$ONEC_FILEBASE_PATH`). Шаблон — `assets/.1c-devbase.ps1.example`.
- **Сохранять в UTF-8 С BOM.** Windows PowerShell 5.1 читает `.ps1` без BOM как ANSI и портит кириллицу (например, имя пользователя «Администратор»).
- **cmd:** `.1c-devbase.bat` (шаблон `assets/.1c-devbase.bat.example`).
Файл кладётся в **корень проекта** (или в подпапку **`tools\`**, чтобы не засорять корень — скрипты ищут оба места) и не коммитится в git.
### Как запускать (из корня проекта)
```bash
# PowerShell (предпочтительно)
powershell.exe -NoProfile -ExecutionPolicy Bypass -File .claude/skills/1c-batch/scripts/build-epf.ps1 src/epf/МояОбработка.xml build/МояОбработка.epf
# cmd (дополнительно)
.claude/skills/1c-batch/scripts/build-epf.bat src/epf/МояОбработка.xml build/МояОбработка.epf
```
> Ниже команды показаны в PowerShell-форме. Для .bat — то же имя с расширением `.bat` и те же параметры.
---
## Работа с обработками
### build-epf — сборка обработки из XML
```
build-epf.ps1 <XML_FILE> <OUTPUT_FILE>
```
- `XML_FILE` — корневой XML-файл обработки
- `OUTPUT_FILE` — путь к результирующему файлу `.epf` или `.erf`
### dump-epf — разборка обработки в XML
```
dump-epf.ps1 <XML_FILE> <EPF_FILE>
```
- `XML_FILE` — корневой XML-файл для выгрузки (папка создастся автоматически)
- `EPF_FILE` — путь к исходной обработке `.epf` или `.erf`
(`dump-epf-crlf` — то же, вариант для совместимости.)
---
## Работа с конфигурацией
### load-config — загрузка конфигурации из XML
```
load-config.ps1 <XML_DIR> [FILES] [skipdbupdate]
```
- `XML_DIR` — папка с XML-файлами конфигурации
- `FILES` — (опционально) список файлов через запятую для частичной загрузки
- `skipdbupdate` — (опционально) пропустить обновление конфигурации БД
**По умолчанию после загрузки выполняется обновление конфигурации БД.**
Примеры:
```
# Полная загрузка
load-config.ps1 src/cf
# Частичная загрузка одного модуля
load-config.ps1 src/cf "CommonModules/МойМодуль/Ext/Module.bsl"
# Частичная загрузка нескольких файлов
load-config.ps1 src/cf "CommonModules/Мод1/Ext/Module.bsl,CommonModules/Мод2/Ext/Module.bsl"
```
### dump-config — выгрузка конфигурации в XML
```
dump-config.ps1 <XML_DIR> [update]
```
- `XML_DIR` — папка для выгрузки
- `update` — (опционально) инкрементальная выгрузка (только изменения)
### dump-cf — выгрузка конфигурации в файл .cf
```
dump-cf.ps1 <CF_FILE>
```
- `CF_FILE` — путь к результирующему файлу `.cf` (папка создастся автоматически)
### load-cf — загрузка конфигурации из файла .cf
```
load-cf.ps1 <CF_FILE> [skipdbupdate]
```
- `CF_FILE` — путь к файлу `.cf`
- `skipdbupdate` — (опционально) пропустить обновление конфигурации БД
**По умолчанию после загрузки выполняется обновление конфигурации БД.**
**ВНИМАНИЕ: операция полностью перезаписывает конфигурацию базы** — см. «Правила использования».
---
## Работа с расширениями
### load-extension — загрузка расширения из XML
```
load-extension.ps1 <XML_DIR> <EXT_NAME> [skipdbupdate]
```
- `XML_DIR` — папка с XML-файлами расширения
- `EXT_NAME` — имя расширения в базе (если не существует — будет создано)
- `skipdbupdate` — (опционально) пропустить обновление расширения в БД
**По умолчанию после загрузки выполняется обновление расширения в БД.**
### dump-extension — выгрузка расширения в XML
```
dump-extension.ps1 <XML_DIR> <EXT_NAME> [update]
```
- `XML_DIR` — папка для выгрузки
- `EXT_NAME` — имя расширения в базе
- `update` — (опционально) инкрементальная выгрузка (только изменения)
### dump-cfe — выгрузка расширения в файл .cfe
```
dump-cfe.ps1 <CFE_FILE> <EXT_NAME>
```
- `CFE_FILE` — путь к результирующему файлу `.cfe` (папка создастся автоматически)
- `EXT_NAME` — имя расширения в базе
### load-cfe — загрузка расширения из файла .cfe
```
load-cfe.ps1 <CFE_FILE> <EXT_NAME> [skipdbupdate]
```
- `CFE_FILE` — путь к файлу `.cfe`
- `EXT_NAME` — имя расширения в базе (если не существует — будет создано)
- `skipdbupdate` — (опционально) пропустить обновление расширения в БД
**По умолчанию после загрузки выполняется обновление расширения в БД.**
**ВНИМАНИЕ: операция полностью перезаписывает расширение в базе** — см. «Правила использования».
---
## Запуск 1С
### run-enterprise — запуск предприятия
```
run-enterprise.ps1 [EPF_FILE]
```
- `EPF_FILE` — (опционально) обработка для автооткрытия
### run-designer — запуск конфигуратора
```
run-designer.ps1
```
---
## Сценарии использования
### Исправить ошибку в обработке
1. Разобрать: `dump-epf.ps1 src/epf/МояОбработка.xml D:/Исходная.epf`
2. Отредактировать BSL-файлы в `src/epf/МояОбработка/`
3. Собрать: `build-epf.ps1 src/epf/МояОбработка.xml build/МояОбработка.epf`
4. Проверить: `run-enterprise.ps1 build/МояОбработка.epf`
### Загрузка изменённого модуля
После редактирования BSL-файла загрузить его в базу:
```
load-config.ps1 src/cf "CommonModules/МойМодуль/Ext/Module.bsl"
```
### Обновить расширение
1. Выгрузить: `dump-extension.ps1 src/cfe/МоёРасширение МоёРасширение`
2. Внести изменения
3. Загрузить: `load-extension.ps1 src/cfe/МоёРасширение МоёРасширение`
### Собрать артефакт расширения (.cfe)
После загрузки исходников в базу собрать бинарный файл расширения:
1. Загрузить исходники: `load-extension.ps1 src/cfe/МоёРасширение МоёРасширение`
2. Собрать артефакт: `dump-cfe.ps1 build/МоёРасширение.cfe МоёРасширение`
### Доставить собранное расширение в базу без исходников
Загрузка готового `.cfe` в базу (например, обновление расширения на стенде):
```
load-cfe.ps1 build/МоёРасширение.cfe МоёРасширение
```
---
## Правила использования
**При выгрузке конфигурации или расширения в XML:** если пользователь явно не указал тип выгрузки (полная или инкрементальная), спросить его перед выполнением:
- Полная выгрузка — выгружает все объекты заново
- Инкрементальная (`update`) — выгружает только изменённые объекты (быстрее)
**Перед load-cf / load-cfe:** операция полностью перезаписывает конфигурацию (расширение) базы. Перед запуском обязательно явно подтвердить у пользователя: в какую базу грузим и из какого файла. Без подтверждения не запускать.
---
## Важно
- **Обработки:** первый параметр — XML-файл, второй — выходной файл
- **Конфигурация/расширения (XML):** первый параметр — папка
- **Конфигурация/расширения (бинарные):** первый параметр — файл `.cf`/`.cfe`
- При ошибке — код возврата `1`
- Скрипты дожидаются завершения конфигуратора (`Start-Process -Wait`); не запускай несколько пакетных операций над одной базой одновременно
- **НЕ ЧИТАЙ СКРИПТЫ, А ТОЛЬКО ЗАПУСКАЙ ИХ**
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!