Половину подготовки делает не тот, кто задаёт вопросы к данным, а тот, кто отвечает за базу. Ниже готовый текст запроса — перешлите как есть — и одна читающая команда, которой проверяют результат.
Коротко: опубликовать базу на веб-сервере, включить стандартный интерфейс OData и внести в его состав нужные объекты, завести отдельного пользователя только на чтение. Ни расширений, ни обработок, ни кода на встроенном языке в базу не добавляется; конфигурация с поддержки не снимается.
Обращение к данным идёт только по HTTP, штатными средствами платформы. Если база уже открывается веб-клиентом, этот шаг сделан.
Состав задаётся отдельно от самой публикации, и это источник самой частой ошибки первого запуска: объекта нет в составе — он не появится в выдаче, и выдача прав тут не помогает.
Не администратор и не запись сотрудника: в журнале регистрации действия программы должны отличаться от действий людей. Роль — без прав на добавление, изменение, удаление и проведение.
Добрый день!
Нам нужен доступ к базе «1С:Предприятие» по штатному интерфейсу OData —
для чтения данных внешней программой. Ни расширений, ни обработок,
ни кода на встроенном языке в базу не добавляется; конфигурация
с поддержки не снимается.
Прошу сделать три вещи.
1. Опубликовать информационную базу на веб-сервере, если она ещё
не опубликована.
2. При публикации включить стандартный интерфейс OData и внести
в его состав объекты метаданных, к которым нужен доступ:
справочники, документы и регистры из списка ниже. Состав
задаётся отдельно от самой публикации — если объекта нет
в составе, он не появится в выдаче, и выдача прав тут не помогает.
Нужны: <перечислите справочники, документы и регистры>
3. Завести отдельного пользователя только под эту задачу — не
администратора и не запись сотрудника, чтобы в журнале
регистрации действия программы отличались от действий людей.
Роль — только чтение: без прав на добавление, изменение,
удаление и проведение. Плюс право входа, которое в вашей базе
требуется для работы через веб и интерфейс OData.
Пришлите, пожалуйста:
- адрес базы: тот же URL, по которому открывается веб-клиент,
без суффикса /odata/... (например http://server:8080/base)
- логин и пароль заведённого пользователя
Проверить, что всё получилось, можно одной командой - она только
читает и ничего не меняет:
curl -u ЛОГИН:ПАРОЛЬ "АДРЕС_БАЗЫ/odata/standard.odata/?$format=json"
Ответ с перечнем наборов сущностей (Catalog_..., Document_...) означает,
что доступ настроен.
Доступ к конфигуратору после этого не нужен: программа обращается
к базе только по HTTP через уже опубликованный интерфейс.
Спасибо!
Что подставить в список объектов. Если состав ещё не определён, начните с минимума под свои вопросы: справочники контрагентов и номенклатуры, документы реализации и поступления, регистр бухгалтерии. Состав расширяется потом той же настройкой публикации, но это второе обращение к конфигуратору — лучше перечислить с запасом сразу.
Команда только читает и ничего не меняет — её можно выполнить и самому, ничего не устанавливая:
curl -u ЛОГИН:ПАРОЛЬ 'АДРЕС_БАЗЫ/odata/standard.odata/?$format=json'
| Что вернулось | Что это значит | Кому чинить |
|---|---|---|
JSON с перечнем Catalog_…, Document_… | Доступ настроен, дальше ставится сам сервер | — |
401 | Неверные логин или пароль, либо у пользователя нет права входа через веб и OData | Администратору: проверить учётную запись и её роль |
404 либо HTML-страница веб-сервера | По этому адресу стандартный интерфейс OData не опубликован — либо адрес не тот | Администратору: пункты 1 и 2 письма |
200 и JSON, но нужной сущности в перечне нет | Объект не включён в состав интерфейса OData. Это настройка публикации, а не право доступа: роль такую сущность не проявит | Администратору: пункт 2 письма |
Учётная запись заводится под задачу и живёт ровно столько, сколько идут работы. По договору-оферте (п. 7.5) пароль меняется заказчиком после завершения работ, а переданные учётные данные исполнитель уничтожает в течение десяти рабочих дней после приёмки; саму запись можно удалить или отключить сразу после приёмки.
Права выдаются по минимуму осознанно: объём доступа задаёт роль 1С, а не аргументы инструментов. Инструменты передают $filter и $select в OData как есть, поэтому подбором аргументов круг читаемых данных не ограничить — надёжная граница одна, права роли.
Порядок подключения целиком — публикация, отдельный пользователь, настройка клиента, разведка базы и что делать с записью — на странице как подключить ИИ-агента к базе 1С. Тот же текст письма и таблица отказов есть в руководстве пользователя, раздел 3.0.
Вопросы про конфигуратор, снятие с поддержки, доработанные конфигурации и цену — частые вопросы на главной.