Дмитрий Поляков

AI-помощник для 1С

Как подключаем 1C AI Assistant к вашей базе

Пилот проверяет один сценарий на копии вашей базы. Подключение — на выбор: расширение «AI-помощник» добавляет панель вопросов прямо в 1С, а для конфигураций на обычных формах есть вариант через стандартный интерфейс OData. В обоих случаях конфигурация не дорабатывается. Ниже — всё по шагам, с проверками.

  • Копия базы, а не рабочая
  • Только чтение: ни расширение, ни коннектор не умеют записывать данные
  • Можно развернуть у вас — данные не покидают контур

Обсудить пилот Попробовать демо

Кто что делает

Ваш администратор 1С

  • Копия базы
  • Установка расширения или публикация OData
  • Безопасный режим или пользователь только для чтения
  • Сетевой доступ между 1С и помощником

Я

  • Размещение помощника и модели
  • Ключ доступа и подключение
  • Контрольные вопросы с вашим специалистом
  • Доступ для сотрудников
  • Журнал и итоговый отчёт

Как проходит пилот

  1. Обсуждение

    Созвон: задача, конфигурация и версия, где работает база, требования безопасности. Итог — сценарий, способ подключения и список объектов.

  2. Подготовка базы

    Ваш администратор делает копию и подключает её одним из двух способов — расширением или публикацией OData (шаги ниже).

  3. Размещение

    Выбираем вариант — у вас или у меня — и я разворачиваю отдельный экземпляр помощника под пилот.

  4. Подключение и проверка

    Проверка связи и прогон контрольных вопросов; для OData — ещё загрузка структуры базы.

  5. Работа со сценарием

    Ваши сотрудники задают вопросы — в 1С или в веб-интерфейсе; я смотрю журнал, разбираю ошибки и уточняю настройки.

  6. Итоги и завершение

    Отчёт: точность, что нашёл, где ошибся, сколько времени сэкономил. Доступ закрывается, данные пилота удаляются.

Что подготовить к первому разговору

  • Конфигурацию и её версию, версию платформы (Справка → О программе) — от них зависит способ подключения.
  • Режим работы базы: файловая или клиент-серверная, где стоит сервер 1С.
  • Для варианта OData — есть ли веб-сервер (IIS или Apache) с публикациями 1С.
  • Сценарий: 1–3 вопроса, на которые сейчас уходит время, и пример правильного ответа на каждый.
  • Требования безопасности: можно ли выносить данные за периметр, нужен ли VPN, нужно ли обезличивание.

Два способа подключения

Способ выбираем на первом разговоре по конфигурации и платформе. От него зависят шаги 2–5 инструкции.

Расширение «AI-помощник» — рекомендуем

БП 3.0, УТ 11, КА 2, ERP 2 и другие конфигурации на управляемых формах, платформа 8.3.17 и новее

  • Вопросы задают прямо в 1С: отдельный раздел и кнопка «AI-помощник» в формах документов и справочников — с вопросом о текущем объекте.
  • Найденные документы — таблицей под ответом, двойной щелчок открывает документ.
  • Помощник читает данные с правами того, кто спрашивает, включая ограничения на уровне записей; отдельный пользователь и веб-публикация не нужны.
  • Итоги считаются на сервере 1С, остатки и обороты регистров читаются напрямую.
  • Конфигурацию не меняет: расширение подключается поверх неё и удаляется в один шаг.

Стандартный интерфейс OData — УПП и обычные формы

Конфигурации на обычных формах (УПП, КА 1.1, УТ 10) и случаи, когда расширение ставить нельзя

  • Вопросы задают в веб-интерфейсе помощника; рядом с ответом видны шаги и запросы к 1С.
  • Нужны веб-публикация со стандартным интерфейсом OData и пользователь только для чтения — это настройка, а не доработка.
  • Читаются записи опубликованных объектов; остатки и обороты регистров — пока по движениям.

Инструкция для администратора 1С

Шаг 1 общий, шаги 2–5 — для выбранного способа. Расширение устанавливается в Конфигураторе, веб-сервер для него не нужен; для OData нужен веб-сервер с модулем 1С.

