Files
cc-1c-skills/docs/web-guide.md
T
Nick Shirokov 028c5292d7 feat(web): publish WS, HTTP services and OData by default
VRD now includes <ws>, <httpServices>, <standardOdata> elements so all
service types are available out of the box. web-info shows [WS HTTP OData]
tags per publication. Docs updated with service URL patterns and scenarios.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 18:38:55 +03:00

6.5 KiB
Raw Blame History

Веб-публикация 1С

Навыки группы /web-* позволяют публиковать информационные базы 1С через Apache HTTP Server для доступа из браузера (веб-клиент). Это замыкает цикл разработки: правка исходников → загрузка → обновление БД → открытие в браузере.

Навыки

Навык Скрипт Описание
/web-publish .ps1 Публикация базы (VRD + httpd.conf + запуск Apache)
/web-info .ps1 Статус Apache и список публикаций
/web-stop .ps1 Остановка Apache
/web-unpublish .ps1 Удаление публикации (одной или всех --all)

Рабочий цикл

правки в исходниках → /db-load-xml → /db-update → /web-publish → браузер
                                                        ↑
                                   /web-info ← статус   |
                                   /web-stop ← остановка|
                                   /web-unpublish ← удаление

Типичный цикл разработки

  1. Настройка/db-list add зарегистрировать базу в .v8-project.json
  2. Загрузка/db-load-xml загрузить конфигурацию
  3. Обновление/db-update применить к БД
  4. Публикация/web-publish опубликовать базу (при первом запуске скачает Apache)
  5. Проверка — открыть http://localhost:8081/{appname} в браузере
  6. Правка — изменить исходники
  7. Синхронизация/db-load-git + /db-update
  8. Проверка — обновить страницу в браузере
  9. Завершение/web-stop остановить Apache

Конфигурация webPath в .v8-project.json

Поле webPath указывает путь к каталогу Apache. Если не задано, используется tools/apache24 от корня проекта.

{
  "v8path": "C:\\Program Files\\1cv8\\8.3.24.1691\\bin",
  "webPath": "C:\\tools\\apache24",
  "databases": [
    {
      "id": "dev",
      "name": "Разработка",
      "type": "file",
      "path": "C:\\Bases\\MyApp_Dev",
      "user": "Admin"
    }
  ],
  "default": "dev"
}

webPath — опционально. Если не задан, все навыки /web-* ищут Apache в tools/apache24.

Сценарии использования

Опубликовать базу

> Опубликуй базу bp-demo

Claude вызовет /web-publish bp-demo → скачает Apache (если нет) → сгенерирует VRD → настроит httpd.conf → запустит Apache → выдаст URL.

Проверить статус

> Что с веб-сервером?

Claude вызовет /web-info → покажет состояние Apache, порт, список публикаций, последние ошибки.

Опубликовать на другом порту

> Опубликуй ERP на порту 9090

Claude вызовет /web-publish erp --port 9090.

Сменить пользователя публикации

> Переключи публикацию bp-demo на пользователя Иванов

Claude вызовет /web-publish bp-demo с -UserName "Иванов" — перезапишет VRD с новым пользователем.

Параллельные публикации под разными пользователями

> Добавь ещё одну публикацию bp-demo под Ивановым, Admin оставь

Claude вызовет /web-publish bp-demo --appname bpdemo-ivanov --user Иванов — создаст вторую публикацию. Обе будут доступны одновременно по разным URL.

Остановить сервер

> Останови Apache

Claude вызовет /web-stop.

Удалить публикацию

> Убери публикацию bpdemo

Claude вызовет /web-unpublish bpdemo → удалит блок из httpd.conf → удалит каталог → перезапустит Apache (если есть другие публикации).

Удалить все публикации

> Удали все веб-публикации

Claude вызовет /web-unpublish --all → удалит все блоки из httpd.conf → удалит все каталоги → остановит Apache.

Работа с сервисами

Протестировать HTTP-сервис

> Вызови HTTP-сервис ОбменДанными метод ПолучитьСтатус

Claude составит curl/Invoke-WebRequest к http://localhost:8081/appname/hs/exchange/status

Проверить OData

> Покажи список справочников через OData

Claude вызовет http://localhost:8081/appname/odata/standard.odata/$metadata

Получить WSDL web-сервиса

> Покажи WSDL сервиса ОбменСВнешнимиСистемами

Claude откроет http://localhost:8081/appname/ws/ExchangeWithExternalSystems?wsdl

Ручная установка Apache

Если автоматическая загрузка невозможна (прокси, firewall), используйте флаг --manual:

> Опубликуй базу --manual

Скрипт выдаст инструкцию:

  1. Скачайте Apache Lounge (x64 VS17) с https://www.apachelounge.com/download/
  2. Распакуйте содержимое Apache24/ в tools/apache24 (или путь из webPath)
  3. Запустите команду повторно

Спецификации

  • web-spec.md — техническая спецификация (VRD, httpd.conf, wsap24.dll, portable Apache)
  • build-spec.md — пакетный режим конфигуратора 1С