1c-batch

A skill for 1C platform batch operations: build and unpack data processors, load and dump configurations and extensions, launch the base

SkillHigh riskRussian stack

vladimir-kharin/1c-batch

Install

Copy src/1c-batch from the vladimir-kharin/1c-batch repository into the project's .claude/skills and create .1c-devbase.ps1 from assets/.1c-devbase.ps1.example. Add the file to .gitignore.

This is third-party code. Review the repository files before installing.

What it does

The skill gives the agent PowerShell scripts, with fallback bat versions, for running Designer in batch mode. The agent builds external data processors and reports from XML and unpacks them back, loads and dumps the configuration fully or partially, and handles extensions as XML or cf and cfe files. It can also open the base in Enterprise or Designer mode. Connection settings come from a config file in the project root, so the agent does not need to know paths or passwords.

Who it is for. For 1C developers who keep sources in git and want the agent to build and load them into the base.

Good fit when

  • The agent edited processor XML and needs to build the epf
  • You need to load configuration changes from files into the dev base
  • You need to dump an extension to XML for a commit

Not a fit when

  • You need to write or edit code; the skill is not for that
  • You develop outside Windows

Example request

Build the processor from src/epf/ЗагрузкаЦен.xml into build and load the extension changes into the dev base

Limitations

Scripts target Windows and an installed 1C:Enterprise 8 platform. The .1c-devbase.ps1 file holds credentials; save it as UTF-8 with BOM and add it to .gitignore.

How to disable. Delete the 1c-batch folder from the project's .claude/skills.

Security check

  • Loads configurations and extensions into the infobase
  • Keeps infobase credentials in a project file

README in short

The README briefly explains the Agent Skills format and lists the skill's operations in a table. Installation is copying src/1c-batch into the project's skills directory. Setup uses a .1c-devbase.ps1 file with the platform path, server or file base and credentials. MIT licensed.

SKILL.md

---
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
```

FAQ

Why PowerShell instead of bat?

cmd reads UTF-8 bat files with Cyrillic unreliably, and connection variables may end up empty. PowerShell reads UTF-8 properly.

Are server bases supported?

Yes, the settings file takes a server and base name, or a file base path.

Editors’ pick

An MCP server built into the Netdata agent: metrics, logs, alerts and live process, service and container data for an AI assistant

MCP serverMedium risk80.5K
Editors’ pick

GitHub's official MCP server: code, issues, pull requests, Actions and security alerts straight from the agent

MCP serverHigh risk32.9K
Editors’ pick

A GitHub Action that runs Claude Code in pull requests and issues: answers mentions, reviews and makes changes

PluginHigh risk8.9K
Editors’ pick

An AI assistant for Kubernetes that turns plain-language requests into kubectl operations and doubles as an MCP server

CLIHigh risk7.6K