Шаг 1. Копия базы

Пилот проводим на копии: Конфигуратор → Администрирование → Выгрузить информационную базу (файл .dt) → создать новую информационную базу → Загрузить информационную базу. Для клиент-серверной базы подойдёт и копия средствами СУБД.

В копии должны быть данные за период сценария — например, последние 2–3 месяца.

Если в базе есть персональные данные, заранее договоримся, какие объекты помощнику можно читать. Копию можно обезличить (ФИО, телефоны, паспортные данные) — проверке логики учёта это не мешает.

Подключение расширением «AI-помощник»

Шаг 2. Установка расширения

Скачайте архив расширения и распакуйте его: файл Configuration.xml должен лежать прямо в папке распаковки. Конфигурацию расширение не меняет: добавляет свой раздел, панель вопросов и кнопку в формах документов и справочников.

Конфигуратор копии: Конфигурация → Расширения конфигурации → Добавить (имя АИ_Помощник, назначение «Дополнение») → в окне расширения: Конфигурация → Загрузить конфигурацию из файлов → папка распаковки → Обновить конфигурацию базы данных (F7).

Скачать расширение «AI-помощник» — версия 0.4.0 · архив XML для Конфигуратора · 62 КБ, SHA-256 2d14b5223f5d3aca6b761ad6db858b0550c674b6105d648c96c7a2ea0c5239b9

То же командами (файловая база; для клиент-серверной вместо /F — /S сервер\база):

1cv8.exe DESIGNER /F "C:\Базы\Копия" /LoadConfigFromFiles "C:\ai-1c-assistant-extension" -Extension АИ_Помощник
1cv8.exe DESIGNER /F "C:\Базы\Копия" /UpdateDBCfg -Extension АИ_Помощник

Именно из файлов, а не готовым .cfe: готовый файл привязан к языку той конфигурации, где собран, и в другую может не установиться. При загрузке из файлов Конфигуратор сопоставляет расширение с вашей конфигурацией сам.

Нужны платформа 8.3.17 или новее и конфигурация на управляемых формах (интерфейс «Такси»).

Шаг 3. Снять безопасный режим

Режим «Предприятие» под администратором: Все функции → Стандартные → Управление расширениями конфигурации → АИ_Помощник → снять флажки «Безопасный режим» и «Защита от опасных действий». В конфигурациях на БСП то же есть в карточке расширения: Администрирование → Печатные формы, отчеты и обработки → Расширения.

Без этого 1С не даст расширению отправить вопрос на сервер помощника. Расширение только читает данные; исходящие запросы идут только по адресу из его настроек, код расширения открыт.

После изменения перезапустите сеанс — в панели разделов появится «AI-помощник».

Шаг 4. Адрес помощника и ключ доступа

Раздел «AI-помощник» → «Настройки»: адрес помощника и ключ доступа (начинается с ext_). Ключ передам отдельно от адреса — не в заявке и не в одном письме с адресом.

Менять настройки может только пользователь с правом «Администрирование». Ключ хранится в базе и в форму настроек больше не выводится; у меня хранится только его хеш.

Запрос к помощнику идёт с сервера 1С (у файловой базы — с компьютера пользователя), а не из браузера. Если на этом сервере прокси или брандмауэр — откройте исходящий HTTPS на адрес помощника.

Шаг 5. Проверка

В настройках нажмите «Проверить связь» — должно появиться «Связь есть: подключение «…», модель — …».

В панели задайте вопрос, например «Покажи реализации за прошлую неделю»: под ответом появятся найденные документы, двойной щелчок открывает документ. Кнопка «AI-помощник» в форме документа открывает панель с вопросом об этом документе.

Помощник видит данные с правами того, кто спрашивает. Роль «AI-помощник: использование» по умолчанию получают все пользователи базы; если круг нужно ограничить — скажите, настрою иначе.

Подключение через стандартный интерфейс OData

Шаг 2. Веб-публикация со стандартным интерфейсом OData

