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

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

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

Пилот проверяет один сценарий на копии вашей базы. С вашей стороны нужны веб-публикация со стандартным интерфейсом OData и пользователь только для чтения — это настройка, а не доработка конфигурации. Ниже — всё по шагам, с проверками.

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

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

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

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

  • Копия базы
  • Веб-публикация с OData
  • Состав объектов OData
  • Пользователь только для чтения
  • Сетевой доступ к публикации

Я

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

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

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

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

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

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

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

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

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

    Проверка связи, загрузка структуры базы, прогон контрольных вопросов.

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

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

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

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

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

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

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

Шаги 1–5 занимают обычно несколько часов, если веб-сервер с модулем 1С уже настроен.

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

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

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

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

Шаг 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С внутри сети; мне — удалённый доступ к этой машине на время установки и пилота.

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

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

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

Что делаю я

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

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

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

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

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

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

  • Копия базы развёрнута, в ней есть данные за период сценария
  • Веб-публикация со стандартным интерфейсом OData
  • Состав OData: объекты сценария и справочники, на которые они ссылаются
  • Пользователь ai_reader: только чтение, аутентификация 1С с паролем
  • $metadata открывается в браузере под этим пользователем
  • Согласован вариант размещения и сетевой доступ
  • Готовы контрольные вопросы с ожидаемыми ответами

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

  • 401 при открытии $metadata — Неверный логин или пароль, либо у пользователя нет аутентификации 1С с паролем.
  • 404 по адресу …/odata/standard.odata — Публикация без флажка OData или другой адрес публикации; проверьте default.vrd.
  • XML открывается, но объектов нет — Объекты не включены в состав стандартного интерфейса OData (шаг 3).
  • Вместо названий — идентификаторы — Не опубликованы справочники, на которые ссылаются документы.
  • Ошибка сертификата — Сертификат внутреннего центра — пришлите корневой сертификат (PEM), проверку отключать не нужно.
  • Не хватает лицензий — Включите reuseSessions="autouse"; помощник держит не больше двух одновременных запросов.
  • Долгие ответы на больших таблицах — Помощник сужает отбор по периоду и ссылкам; при необходимости увеличиваем тайм-аут чтения.

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

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

Нет. Публикация OData, состав объектов и пользователь — это настройка базы. Код из шага 3 запускается один раз как обработка и в конфигурацию не встраивается.

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

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

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

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

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

Стандартный интерфейс OData работает на платформе 8.3; конфигурации в режиме совместимости проверяем на копии. Если OData не подходит, обсудим другой штатный способ подключения.

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

По умолчанию не больше двух одновременных запросов; с reuseSessions сеансы переиспользуются.

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

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

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