Skip to content
Back to skills

1c Web Publish

ASecurity

Публикация информационной базы 1С через Apache. Используй когда пользователь просит опубликовать базу, сервисы, настроить веб-доступ, веб-клиент, открыть в браузере

  • 73 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 2, 2026
ai-agentsshellbashgitdatabase

Security analysis

A100/100

Pro scans all 3 files and shows the line behind each finding

Scanned September 2, 2026

npx -y skills add Desko77/claude-code-skills-1c --skill 1c-web-publish --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of 1c Web Publish?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for 1c Web Publish
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/desko77-1c-web-publish/badge)](https://www.skillsdirectory.com/skills/desko77-1c-web-publish)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: 1c-web-publish
description: Публикация информационной базы 1С через Apache. Используй когда пользователь просит опубликовать базу, сервисы, настроить веб-доступ, веб-клиент, открыть в браузере
argument-hint: "[database]"
allowed-tools:
  - Bash
  - Read
  - Glob
  - AskUserQuestion
---

# /web-publish - Публикация 1С через Apache

Генерирует `default.vrd`, настраивает `httpd.conf` и запускает Apache HTTP Server для веб-доступа к информационной базе. При необходимости скачивает portable Apache. Идемпотентный - повторный вызов обновляет конфигурацию.

## Usage

```
/web-publish [database]
/web-publish dev
/web-publish dev --manual
/web-publish dev --port 9090
```

## Параметры подключения

Прочитай `.v8-project.json` из корня проекта и разреши базу:
1. Если пользователь указал параметры подключения (путь, сервер) - используй напрямую
2. Если указал базу по имени - ищи по id / alias / name в `.v8-project.json`
3. Если не указал - сопоставь текущую ветку Git с `databases[].branches`
4. Если ветка не совпала - используй `default`

**ОБЯЗАТЕЛЬНО передавай все найденные параметры:**
- **`-V8Path`** - из `v8path` в `.v8-project.json`. Если не передать, скрипт автоопределит версию платформы, что может выбрать не ту версию
- **`-UserName`** - из поля `user` найденной записи базы (если есть)
- **`-Password`** - из поля `password` найденной записи базы (если есть)
- **`-ApachePath`** - из `webPath` в `.v8-project.json` (если есть)

Если файла `.v8-project.json` нет - предложи `/db-list add`.

## Команда

```powershell
powershell.exe -NoProfile -File skills/1c-web-publish/scripts/web-publish.ps1 <параметры>
```

### Параметры скрипта

| Параметр | Обязательный | Описание |
|----------|:------------:|----------|
| `-V8Path <путь>` | нет | Каталог bin платформы (для wsap24.dll) |
| `-InfoBasePath <путь>` | * | Файловая база |
| `-InfoBaseServer <сервер>` | * | Сервер 1С (для серверной базы) |
| `-InfoBaseRef <имя>` | * | Имя базы на сервере |
| `-UserName <имя>` | нет | Имя пользователя |
| `-Password <пароль>` | нет | Пароль |
| `-AppName <имя>` | нет | Имя публикации (по умолчанию из имени каталога базы) |
| `-ApachePath <путь>` | нет | Корень Apache (по умолчанию `tools/apache24`) |
| `-Port <порт>` | нет | Порт (по умолчанию `8081`) |
| `-Manual` | нет | Не скачивать - только проверить и дать инструкцию |

> `*` - нужен либо `-InfoBasePath`, либо пара `-InfoBaseServer` + `-InfoBaseRef`

## Несколько пользователей одной базы

Повторный вызов с тем же AppName **заменяет** публикацию (идемпотентность). Это используется для:
- смены пользователя: "опубликуй под Ивановым" → тот же AppName, новый `-UserName`
- перезапуска после `/web-stop`: тот же вызов поднимает Apache обратно

Если пользователь просит **параллельную** публикацию под другим пользователем (для тестирования разных наборов прав), добавь суффикс к AppName:
- база `bpdemo`, пользователь `Иванов` → `-AppName bpdemo-ivanov`
- база `bpdemo`, пользователь `Admin` → `-AppName bpdemo-admin` (или просто `bpdemo`)

Ключевые слова: "еще одну публикацию", "дополнительно", "параллельно", "под другим пользователем не убирая текущую".

## После выполнения

1. Сообщи URL-ы:
   - Веб-клиент: `http://localhost:{Port}/{AppName}`
   - OData: `http://localhost:{Port}/{AppName}/odata/standard.odata`
   - HTTP-сервисы: `http://localhost:{Port}/{AppName}/hs/<RootUrl>/...`
   - Web-сервисы: `http://localhost:{Port}/{AppName}/ws/<Имя>?wsdl`
2. Предложи открыть в браузере
3. Если нужно протестировать сервис - помоги составить запрос
4. Если база не зарегистрирована - предложи `/db-list add`

## Примеры

```powershell
# Файловая база
powershell.exe -NoProfile -File skills/1c-web-publish/scripts/web-publish.ps1 -InfoBasePath "C:\Bases\MyDB" -UserName "Admin"

# С явным именем публикации и портом
powershell.exe -NoProfile -File skills/1c-web-publish/scripts/web-publish.ps1 -InfoBasePath "C:\Bases\MyDB" -AppName "mydb" -Port 9090

# Серверная база
powershell.exe -NoProfile -File skills/1c-web-publish/scripts/web-publish.ps1 -InfoBaseServer "srv01" -InfoBaseRef "MyDB" -UserName "Admin" -Password "secret"

# Ручной режим (только инструкция)
powershell.exe -NoProfile -File skills/1c-web-publish/scripts/web-publish.ps1 -InfoBasePath "C:\Bases\MyDB" -Manual
```

Files in this skill

  • SKILL.md5.9 KB
  • scripts/web-publish.ps114.5 KB
  • scripts/web-publish.py17.1 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.