Нужен веб-сервер IIS или Apache с модулем расширения веб-сервера 1С той же версии, что и платформа.

Конфигуратор, запущенный от имени администратора ОС: Администрирование → Публикация на веб-сервере → имя публикации (например, ai_pilot) → флажок «Публиковать стандартный интерфейс OData» → «Опубликовать».

То же командой webinst (Apache 2.4, клиент-серверная база):

webinst -publish -apache24 -wsdir ai_pilot -dir "/var/www/ai_pilot" -connstr "Srvr=server;Ref=ai_pilot;" -confpath "/etc/apache2/apache2.conf"

В файле публикации default.vrd должна появиться строка:

<standardOdata enable="true" reuseSessions="autouse" sessionMaxAge="20" poolSize="10" poolTimeout="5"/>

reuseSessions="autouse" переиспользует сеансы: каждый одновременный запрос OData занимает сеанс 1С, а значит, лицензию. Помощник по умолчанию держит не больше двух одновременных запросов.

Адрес интерфейса: https://<веб-сервер>/ai_pilot/odata/standard.odata. HTTPS рекомендуем; HTTP допустим только внутри доверенной сети или VPN — по согласованию.

Шаг 3. Состав объектов OData

После публикации через OData не доступно ничего: состав объектов задаётся в самой базе.

Типовые конфигурации на БСП (Бухгалтерия 3.0, УТ 11, КА 2, ERP 2): форма «Настройка стандартного интерфейса OData» в разделе администрирования — обычно Администрирование → Синхронизация данных; точное место зависит от версии.

Другие конфигурации (УПП 1.3, доработанные): внешняя обработка «Настройка стандартного интерфейса OData» с ИТС или короткий код, запущенный под администратором:

Код на встроенном языке (пример состава):

Состав = Новый Массив;
Состав.Добавить(Метаданные.Документы.РеализацияТоваровУслуг);
Состав.Добавить(Метаданные.Справочники.Контрагенты);
Состав.Добавить(Метаданные.Справочники.ДоговорыКонтрагентов);
УстановитьСоставСтандартногоИнтерфейсаOData(Состав);

Публикуйте только объекты из согласованного списка — и справочники, на которые они ссылаются (контрагенты, договоры, номенклатура, организации, подразделения), иначе вместо названий помощник увидит идентификаторы.

Регистры публикуются так же. Текущая версия читает их записи (движения); виртуальные таблицы остатков и оборотов пока не использует — если сценарий про остатки на дату, лучше подойдёт расширение.

Шаг 4. Пользователь только для чтения

Отдельный пользователь, например ai_reader, с аутентификацией 1С:Предприятия по паролю — помощник подключается по HTTP Basic, вход через ОС не подойдёт.

Права — только чтение опубликованных объектов: без добавления, изменения, удаления, проведения и административных прав. В конфигурациях на БСП — профиль групп доступа с ролями чтения нужных разделов; ограничения на уровне записей — по желанию.

Даже с более широкими правами помощник не отправит в 1С ничего, кроме GET-запросов. Пользователь только для чтения — вторая, независимая линия защиты.

Пароль передайте отдельно от адреса публикации — не в заявке и не в одном письме с адресом.

Шаг 5. Проверка в браузере

Откройте адрес ниже — браузер спросит логин и пароль 1С. Должен открыться XML с элементами EntityType.

Описание опубликованных объектов:

https://<веб-сервер>/ai_pilot/odata/standard.odata/$metadata

Пример данных: три контрагента:

https://<веб-сервер>/ai_pilot/odata/standard.odata/Catalog_Контрагенты?$top=3&$format=json

Пустой список — объекты не включены в состав (шаг 3); 401 — неверный логин или у пользователя нет пароля; 404 — публикация без OData.

Шаг 6. Где работает помощник

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

У вас — для чувствительных данных

  • Помощник ставится на ваш сервер или виртуальную машину рядом с 1С (Docker); данные не покидают ваш контур.
  • С запасом хватает 4 ядер, 8 ГБ памяти и 20 ГБ диска; модель — на вашем сервере с GPU, требования к нему оцениваем на первом шаге.
  • Сетевой доступ: для расширения — с сервера 1С к помощнику внутри сети, для OData — помощнику к публикации 1С. Мне — удалённый доступ к машине помощника на время установки и пилота.

