- BrainTools - https://www.braintools.ru -

Плагин 1С в Алисе AI яндекс для бизнеса: теперь ИИ ходит в 1С, получает данные и отвечает пользователям

Плагин 1С в Алисе AI яндекс для бизнеса: теперь ИИ ходит в 1С, получает данные и отвечает пользователям - 1

В Яндекс 360 для бизнеса появился плагин для “1С:Предприятие”: Алиса читает документы, ведомости и произвольные данные из вашей базы. Я поставил комплект на тестовую базу 1С и протестировал. В статье: что лежит в архиве, как устроена авторизация по токену, какие методы и в каком порядке вызывает Алиса, как выглядят ответы, где расширение отвечает пустотой вместо ошибки [1], и чек-лист для администратора, который будет это поднимать

Как мы знаем, наш вендор любит схему взаимодействия 1С —> ИИ, когда программа сама ходит в мир и получает данные, и желательно через сервисы 1С.

У пользователей в ряде случаев другие пожелания и им нравится схема ИИ  —>1С
Соответственно многие публикации 2026 года были посвящены тому, как правильно сходить, получить данные и еже с ними.

Пока разработчики MCP шлюзов делали свои решения, фирма Яндекс втихую занималась разработкой своих плагинов и выпустила их в сентябре 2026 года. Среди них плагины для Битрикс24, 1С и ряда других решений. Причина думаю в быстрорастущем спросе на решения, подключаемые к ИИ, бюджеты по которым уходили к западным разработчикам.

Подробнее о плагине Яндекс для 1С

Он в кабинете Яндекс 360 для бизнеса, называется плагин “1С:Предприятие” для Алисы AI. Заявлено, что помощник отвечает по данным учета, документы, остатки, ведомости, произвольные вопросы к базе. К плагину прилагаются документация, комплект для администратора и инструкция на одну страницу.

Прежде чем советовать клиентам, я поставил комплект на тестовую базу, довел до рабочего состояния и записал, что ходит между Яндексом и 1С:файлы, заголовки, тела запросов, коды ответов. Все данные по состоянию на сегодня, 24 сентября 2026 года, версии комплекта и платформы могут измениться.

 Что в комплекте

Архив для администратора содержит пять файлов:

– API_Яндекс.cfe – расширение конфигурации. Добавляет HTTP-сервис с корнем  ApiV1 и обработчики методов;

– ПодготовкаПубликацииJWT.epf – обработка, которая помогает собрать файл публикации;

– default.vrd – образец файла публикации с уже прописанным блоком  проверки токенов;

– две инструкции в docx, для администратора и для пользователя.

 Расширение само по себе ничего не открывает: HTTP-сервис в 1С доступен только через веб-сервер. Значит, помимо расширения нужны IIS или Apache, модуль расширения веб-сервера той же версии, что платформа, публикация базы с включенными HTTP-сервисами и подложенный default.vrd.

 Вот ключевой фрагмент этого файла, я убрал только длинный ключ:

“`xml

<service name=”Янд_ЯндексAPI” rootUrl=”ApiV1″ enable=”true”

         reuseSessions=”autouse” sessionMaxAge=”20″ poolSize=”10″ poolTimeout=”5″>

  <accessTokenAuthentication>

    <accessTokenRecepientName>1c-onprem</accessTokenRecepientName>

    <issuers>

      <issuer name=”neuroaccounting.ya.ru [2]“

              authenticationClaimName=”sub”

              authenticationUserPropertyName=”name”

              keyInformation=”—–BEGIN PUBLIC KEY—– … —–END PUBLIC KEY—–“/>

    </issuers>

  </accessTokenAuthentication>

</service>

“`

Модель доступа задается тремя атрибутами.
issuer name – кто выпускает токен.
keyInformation – открытый ключ, которым платформа проверяет подпись. authenticationClaimName="sub" вместе с authenticationUserPropertyName="name" – из поля sub токена берется имя, и под этим именем пользователь 1С входит в базу. Без пароля: подпись токена заменяет его.

Поэтому инструкция требует завести служебного пользователя. Его имя должно совпасть с тем, что администратор вписал в плагине. Пароль у такого пользователя может быть любым или пустым, он не участвует.

 Пробная база

