Документация

1С (OData)

SUMMING подключается к 1С через стандартный REST/OData интерфейс. Работает с любой конфигурацией (УТ, ERP, Бухгалтерия, Розница, ЗУП, custom) — если в конфигураци

SUMMING подключается к 1С через стандартный REST/OData интерфейс. Работает с любой конфигурацией (УТ, ERP, Бухгалтерия, Розница, ЗУП, custom) — если в конфигурации включён OData service, SUMMING умеет читать и записывать.

1. Включите OData в 1С

На стороне вашего 1С-администратора:

  1. Открыть конфигуратор → «Администрирование»«Публикация на веб-сервере»
  2. Галочки:
    • «Публиковать стандартный интерфейс OData»
    • «Публиковать тонкий клиент» (опционально)
  3. Применить → сервер публикации (обычно Apache / IIS) перезапустится
  4. Убедитесь что https://your-1c-server.ru/InfoBaseName/odata/standard.odata/ отдаёт XML metadata (браузером)

2. Заведите пользователя для SUMMING

Рекомендуем отдельного пользователя 1С (не админ'а):

  1. Конфигуратор → «Администрирование»«Пользователи»«Добавить»
  2. Имя: opora-integration
  3. Пароль: openssl rand -base64 24
  4. Роли: только нужные (например «Оператор продаж» если SUMMING только создаёт документы реализации; полный админ-доступ не нужен)
  5. Сохранить

3. Сохраните в SUMMING

SettingsSecrets:

  • onec-url: полный URL OData endpoint'а (https://your-1c-server.ru/ InfoBaseName/odata/standard.odata)
  • onec-username: opora-integration
  • onec-password: пароль

4. Доступные ноды

НодаЧто делает
onec.odata.listGET коллекции сущностей с $filter / $select / $top / $skip / $orderby
onec.odata.getGET одной сущности по guid'у
onec.odata.createPOST — создание
onec.odata.updatePATCH — обновление по guid'у

5. Пример: создать документ реализации

yookassa.webhook.trigger (event: payment.succeeded)
    ↓
data_table.rows.get
  table = "orders"
  filter = {payment_id: {{trigger.object.id}}}
    ↓
onec.odata.create
  entity = "Document_РеализацияТоваровУслуг"
  data = {
    "Номер": "{{get.row.order_number}}",
    "Дата": "{{get.row.created_at}}",
    "Контрагент_Key": "{{get.row.customer_guid}}",
    "Организация_Key": "00000000-0000-0000-0000-000000000042",
    "СуммаДокумента": {{trigger.object.amount.value}}
  }

Имена сущностей и полей зависят от вашей конфигурации 1С — смотрите metadata (/$metadata endpoint) чтобы узнать точные имена. Кириллица в именах — нормально, SUMMING URL-encode'ит сам.

Имена полей в конфигурациях

УТ 11.5:

  • Document_РеализацияТоваровУслуг
  • Catalog_Контрагенты
  • Catalog_Номенклатура

ERP 2.x:

  • Document_ЗаказКлиента
  • Document_РеализацияТоваровУслуг
  • Catalog_Партнеры

Бухгалтерия 3.0:

  • Document_РеализацияТоваровУслуг
  • Document_СчетНаОплатуПокупателю

Полный список генерируется автоматически 1С'ом и виден в $metadata.

Filter syntax

OData-фильтры через $filter:

onec.odata.list
  entity = "Catalog_Контрагенты"
  filter = "НаименованиеПолное eq 'ООО Ромашка'"
  select = "Ref_Key,Наименование,ИНН"
  top = 10

Операторы: eq, ne, gt, lt, ge, le, and, or, startswith(Наименование, 'Ромашка'), contains(...).

Troubleshooting

401 при вызове

  • Пользователь / пароль не верен
  • Или: в 1С пользователь залочен Блокировать вход → разблокировать в «Администрирование → Пользователи»
  • Или: OData не опубликован (вернитесь к § 1)

500 Internal Server Error

  • Чаще всего — имя сущности неверное (опечатка в кириллице). Проверьте $metadata
  • Для create / update: проверьте обязательные поля конфигурации. Документ не может быть создан без, например, Организация и Контрагент

Таймауты на больших выборках

1С-сервер медленный, SUMMING по умолчанию даёт 30 секунд. Для массовых импортов используйте top + skip пагинацию и control.foreach с малым concurrency.

«Не указан измерение регистра»

Проводимые документы часто требуют дополнительных реквизитов (например, склад). 1С вернёт это в теле ошибки — читайте внимательно.

Связанное

  • МойСклад — альтернатива 1С для SaaS-учёта (гайд в следующей итерации; пока moysklad.customerorder.create нода работает аналогично — см. providers matrix)
  • Order-to-1C pipeline — cookbook-рецепт в подготовке; пока see «Refund coordinator» как reference, 1С-часть паттерна та же