Зачем это нужно
Если у вас есть внешняя система — интернет-магазин, CRM, личный кабинет клиента, маркетплейс, — которой нужно самостоятельно выставлять счета в 1С без участия бухгалтера, стандартными средствами 1С:Бухгалтерии 3.0 это сделать напрямую нельзя: нет готового API для создания документов «извне». Расширение закрывает этот пробел одним HTTP-сервисом.
Как это работает
- Приём запроса. Внешняя система отправляет POST-запрос с ИНН контрагента, ИНН вашей организации, email покупателя и списком позиций (код номенклатуры, количество, цена, ставка НДС).
- Контрагент. Сервис ищет контрагента по ИНН. Если не находит — создаёт нового. В обоих случаях реквизиты (наименование, КПП, юридический адрес) обновляются из ЕГРЮЛ/ЕГРИП через штатный сервис «1С:Контрагент» — так же, как при нажатии кнопки «Заполнить по ИНН» в карточке контрагента.
- Цена. Если цена по позиции не передана (или равна 0), сервис берёт её из регистра сведений «Цены номенклатуры» по типу цен «Основная цена продажи» на текущую дату.
- Счёт. Формируется и проводится документ «Счёт на оплату покупателю»: организация, банковский счёт получателя, подписи руководителя и главного бухгалтера (из регистра «Ответственные лица организаций»), печать — всё заполняется автоматически, без ручной донастройки после создания.
- Письмо. Печатная форма счёта формируется тем же макетом, что и стандартная кнопка «Печать», с подписями и печатью на изображении. PDF отправляется на указанный email с системной учётной записи электронной почты 1С.
Пример запроса
POST /hs/invoice/create
Content-Type: application/json
{
"ИНН": "7701000000",
"ИННОрганизации": "7701000000",
"Email": "buyer@example.com",
"Позиции": [
{"КодНоменклатуры": "00001", "Количество": 2, "Цена": 1500.00, "СтавкаНДС": "20"},
{"КодНоменклатуры": "00002", "Количество": 1, "Цена": 0, "СтавкаНДС": "БезНДС"}
]
}
Через CURL
curl -X POST "http://localhost/basename/hs/invoice/create" -u "ИмяПользователя:пароль" -H "Content-Type: application/json; charset=utf-8" -d "@C:\TEST\test_request.json"
test_request.json содержит запрос JSON
{
"ИНН": "7701000000",
"ИННОрганизации": "7701000000",
"Email": "buyer@example.com",
"Позиции": [
{"КодНоменклатуры": "00001", "Количество": 2, "Цена": 1500.00, "СтавкаНДС": "20"},
{"КодНоменклатуры": "00002", "Количество": 1, "Цена": 0, "СтавкаНДС": "БезНДС"}
]
}
Ответ содержит идентификаторы созданных контрагента и счёта, номер счёта, сумму документа и признак отправки письма.
Что нужно для работы
- 1С:Бухгалтерия предприятия, редакция 3.0.
- Опубликованная информационная база (HTTP-сервисы 1С работают через веб-сервер).
- Для автообновления из ЕГРЮЛ/ЕГРИП — подключённый сервис «1С:Контрагент» (интернет-поддержка пользователей, подписка ИТС).
- Настроенная и помеченная как системная учётная запись электронной почты — для отправки писем.
- Заполненные в карточках организаций: основной банковский счёт и ответственные лица (руководитель, главный бухгалтер) — иначе эти поля просто останутся пустыми в счёте, как и при обычной ручной печати.
- Создать пользователя, под которым вызывается HTTP запрос и дать право "HTTP "Создание счета" (ПОЛЕТ)"
Особенности реализации
Расширение не модифицирует типовую конфигурацию — только добавляет HTTP-сервис и общий модуль. Права повышаются программно (`УстановитьПривилегированныйРежим`) только на время выполнения запроса, без изменения ролей пользователей. Формирование печатной формы со штампом подписи/печати воспроизводит тот же внутренний механизм, что использует стандартная кнопка «Печать» документа.
Проверено на следующих конфигурациях и релизах:
- Бухгалтерия предприятия, редакция 3.0, релизы 3.0.201.16
Вступайте в нашу телеграмм-группу Инфостарт