Файловая демо-база Бухгалтерии предприятия 3.0.166 на платформе 8.5.1, Windows, IIS отдельным сайтом на порту 8081, наружу через туннель с https.

Проблемы, которые встретились до Алисы и не описаны в инструкции:

1. Перепубликация затирает default.vrd. Если после подкладывания файла еще раз нажать “Публикация на веб-сервере” в конфигураторе, файл перезапишется типовым, и публикация снова требует логин с паролем. Порядок строго такой: опубликовать, подложить файл, больше не публиковать.

2. Права на каталог файловой базы. Учетная запись пула IIS должна иметь право изменения на каталог с базой, иначе публикация отвечает 500 с ошибкой блокировки. Для базы на сетевом диске к этому добавляются права на шару.

3. Проверять надо правильно. Мой первый контрольный тест был “запрос без авторизации дает 401, несуществующий путь дает 404”. Он ничего не проверяет: 1С аутентифицирует до маршрутизации и отдает 401 на любой путь. Правильный тест идет с Basic-авторизацией: существующий метод 200,   несуществующий 404.

После этого Алиса подключилась и на вопрос “найди первые 10 товаров” выдала таблицу.

Плагин 1С в Алисе AI яндекс для бизнеса: теперь ИИ ходит в 1С, получает данные и отвечает пользователям - 2

Дальше то, что показал лог.

Что вызывает Алиса

На один вопрос про товары в первый раз ушло три вызова, в следующих разговорах один:

“`

GET  /hs/ApiV1/custom_code/list_metadata_objects?maxItems=10&metaType=Справочники&nameMask=Номенклатура

GET  /hs/ApiV1/custom_code/get_metadata_structure?metaType=Справочники&name=Номенклатура

POST /hs/ApiV1/custom_code/runQuery

     {“queryText”: “ВЫБРАТЬ ПЕРВЫЕ 10ntНом.Код КАК Код,ntНом.Наименование КАК Наименование, …”}

“`

Алиса сама пишет в чате, что справочники это “резервный путь”, а готовые инструменты дают документы и ведомости. Готовых инструментов в логе набралось семь, в описании плагина перечислены не все:

| Метод | Параметры | Что отдает |

|—|—|—|

| custom_code/list_metadata_objects | metaType, nameMask, maxItems | список объектов вида с синонимами |

| custom_code/get_metadata_structure | metaType, name | стандартные реквизиты, реквизиты, табличные части |

| custom_code/runQuery (POST) | queryText | результат произвольного запроса |

| documentsTypes | без параметров | все типы документов конфигурации |

| documents | from_date, to_date, types (через запятую), limit, include_sections | документы за период |

| accounts | без параметров | план счетов |

| accounts/balance_sheet | accounts, from_date, to_date, subAccount, detail_lvl | оборотно-сальдовая ведомость |

 Наблюдения по протоколу:

 – вид метаданных приходит по-русски, “Справочники”, хотя сервис принимает и “Catalogs”;

