Инструкция для администратора 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.
Вопросы о пилоте
Нужно ли менять конфигурацию?
Нет. Расширение подключается поверх конфигурации и не меняет её объекты: оно добавляет свой раздел, панель и кнопку и удаляется в один шаг. Объекты конфигурации оно не заимствует (кроме языка), поэтому не зависит от её доработок. Вариант OData — только настройка базы: публикация, состав объектов и пользователь.
Почему расширению нужно снять безопасный режим?
В безопасном режиме 1С запрещает расширениям HTTP-запросы, а расширению нужно отправить вопрос и результаты чтения на сервер помощника. Изменять данные расширение не умеет, запросы идут только по адресу из его настроек, код расширения открыт.
Что видят сотрудники с разными правами?
С расширением помощник читает данные с правами того, кто спрашивает: объекты без права чтения он не видит, ограничения на уровне записей соблюдаются. В варианте OData права задаются одним пользователем ai_reader для всех.
Можно ли сразу на рабочей базе?
Технически да — помощник только читает. Но пилот начинаем с копии: так проверка не зависит от нагрузки рабочей базы и прав доступа к реальным данным.
Что увидит модель?
Вопрос, описание объектов, которые помощник посмотрел, и записи, которые он прочитал для ответа. Ключ доступа, пароли и адреса модель не получает.
У нас УПП или конфигурация на обычных формах — получится?
Панель расширения — управляемая форма, в конфигурациях на обычных формах её не открыть. Для них — вариант OData: стандартный интерфейс работает на платформе 8.3, конфигурации в режиме совместимости проверяем на копии.
Как обновлять расширение?
Расширение раз в 12 часов проверяет на этом сайте, вышла ли новая версия, и показывает в панели ссылку на обновление. Администратор базы открывает «Настройки» → «Установить обновление»: 1С скачивает архив, сверяет его SHA-256 и обновляет расширение, запустив Конфигуратор на компьютере администратора; настройки и снятый безопасный режим сохраняются, после обновления 1С нужно перезапустить. Если в базе есть пользователи, Конфигуратор спросит вход администратора. В веб-клиенте и в базах без доступа в интернет — вручную: скачать архив и загрузить так же, как при установке.
Сколько сеансов 1С займёт помощник?
Расширение работает в сеансе того, кто спрашивает, и лишних лицензий не занимает. В варианте OData — не больше двух одновременных запросов; с reuseSessions сеансы переиспользуются.