← aprovodka

«Дайте доступ»: письмо для вашего 1С-ника

Половину подготовки делает не тот, кто задаёт вопросы к данным, а тот, кто отвечает за базу. Ниже готовый текст запроса — перешлите как есть — и одна читающая команда, которой проверяют результат.

Коротко: опубликовать базу на веб-сервере, включить стандартный интерфейс OData и внести в его состав нужные объекты, завести отдельного пользователя только на чтение. Ни расширений, ни обработок, ни кода на встроенном языке в базу не добавляется; конфигурация с поддержки не снимается.

Что именно просим

  1. Публикация базы на веб-сервере

    Обращение к данным идёт только по HTTP, штатными средствами платформы. Если база уже открывается веб-клиентом, этот шаг сделан.

  2. Стандартный интерфейс OData и его состав

    Состав задаётся отдельно от самой публикации, и это источник самой частой ошибки первого запуска: объекта нет в составе — он не появится в выдаче, и выдача прав тут не помогает.

  3. Отдельный пользователь только на чтение

    Не администратор и не запись сотрудника: в журнале регистрации действия программы должны отличаться от действий людей. Роль — без прав на добавление, изменение, удаление и проведение.

Текст письма

Добрый день!

Нам нужен доступ к базе «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.

Вопросы про конфигуратор, снятие с поддержки, доработанные конфигурации и цену — частые вопросы на главной.