Как подключить ИИ к 1С и не дать ему писать в базу: что мы переделали после внедрений
Подключить ИИ к 1С для вопросов к данным проще всего через штатный интерфейс OData: конфигурацию менять не нужно, настройка занимает часы. Расширение с HTTP-сервисом нужно, когда агенту требуется печать или своя логика. Для безопасной работы нужны четыре вещи: отдельный пользователь с правами на просмотр, узкий состав опубликованных объектов, инструмент, который умеет только читать, и памятка для агента.
Мы подключаем нейросети к 1С:Бухгалтерии, Управлению торговлей, ЗУП, Комплексной автоматизации и ERP. Базы стоят на серверах заказчиков, в закрытой сети и в 1С:Фреш. Ниже порядок настройки и шесть решений, которые нам пришлось переделать в рабочих базах.
Что такое ИИ-агент для 1С
ИИ-агент - это нейросеть с инструментами. Обычный чат отвечает из памяти и из того, что вы ему загрузили. Агент сам делает запросы к базе, считает и отвечает цифрами: «кто должен нам больше 30 дней», «какие документы за сентябрь не проведены».
Две аббревиатуры путают чаще всего. OData (Open Data Protocol) - протокол доступа к данным, он встроен в платформу как стандартный интерфейс. MCP (Model Context Protocol) - протокол, по которому нейросеть вызывает внешние инструменты. Вопрос «MCP или OData» поставлен неверно: OData отвечает за сторону 1С, MCP за сторону нейросети. Часто они работают вместе. MCP-сервер принимает вызов от нейросети и читает 1С через OData.
Какие есть способы подключить ИИ к 1С
| Способ | Что меняем в базе | Когда подходит | Ограничение |
|---|---|---|---|
| Выгрузка отчёта в чат | Ничего | Разовый анализ | Цифры на момент выгрузки, всё руками |
| Кодовый агент над выгрузкой конфигурации | Ничего | Разработка и доработки | Видит код, данных не видит |
| Штатный OData | Публикация, состав объектов, пользователь | Вопросы к данным, несколько баз, 1С:Фреш | Печать и своя логика недоступны |
| Внешняя обработка или расширение с HTTP-сервисом | Обработка в сеансе или расширение в каждой базе | Печать, своя логика, запись через проверенные методы | Установка и сопровождение в каждой базе |
Пошаговые инструкции на учебных базах есть в статье о трёх способах подключения, 13 готовых инструментов сравнили в карте MCP-инструментов 2026 года. Мы пишем о другом: что ломается, когда агент ходит в рабочую базу. Наш выбор для вопросов к данным - OData. Расширение ставим, когда нужна печать или своя логика.
Как подключить ИИ-агента к базе 1С: порядок на одну базу
- Проверьте платформу. Нужна 8.3 или новее. В 7.7 и 8.2 штатного OData нет.
- Опубликуйте базу с флажком «Публиковать стандартный интерфейс OData». В 1С:Фреш все базы уже опубликованы с OData.
- Заведите отдельного пользователя для агента. Не общего с обменом, сайтом или CRM.
- Дайте ему профиль на основе ролей просмотра и проверьте права кодом (раздел ниже).
- Задайте состав OData: только то, что нужно агенту. Пока состав пуст, любая сущность отвечает 404, и это не про права. Планы обмена не включаем. Безопасное хранилище Библиотеки стандартных подсистем (БСП) тоже: там пароли и токены интеграций. Кадровые документы и справочник физлиц закрываем ролями.
- Проверьте доступ одним запросом:
.../odata/standard.odata/Catalog_Номенклатура?$top=1&$format=json - Подключите инструмент, который умеет только GET, и положите агенту памятку.
- Прогоните на копии 10-20 типовых вопросов. Сверьте ответы с отчётами 1С.
- Договоритесь, кто и как отключает агента.
Шесть решений, которые мы переделали
1. MCP-мост заменили штатным OData
Группа компаний, больше 10 юрлиц. Бухгалтерия, Управление торговлей и ЗУП стоят в закрытой сети. Готовый мост требовал расширения в каждой базе и права записи. Для чтения это лишнее.
Мы выбрали штатный OData. Результат: 7 баз 1С за 1 неделю, новая база - в день обращения, ноль изменений в конфигурации. Базы наружу не открывали, доступ шёл только через VPN заказчика.
Мост хорош, когда нужна запись или своя логика. Если нужны ответы по данным, начинайте с OData.
2. От штатной роли OData отказались: она пишет
В конфигурациях на БСП есть форма «Настройки стандартного интерфейса OData». Она создаёт служебного пользователя и выдаёт ему роль УдаленныйДоступOData. Мы проверили эту роль на копии ERP 2.5. Она разрешает изменять 1 035 справочников из 1 205 (86 %), 746 документов из 787 (95 %) и все 224 регистра накопления. В публикациях встречается мнение, что эта роль работает без права записи. На нашей копии ERP это не так. В других конфигурациях состав роли может отличаться, поэтому проверяйте кодом.
Сам состав OData прав не задаёт. Метод УстановитьСоставСтандартногоИнтерфейсаOData() принимает список объектов, признака «чтение» или «запись» в нём нет. Решают только роли. И DELETE через OData удаляет объект сразу, без пометки на удаление.
Поэтому агенту собираем свой профиль на основе ролей просмотра и проверяем права кодом. Название профиля ничего не гарантирует: готовые профили «для просмотра» часто разрешают что-то служебное. Функция ПравоДоступа() принимает пользователя третьим параметром. Запускаем на копии, под администратором:
&НаСервере
Процедура ПроверитьПраваАгента(ИмяПользователя)
ПользовательИБ = ПользователиИнформационнойБазы.НайтиПоИмени(ИмяПользователя);
Коллекции = Новый Массив;
Коллекции.Добавить(Метаданные.Справочники);
Коллекции.Добавить(Метаданные.Документы);
Коллекции.Добавить(Метаданные.РегистрыСведений);
Коллекции.Добавить(Метаданные.РегистрыНакопления);
Для Каждого Коллекция Из Коллекции Цикл
Для Каждого ОбъектМД Из Коллекция Цикл
// для справочников и документов проверьте ещё "Добавление" и "Удаление"
Если ПравоДоступа("Изменение", ОбъектМД, ПользовательИБ) Тогда
Сообщить("Изменение разрешено: " + ОбъектМД.ПолноеИмя());
КонецЕсли;
КонецЦикла;
КонецЦикла;
КонецПроцедуры
Ограничения на уровне записей эта проверка не видит. Что происходит с правами, когда запрос идёт под служебной учёткой, разобрано в статье про права того, кто спросил.
Фраза «не изменяй данные» в инструкции агента - пожелание. Защита - инструмент, который физически умеет только GET. В 1С:Фреш другую роль служебному пользователю OData не назначить, поэтому там это единственный рубеж вместе с узким составом.
3. Сортировку сделали обязательной: без неё агент складывает дубли
$skip без $orderby не гарантирует порядок строк, соседние страницы пересекаются. Наш замер на справочнике номенклатуры: постраничная выгрузка без сортировки дала 10 098 строк, из них уникальных 6 702. С $orderby=Ref_Key дублей нет.
Агент такую ошибку не заметит. Он честно сложит все строки и выдаст правдоподобную цифру. Контроль простой: число уникальных Ref_Key равно числу строк.
Фильтр тоже проверяем. В одной облачной базе на платформе 8.5.1 любое сравнение в $filter давало ошибку 500, а $orderby молча игнорировался. Тест: $count с фильтром и без. Совпало - фильтр не применился. Там мы выгружали небольшие таблицы целиком и фильтровали на стороне агента.
4. Регистры читаем только через виртуальные таблицы
Прямой запрос к AccountingRegister_Хозрасчетный висит до таймаута даже с $top=1: платформа пытается отдать все проводки. Нужны обороты с периодом:
AccountingRegister_Хозрасчетный/Turnovers(StartPeriod=datetime'2026-09-01T00:00:00',EndPeriod=datetime'2026-09-30T23:59:59')?$format=json
Для оборотно-сальдовой ведомости то же через BalanceAndTurnovers. У регистров накопления плоские движения лежат в AccumulationRegister_Имя_RecordType, остатки и обороты - в /Balance(Period=...) и /Turnovers(...) на базовом имени.
Объекты с полем «ХранилищеЗначения» в состав не включаем. Регистр версий объектов БСП может не ответить ни на один запрос, и $select без этого поля не спасает. Лимит на запрос - $top не больше 1000. Тяжёлую аналитику уводим на копию, которая обновляется раз в сутки.
5. Про расширения в 1С:Фреш мы ошибались
Сначала мы считали, что расширения во Фреше ставить нельзя. Это неверно. По справке 1С:Фреш их добавляют сотрудники обслуживающих организаций со статусом «1С:ЦСК» (Центр сетевой компетенции). Каждая новая версия автоматически уходит на аудит к провайдеру.
Вывод для проекта: если агенту нужно расширение во Фреше, сразу подключайте партнёра заказчика со статусом ЦСК и закладывайте время на аудит. Для чтения данных расширение не нужно: OData там уже включён, доступ настраивает владелец абонента.
6. Печатные формы вынесли из OData
OData отдаёт данные, штатную печатную форму он не вызовет. Заказчики просят именно её: «пришли УПД в PDF».
Рабочих пути два. Агент собирает форму сам из данных: быстро, но это свой шаблон, а не форма 1С. Либо в базу ставится расширение, и печатает сама 1С. Обычный вывод в файл через УправлениеПечатью.НапечататьВФайл у нас упал в безопасном режиме, пришлось писать иначе. На копии ERP расширение отдаёт УПД в PDF за 9,8 секунды, ТОРГ-12 за 7 секунд. Наше расширение с новым регистром потребовало монопольного режима при установке: на это время пользователей из базы выгоняем.
Памятка для агента
Правила кладём в файл, который агент читает при старте: AGENTS.md, CLAUDE.md или системную инструкцию.
Только GET. POST, PATCH, PUT, MERGE, DELETE не отправлять.
Всегда $format=json, $select с нужными полями, $top не больше 1000.
Постраничная выборка только с $orderby=Ref_Key.
Документы: Posted eq true and DeletionMark eq false.
Регистр бухгалтерии: только Turnovers или BalanceAndTurnovers с периодом.
$metadata скачать один раз в файл и искать по нему.
404: сначала проверить префикс типа и состав OData.
В ответе указывать сущность, фильтр и период, откуда взята цифра.
Логин и пароль не выводить и не записывать в файлы.
Пункт про источник не пропускайте. Модель может ошибиться в периоде или разрезе, а цифру с источником бухгалтер сверит с отчётом за минуту.
Пароль храним в переменных окружения, в инструкцию не пишем. Инструкцию может поправить любой пользователь агента, поэтому проверку прав повторяйте и после запуска.
Сколько времени и денег это занимает
Настройка одной базы занимает часы. Дольше всего ждём не настройку, а администратора заказчика: VPN, публикацию, пользователя.
Расходов три: настройка, оплата нейросети и время человека на проверку ответов. У нас подключение одной базы занимает 3 часа с момента доступа и стоит 10 000 руб. за первую базу, со 2-й по 10-ю по 7 000 руб.
Свой программист 1С настроит всё по этой статье. Если его нет, зовут внедренца или профильную команду. Подключение ИИ-агентов к 1С - основная работа Бюро агентов (buroagentov.ru). Подходит ли ваша конфигурация, облако или аренда, разобрано в проверке готовности базы 1С к ИИ-агенту на нашем сайте.
Вопросы и ответы
Можно ли подключить ChatGPT к 1С? Да, через посредника. Обычный чат сам в 1С не ходит. Нужен коннектор по MCP или агент с инструментом для HTTP-запросов. Для Claude и Gemini схема та же.
Какие данные уходят в нейросеть? Только то, что агент запросил для ответа: выборка, вся база никуда не копируется. Модель эту выборку видит, учтите это в составе OData. Если данные не должны выходить за пределы компании, модель ставят на свой сервер.
Нужно ли менять конфигурацию? Для чтения через OData нет. Конфигурация остаётся как есть.
Работает ли ИИ-агент в 1С:Фреш? Да. Там все базы опубликованы с OData. В Комплексной автоматизации настройка лежит здесь: Администрирование → Синхронизация данных → «Настройки стандартного интерфейса OData».
Может ли агент записывать в 1С? Да, но это отдельный проект: своя роль, работа на копии, каждый документ после подтверждения человека.
Сколько лицензий тратит агент? На форумах отвечают по-разному. До раздачи доступа отделу посмотрите в консоли кластера, сколько сеансов агент открывает на вопрос, и счётчик лицензий. Повторное использование сеансов настраивается в default.vrd.
Что значат ошибки OData? Коды при подключении самого MCP разобраны в отдельной статье. Ниже то, что мы встречали в запросах к данным.
| Ответ | Что случилось |
|---|---|
| 401 | Неверный пароль. Вход в цикле не повторять: агент заблокирует своего пользователя |
| 404 | Объекта нет в составе или неверный префикс типа. Статьи расходов в ERP - это ChartOfCharacteristicTypes_СтатьиРасходов, а не Catalog_ |
| 400 | Неверное имя поля или неподдерживаемая операция |
| 500 | Составной тип без cast или поле «ХранилищеЗначения» |
| Ошибка DNS | Сначала проверьте среду агента, а не 1С. Облачной среде часто закрыт выход в интернет. Разрешите в её настройках домен базы |
Начните с проверки прав. Запустите процедуру из раздела про роль на копии для пользователя, под которым к вам уже ходят интеграции. Список объектов с правом изменения покажет, что открыто прямо сейчас.
Вступайте в нашу телеграмм-группу Инфостарт
Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.