У меня — быстрый старт

  • Помощник и локальная модель GLM работают на моём сервере, вашей инфраструктуры не нужно.
  • Расширение: сервер 1С сам обращается к помощнику по HTTPS — входящий доступ в вашу сеть не нужен, а помощник принимает запросы только с адресов вашего сервера.
  • OData: VPN-туннель или доступ к публикации только с адреса моего сервера, по HTTPS.
  • Данные, которые помощник прочитал для ответа, проходят через мой сервер — вариант для обезличенной копии или с вашего согласия.

Облачные модели (OpenAI и подобные) используем только по вашему решению; по умолчанию — локальная модель.

Что делаю я

  • Разворачиваю отдельный экземпляр 1C AI Assistant под ваш пилот.
  • Для расширения — выдаю адрес помощника и ключ доступа; для OData — разрешаю помощнику ходить только по адресу вашей публикации (белый список) и включаю проверку сертификата.
  • Проверяю связь; для OData загружаю структуру базы — у ERP до нескольких минут.
  • Вместе с вашим специалистом составляю 10–20 контрольных вопросов с ожидаемыми ответами и прогоняю их.
  • Даю доступ сотрудникам: с расширением они спрашивают прямо в 1С под своими правами, для OData создаю учётные записи в веб-интерфейсе.
  • Веду журнал: каждый вопрос, кто спросил и что помощник прочитал из базы.

Как оцениваем результат

  • Точность — Доля контрольных вопросов с верным ответом — верно, частично, неверно.
  • Самостоятельность — Находит ли помощник нужные объекты и реквизиты без подсказок.
  • Скорость — Время ответа и сколько времени это экономит по сравнению с ручным поиском.
  • Границы — Какие вопросы помощник пока не решает и что для этого нужно.

Завершение пилота

  • Расширение: администратор удаляет расширение «AI-помощник» из базы, я отзываю ключ доступа.
  • OData: вы отключаете пользователя ai_reader или меняете ему пароль и снимаете публикацию (или флажок OData).
  • Я удаляю подключение и данные пилота у себя; журнал передаю по запросу.
  • Если идём дальше — переносим помощник на постоянное размещение и расширяем сценарии.

Чек-лист готовности

  • Копия базы развёрнута, в ней есть данные за период сценария
  • Расширение АИ_Помощник загружено из файлов, база обновлена (расширение)
  • У расширения сняты «Безопасный режим» и «Защита от опасных действий» (расширение)
  • В настройках указаны адрес помощника и ключ доступа (расширение)
  • «Проверить связь» показывает подключение и модель (расширение)
  • Вопрос в панели вернул ответ и найденные документы (расширение)
  • Веб-публикация со стандартным интерфейсом OData (OData)
  • Состав OData: объекты сценария и справочники, на которые они ссылаются (OData)
  • Пользователь ai_reader: только чтение, аутентификация 1С с паролем (OData)
  • $metadata открывается в браузере под этим пользователем (OData)
  • Согласован вариант размещения и сетевой доступ
  • Готовы контрольные вопросы с ожидаемыми ответами