– запросы идут с нескольких адресов из сетей 5.45.207.x, 5.255.253.x, 141.8.142.x, с заголовком Traceparent по W3C и User-Agent: Mozilla/5.0 (compatible; YandexUserproxy; robot; +http://yandex.com/bots) [3];

– токен живет 45 минут (exp - iat = 2700) и выпускается почти на каждый вызов. Состав: base_url с полным адресом публикации до /hs/ApiV1, iss, sub, aud: [“1c-onprem”], iat, exp. Заголовок: alg RS256, kid onec-onprem-1`;

– метаданные Алиса читает не каждый раз: после первого чтения список объектов и структура живут у нее, следующие разговоры начинаются сразу с запроса;

– на вопрос про товары она ни разу не вызвала documents или ведомость,  зато на “какие документы были в этом месяце” сразу пошла в documentsTypes и documents. 

Как выглядят ответы

Методы метаданных отдают JSON с одним полем text, внутри человекочитаемый список:

“`json

{“text”: “Структура объекта Справочник.Номенклатура:nСиноним: “Номенклатура”nnСтандартные реквизиты:ntСсылка – Справочник.Номенклатура – “”ntНаименование – Строка – “Наименование”n…”}

“`

documents отдает деловой JSON, готовый для модели:

“`json

[{“docType”: “ПлатежноеПоручение”, “docNumber”: “0000-000011”, “docDate”: “20251103”,

  “ref”: “Платежное поручение 0000-000011 от 03.11.2025 0:40:37”,

  “ref1C”: “https://<адрес>/UT111#e1cib/data/Документ.ПлатежноеПоручение?ref=8a86…”,

  “organization”: “Абрамов Г. С. ИП”, “counterparty”: “Рарус-Софт”,

  “counterpartyInn”: “7725118524”, “sum”: 15660, “currency”: “руб.”, “posted”: true,

  “purpose”: “Счет на оплату АЗР-0106167 от 13 октября 2025”}]

Ведомость отдается по организациям, в каждой строке сальдо и обороты в рублях и валюте. Параметр accounts принимает список счетов, subAccount=trueраскрывает субсчета (без него по группе 41 приходит пустой массив, а по 41.01 данные), detail_lvl=2 добавляет разбивку по субконто с полями

subconto1, subconto2 и ссылкой subconto1ref.

 

С runQuery иначе. Заголовок ответа говорит Content-Type: application/json;charset=utf-8, а в теле не JSON, а распечатка результата средствами 1С:

“`

  [0]

      Код: 00-00000002

      Наименование: Ассорти

  [1]

      Код: 00-00000003

      Наименование: Барбарис

“`

 Похоже на Ответ.УстановитьТелоИзСтроки(Строка(Результат)). Модель такой текст читает. Следствия проявляются на ошибках.

Где расширение отвечает пустотой

 Запрос к несуществующему объекту вернул код 200 и тело из одного слова:

Структура. Не разобранное тело запроса вернуло код 200 и слово Неопределено. Ни текста ошибки платформы, ни кода 400. Алиса получает код 200 и одно слово, причины отказа не видит и повторяет тот же запрос. В логе четыре одинаковых runQuery подряд с разных адресов в течение шести секунд, потом пауза, потом еще три. Дальше она ищет обход. В моем случае, когда прямой запрос к справочнику молча отказывал, она достала номенклатуру через оборотно-сальдовую ведомость по счету 41 с разбивкой по субконто и честно написала, что это не полный справочник, а только позиции с остатками. Результат верный, но это семь вызовов вместо одного, и на большой базе так делать не стоит.

Второе ограничение: длина адреса. Вызов documents со списком из тридцати типов документов в строке запроса получил 404 от веб-сервера, списки покороче проходили. Обычное ограничение на длину URL, плагин его не обходит и не сообщает модели.

Что это значит для администратора

Пять пунктов, по которым идет запрос, и как проверить каждый. Проверять снаружи, не из офисной сети.

1. Адрес доступен из интернета. GET <адрес>/hs/ApiV1/documentsTypes без    авторизации. Ошибка соединения или сертификата: дело в белом адресе, туннеле или https, до 1С запрос не доходит.

2. Веб-сервер знает публикацию. Ответ 404 от IIS или Apache: публикации нет, она под другим именем или без HTTP-сервисов. Смотреть default.vrd в каталоге публикации, блок httpServices с сервисом Янд_ЯндексAPI.

3. Публикация принимает токен. Ответ 401 с WWW-Authenticate: Basic:   блока accessTokenAuthentication` нет или он не сработал. Файл затерт перепубликацией либо платформа не поддерживает механизм. Подложить файл из архива заново.
4. База открывается. Ответ 500: права учетной записи веб-сервера на каталог базы или отказ сервера 1С.

5. Расширение отвечает по существу. Код 200, но в теле Неопределено   или Структура: запрос не разобран или упал внутри. Здесь уже отладка  расширения в конфигураторе.

Главное для администратора. Проверка токена живет в публикации, а не в расширении. Проверено так: все методы, включая произвольный запрос, открываются под обычной Basic-авторизацией именем служебного пользователя с пустым паролем, без всякого токена Яндекса. Расширение доверяет тому, кого пустила публикация. Пока публикация сделана строго по default.vrd из архива, это нормально. Но если публикацию настроил хостер по-своему, или администратор сделал ее поверх, или включил обычную аутентификацию “для отладки” и забыл, базу из интернета защищает ровно одно: имя служебного пользователя. Проверяйте пункт 3 после каждого изменения публикации.

 Второй момент для службы безопасности: методы documents и ведомость отдают наружу прямые ссылки на объекты базы с внутренними идентификаторами (ref1C, subconto1ref). Это удобно для навигации, но стоит понимать, что идентификаторы уходят на сторону. 

Где штатная схема не работает совсем

 Обычные формы. УПП 1.3, УТ 10.3, КА 1.1 работают в режиме совместимости с 8.2. Расширения конфигурации там не подключаются, HTTP-сервисов в конфигурации нет, добавить их можно только доработкой. Комплект Яндекса к таким базам неприменим. Здесь стоит применять шлюзы, вроде “Жёлтый мост”.

Облачная 1С. В Фреш, scloud, 42clouds и подобных публикацией управляет хостер. Расширение поставить обычно дают, но default.vrd у хостера свой, и блока с токенами Яндекса в нем нет. Публикация продолжает требовать пароль, плагин отвечает “не удалось авторизоваться”. Возможно в будущем появится расширение для фреша. Но сомневаюсь, что вендор разрешит такую нагрузку.

 Файловая база без сервера. Технически публикуется, но компьютер должен быть включен круглосуточно, доступен снаружи по белому адресу с сертификатом, а учетная запись IIS должна иметь права на каталог. Для компьютера бухгалтера это тяжелая конструкция.

 Что остается в этих случаях. Поле “URL вашей базы” в плагине принимает любой адрес, а протокол снят и описан выше. Значит, по этому адресу может отвечать не опубликованная база, а любой сервис, который реализует эти методы и сам ходит в базу удобным ему способом. Так устроены шлюзы, где база не публикуется, а сама забирает задания по исходящему соединению. Подпись токена при этом проверяется тем же открытым ключом из default.vrd, а base_url внутри токена позволяет привязать токен к конкретному адресу. Это за рамками комплекта Яндекса, но протоколом не запрещено.

 Выводы

1. Готовые инструменты плагина сделаны под типовые решения 1С. Могут заменять консоль запросов. Например, я попросил сделать запрос на языке 1С и тут же испытать на данных. ИИ справилось, хотя честно скажу, что не знаю, как отработает на сложных запросах.
2. Не главное, но плагин поддерживает юмор [4] )) Когда увидела, что на демо базе одни конфеты, пошутила на тему шоколадной фабрики.

3. Штатная схема требует веб-сервер, публикацию, белый адрес, сертификат, служебного пользователя и свежую платформу. Это пусть типовая, но сложная задача для администратора

3. Расширение глотает ошибки: на любой отказ модель получает код 200 и    слово без причины. Отсюда слепые повторы и обходные пути. Если Алиса повторяет одно и то же, скорее всего она не видит, что именно сломалось. На определенных запросах ИИ просила отдохнуть и ввести позже. Не знаю, как будет дальше.

4. Токен проверяет публикация, не расширение. Проверяйте это после каждого  изменения default.vrd.

5. На обычных формах и в большинстве облаков комплект неприменим; протокол при этом открытый, и отвечать по адресу плагина может не только опубликованная база.

6. Что значит этот плагин для программистов 1С, консультантов 1С, разработчиков битрикс. Если пользователю правильно настроят решение и он этим будет пользоваться, заказов по мелким и средним консультациям будет меньше. Хотя надо отметить, что ИИ пока плавает в метаданных, но надо отметить, что пытается найти верный путь в получении данных. Например, я базу назвал УТ11, но по факту это была БП 3.0 ИИ пыталась искать УТ, судя по названию и только в конце поняла, что это бухгалтерия и стала искать данные по плану счетов.

Автор: Anoviul

Источник [5]


Сайт-источник BrainTools: https://www.braintools.ru

Путь до страницы источника: https://www.braintools.ru/article/35974

URLs in this post:

[1] ошибки: http://www.braintools.ru/article/4192

[2] neuroaccounting.ya.ru: http://neuroaccounting.ya.ru

[3] http://yandex.com/bots): http://yandex.com/bots)%60

[4] юмор: http://www.braintools.ru/article/3517

[5] Источник: https://habr.com/ru/articles/1086200/?utm_source=habrahabr&utm_medium=rss&utm_campaign=1086200

www.BrainTools.ru

Rambler's Top100