«Интеграция с 1С — это надолго» — миф, который откладывает запуск на месяцы. Для сценария «счета, акты, контрагенты через HTTP» тестовый стенд REST API реально поднять за один рабочий день, если следовать чек-листу. Ниже — пошаговый план для backend-разработчика без глубокого опыта 1С.
Что понадобится
- Тестовая база 1С:Бухгалтерия предприятия 3.0 (копия обезличенной боевой или демо с сайта 1С).
- Сервер с IIS или Apache, на котором уже публиковали веб-сервисы 1С (или виртуалка под это).
- Postman, Insomnia или curl.
- Расширение bit_http_api — с страницы продукта.
Утро (2–3 часа): 1С и публикация
- Установите расширение в конфигураторе или через «Расширения» в пользовательском режиме.
- Создайте пользователя
api_testс рольюbitHttpApi_ОсновнаяРоль. - Опубликуйте HTTP-сервис на веб-сервере — путь вида
/base_name/hs/bit_http_api/. - Проверьте доступность GET-запросом с Basic Auth (даже 401/404 подскажут, где ошибка публикации).
- Убедитесь, что время на сервере синхронизировано (NTP) — иначе странные ошибки в логах.
День (2–3 часа): первые документы
Контрагент
POST или GET /counterparties — создайте тестового партнёра с ИНН и наименованием. Проверьте карточку в 1С.
Счёт
POST /invoices с JSON-телом по схеме из Swagger: контрагент, строки номенклатуры или услуг, сумма. Откройте документ в 1С — номер, дата, проведение.
Акт
POST /acts — аналогично. При необходимости привяжите к тому же контрагенту.
Если в ответе есть ссылка на PDF — скачайте и сверьте реквизиты. Если нет — проверьте печатную форму в конфигурации.
Вечер (1–2 часа): передача команде
- Зафиксируйте base URL, логин и пароль тестового пользователя в секрет-хранилище (не в git).
- Экспортируйте коллекцию Postman из Swagger или приложите примеры curl из документации.
- Опишите коды ошибок, которые видели, и как их устранили.
- Запланируйте нагрузочный тест: 10–50 последовательных POST — нет ли блокировок.
Типовые проблемы в первый день
- 401 Unauthorized — неверный Basic Auth или пользователь без роли API.
- 404 — неверный путь публикации или не перезапустили веб-сервер после публикации.
- 500 от 1С — смотрите журнал регистрации 1С; часто не заполнено обязательное поле в JSON.
- SSL — на тесте можно HTTP, на бой только HTTPS.
После стенда
Подключите сайт или CRM к тестовому URL. Прогоните сценарии «создание заказа → счёт → оплата → акт». Только после этого — перенос на боевую базу с отдельным пользователем API и бэкапом.
Swagger, примеры JSON и условия внедрения — REST API для 1С:Бухгалтерия. Помощь с публикацией на вашем сервере — CodeLab.