Подключение к 1С
Искра подключается к вашей 1С по стандартному интерфейсу OData. В типовых конфигурациях на управляемых формах (ERP, УТ, КА, БП, УНФ) его настраивают штатными средствами, без доработок. Для подключения нужны доступная OData-публикация и права учётной записи интеграции на нужные объекты.
На витрине навыков два варианта:
- 1С Коннектор (
1c-connector) — стандартный OData-интерфейс базы доступен в интернете по HTTPS. Одного доступа к веб-клиенту 1С недостаточно: доступ к OData проверяется отдельно. - 1С Коннектор через VPN (
1c-connector-vpn) — база доступна только внутри сети организации. Искра подключается через ваш OpenVPN-сервер. Вариант для организаций: VPN-профиль задаёт администратор.
1С:Фреш
Работа готового навыка «1С Коннектор» на реальной базе 1С:Фреш пока не проверена. Сам сервис поддерживает стандартный интерфейс OData, но это ещё не подтверждает совместимость навыка с вашей базой.
Для проверки уточните у администратора адрес приложения, учётную запись интеграции и состав объектов, доступных через OData. Настройка на стороне 1С:Фреш описана в документации сервиса по ссылке выше; затем используйте проверку подключения в Искре. Успешное получение структуры не подтверждает доступ к данным и право записи — их проверяют отдельно.
Установка
- Откройте «Навыки» → каталог витрины, найдите карточку «1С Коннектор» (или «1С Коннектор (VPN)») и установите — себе или в организацию.
- На карточке навыка нажмите «Требует настройки» (позже те же поля
открывает страница навыка → вкладка «Настройки»). Откроется окно
«Настройки навыка»; если вам доступны оба варианта — личный профиль и
организация, — выберите нужный в строке «Кому доступно» вверху окна:
«Только мне» или «Всей организации». Ниже —
группа настроек «Подключение к 1С». Нажмите «Добавить подключение»;
каждую базу сохраняйте в её отдельной карточке:
- Название базы — от 1 до 100 символов, например «ERP» или «Документооборот». При сохранении пробелы по краям удаляются. В одном списке названия должны различаться без учёта регистра: «ERP» и «erp» считаются одним именем. Личный список, список другой организации и другой вариант коннектора могут использовать те же имена.
- Адрес публикации —
https://host/база, базовый адрес публикации, включая имя базы. Суффикс/odata/standard.odata/навык добавляет сам. - Логин — учётная запись интеграции в 1С.
- Пароль — write-only, как и обычные ключи: видно только, задан ли пароль, посмотреть его нельзя; чтобы заменить, введите новый.
- Разрешить запись — разрешает навыку создавать, изменять записи и проводить документы, если учётная запись интеграции имеет необходимые права в 1С.
- Разрешить удаление — разрешает физическое удаление. Оба флажка по умолчанию выключены — навык только читает.
- В каждом варианте навыка можно настроить до 10 баз на одном уровне: лично для себя и, если вы владелец или администратор организации, на уровне организации — тогда оно действует для всех сотрудников с доступом к навыку. Личная коллекция полностью замещает организационную, списки баз не объединяются — при выборе личного поверх уже настроенного подключения организации Искра предупредит об этом; рядом с группой видно, какое подключение сейчас действует. Подробнее о выборе, куда настраивать — в «Навыки» → «Группы настроек (подключения)».
Если в старых настройках уже есть одинаковые названия, Искра не переименовывает их автоматически: перед выбором базы задайте различающиеся имена в настройках. В форме выбора показываются названия баз без технических идентификаторов. Старое пустое или слишком длинное имя тоже нужно исправить в настройках: навык исключит такое подключение из нового выбора и покажет предупреждение.
Для VPN-варианта администратор организации дополнительно заполняет секрет vpn_conn (там же, в списке секретов под группой настроек):
{ "type": "openvpn",
"ovpn": "<содержимое файла .ovpn>",
"username": "vpn-логин",
"password": "vpn-пароль" }
Проверка подключения
Если что-то не работает, попросите Искру «проверь подключение к 1С». Она
проверит на одном выбранном подключении два адреса: общий список объектов
OData и описание структуры базы $metadata. В чате появится служебное
сообщение навыка с выбранной базой, результатом каждой проверки и HTTP-кодом,
если сервер ответил.
На каждый диагностический запрос отведено до 30 секунд. Если время истекло, проверка не завершена и HTTP-статус недоступен. Таймаут сам по себе не означает неисправность VPN-туннеля или HTTP 500 от 1С.
Если VPN-профиль отклонён до подключения, служебное сообщение показывает безопасную причину: например, неподдерживаемую директиву и номер строки или запрет назначения политикой безопасности. Запрос к 1С для этой проверки не выполнен — это не ответ 1С и не подтверждение неверного пароля базы. Передайте причину администратору организации. Работа того же профиля в другом OpenVPN-клиенте не гарантирует его совместимость со шлюзом Искры; удалять параметры проверки сертификата или шифрования без согласования с администратором не следует.
Общее сообщение «не удалось установить VPN-туннель» означает, что точная причина не определена: администратору нужно проверить разрешение имени, доступность VPN-сервера и журналы подключения. При ошибке VPN навык не предлагает другой адрес базы и не переключается на другую базу.
Код 401 означает, что сервер отклонил авторизацию; 403 — отказал в доступе; 404 — не нашёл запрошенный адрес. Точную причину отказа, в том числе необходимые права, уточняет администратор по настройкам и журналам. Если в адресе публикации заметен лишний «хвост», Искра предложит исправленный вариант. Для настройки подключения и исправления ошибок адреса или доступа к общему списку открывается форма. Уже выбранная база автоматически другой не заменяется.
При HTTP 5xx служебное сообщение поясняет: сервер публикации вернул ошибку
на запрос навыка; её причину должен уточнить администратор по журналам
веб-сервера и технологическому журналу 1С. По одному такому ответу нельзя
определить состояние всей базы, правильность пароля или наличие ошибки
в навыке. Успешный ответ
$metadata подтверждает получение описания структуры; доступ к данным
конкретных объектов проверяется отдельно. Если вместо описания получен,
например, HTML даже с кодом 200, проверка структуры остаётся неуспешной.
Если общий список вернул HTTP 5xx или при доступном общем списке не удалось
проверить $metadata, форма перенастройки не открывается. Искра может
продолжить работу на том же подключении с конкретным объектом, который вы
назвали или который уже изучен
в этом чате на выбранной базе: сначала запросить одну запись, затем выполнить
задачу, если чтение работает. Результат такого исследования — частичный
проверенный список. Состояние общего списка и описания структуры проверяется
отдельно; успешное чтение объекта само по себе не объясняет их ошибку.
Выбор базы в чате
Выбор появляется при обращении к навыку. Обычный разговор и закрепление навыка сами по себе базу не выбирают. Если доступна одна база, навык выбирает её автоматически; если несколько — показывает форму тому, кто начал запрос. Отмена оставляет чат без выбора и без обращения к 1С. После выбора в истории появляется отдельное сообщение с названием базы.
Это служебное уведомление, а не ответ Искры: оно сохраняется в истории и экспорте беседы, но не попадает в поиск по переписке. Если после уведомления ответ прервался, его можно повторить обычным способом.
Выбор сохраняется для этого чата. Для другой базы создайте новый чат. Обычный и VPN-коннектор выбирают свои базы независимо. Переименование базы не меняет выбор и не переписывает прежнее сообщение; смена пароля также сохраняет выбор. Изменение адреса публикации или логина, удаление подключения и отзыв доступа останавливают обращения к прежней цели.
Разрешения проверяются при каждом обращении: создание, изменение и проведение документов требуют «Разрешить запись», физическое удаление — отдельно «Разрешить удаление». Выбор базы не добавляет подтверждение каждой записи.
Старые подключения и подтверждённые чаты переносятся отдельной задачей администратора; неоднозначные случаи требуют разбора. До подготовки старого подключения Искра предложит обратиться к администратору. Переписка помогает заметить вероятную прежнюю базу, но не заменяет сохранённый выбор. Перенос чата между профилями или в организацию, копирование и другие способы работы с чатом не дают дополнительной гарантии сохранения цели.
Настройка на стороне 1С (для администратора 1С)
Для базы на вашем веб-сервере:
- Опубликуйте базу на веб-сервере (Конфигуратор → Администрирование → Публикация на веб-сервере), включив «Публиковать стандартный интерфейс OData».
- Создайте отдельного пользователя интеграции (например, «ИскраБот») и дайте ему роль «Удалённый доступ OData» плюс права чтения (и записи, если нужна запись) на нужные объекты.
- Включите объекты в состав OData: Администрирование → Настройка стандартного интерфейса OData → отметьте нужные справочники, документы и регистры. Без этого шага навык подключится, но список объектов будет пуст.
- После изменения состава сохраните и перезапустите публикацию.
Как пользоваться
Попросите Искру: «покажи остатки на складах из 1С», «найди номенклатуру по названию …», «создай элемент справочника …» (при включённой записи). После выбора базы навык получает список доступных объектов — если он пуст, Искра подскажет, что состав OData не наполнен (см. шаг 3 выше). Если вместо списка вернулась ошибка, работа может продолжиться с известными объектами, как описано в разделе «Проверка подключения».
Оба навыка читают списки постранично: по умолчанию одна страница содержит до 100 записей. Если нужен весь список, явно попросите выгрузить его полностью — чтение продолжается по страницам. При остановке из-за ошибки или лимита выгрузка остаётся частичной: в ответе указаны число полученных записей, причина остановки и доступное продолжение.
На странице навыка есть готовый сценарий «Подключить 1С и изучить структуру данных» (вкладка «Содержимое», группа «Сценарии») — он проведёт вас через настройку подключения, проверку и исследование объектов базы. Наблюдённая структура сохраняется автоматически в пределах текущего чата.
Изученная структура базы
Оба коннектора ведут частичный каталог объектов и полей, которые действительно прочитали в текущем чате. Попросите: «Покажи, какие объекты и поля мы уже изучили». Сначала должна быть выбрана база; если выбора нет, Искра предложит его сделать. Каталог содержит имена ресурсов и полей, а не значения записей, пароли, описания от модели или догадки о структуре.
Каталог хранит простые имена объектов. Запросы к отдельной записи по ключу и вызовы функций с аргументами продолжают работать, но их пути не сохраняются: они могут содержать данные клиента. Искра должна сообщить об этом ограничении отдельно от результата чтения.
Успешное чтение обновляет снимок соответствующего ресурса. Пустой ответ подтверждает ресурс, но не его поля; узкая выборка полей заменяет прежний снимок более узким. Ошибки чтения не добавляют новые сведения. Каталог всегда частичный: его пустота не означает, что в самой базе нет данных.
Хранилище ограничено по объёму, каталог — 300 ресурсами. Если структуру сохранить не удалось, Искра должна сообщить об этом отдельно: полученные данные остаются доступны в ответе чтения. Каталог проверяет текущий доступ к подключению и не подменяет базу при ошибке.
В новом чате исследование начинается заново; между пользователями и пространствами каталог не переносится. Если общий список и описание структуры недоступны, для начала может потребоваться точное имя ресурса от вас.
Общая «Карта» подключения для этих двух навыков больше не используется. Старые карты не удаляются, но не импортируются в каталог чата. Если вкладка «Карта» остаётся видна, она показывает, что навык не поддерживает карту; для исследования используйте чат или сценарий навыка.