Частые проблемы

  • Нет раздела «AI-помощник» — Сеанс не перезапущен после установки или расширение выключено — проверьте в «Управлении расширениями конфигурации». (расширение)
  • «Файл объекта не существует - /Configuration.xml» — Выбрана не та папка или сам архив. Распакуйте архив и укажите папку, в которой лежит Configuration.xml. (расширение)
  • «…ОбъектРасширяемойКонфигурации у объекта Язык.Русский не совпадает…» — Устанавливался готовый .cfe, собранный под другую конфигурацию. Загрузите расширение из файлов (шаг 2). (расширение)
  • При вопросе — ошибка безопасного режима — Не сняты «Безопасный режим» или «Защита от опасных действий» (шаг 3); после снятия перезапустите сеанс. (расширение)
  • «Нет связи с сервисом AI-помощника» — Сервер 1С не видит адрес помощника — запрос идёт с сервера 1С, а не из браузера. Проверьте адрес, DNS, прокси и брандмауэр на сервере 1С. (расширение)
  • «Сервис AI-помощника не принял ключ доступа» — Ключ введён с ошибкой или заменён. Попросите новый — прежний после замены не работает. (расширение)
  • Ошибка сертификата при «Проверить связь» — Сертификат помощника выпущен внутренним центром — добавьте его корневой сертификат в доверенные на сервере 1С. (расширение)
  • 401 при открытии $metadata — Неверный логин или пароль, либо у пользователя нет аутентификации 1С с паролем. (OData)
  • 404 по адресу …/odata/standard.odata — Публикация без флажка OData или другой адрес публикации; проверьте default.vrd. (OData)
  • XML открывается, но объектов нет — Объекты не включены в состав стандартного интерфейса OData (шаг 3). (OData)
  • Вместо названий — идентификаторы — Не опубликованы справочники, на которые ссылаются документы. (OData)
  • Ошибка сертификата публикации — Сертификат внутреннего центра — пришлите корневой сертификат (PEM), проверку отключать не нужно. (OData)
  • Не хватает лицензий — Включите reuseSessions="autouse"; помощник держит не больше двух одновременных запросов. (OData)
  • Долгие ответы на больших таблицах — Помощник сужает отбор по периоду и ссылкам; при необходимости увеличиваем тайм-аут чтения.

Вопросы о пилоте

Нужно ли менять конфигурацию?

Нет. Расширение подключается поверх конфигурации и не меняет её объекты: оно добавляет свой раздел, панель и кнопку и удаляется в один шаг. Объекты конфигурации оно не заимствует (кроме языка), поэтому не зависит от её доработок. Вариант OData — только настройка базы: публикация, состав объектов и пользователь.

Почему расширению нужно снять безопасный режим?

В безопасном режиме 1С запрещает расширениям HTTP-запросы, а расширению нужно отправить вопрос и результаты чтения на сервер помощника. Изменять данные расширение не умеет, запросы идут только по адресу из его настроек, код расширения открыт.

Что видят сотрудники с разными правами?

С расширением помощник читает данные с правами того, кто спрашивает: объекты без права чтения он не видит, ограничения на уровне записей соблюдаются. В варианте OData права задаются одним пользователем ai_reader для всех.

Можно ли сразу на рабочей базе?

Технически да — помощник только читает. Но пилот начинаем с копии: так проверка не зависит от нагрузки рабочей базы и прав доступа к реальным данным.

Что увидит модель?

Вопрос, описание объектов, которые помощник посмотрел, и записи, которые он прочитал для ответа. Ключ доступа, пароли и адреса модель не получает.

У нас УПП или конфигурация на обычных формах — получится?

Панель расширения — управляемая форма, в конфигурациях на обычных формах её не открыть. Для них — вариант OData: стандартный интерфейс работает на платформе 8.3, конфигурации в режиме совместимости проверяем на копии.

Как обновлять расширение?

Расширение раз в 12 часов проверяет на этом сайте, вышла ли новая версия, и показывает в панели ссылку на обновление. Администратор базы открывает «Настройки» → «Установить обновление»: 1С скачивает архив, сверяет его SHA-256 и обновляет расширение, запустив Конфигуратор на компьютере администратора; настройки и снятый безопасный режим сохраняются, после обновления 1С нужно перезапустить. Если в базе есть пользователи, Конфигуратор спросит вход администратора. В веб-клиенте и в базах без доступа в интернет — вручную: скачать архив и загрузить так же, как при установке.

Сколько сеансов 1С займёт помощник?

Расширение работает в сеансе того, кто спрашивает, и лишних лицензий не занимает. В варианте OData — не больше двух одновременных запросов; с reuseSessions сеансы переиспользуются.

Готовы начать?

Опишите задачу — вернусь с вопросами для первого разговора. Или сначала посмотрите, как помощник работает на учебной базе.

Обсудить пилот