1С:Фреш: как отдать данные наружу, когда обработку поставить нельзя
Во Фреше нет своего сервера, конфигуратора и произвольных расширений. Показываем, что у облачной базы все же есть наружу, и как через это подключить ИИ-агента и Алису AI для бизнеса без единой доработки.
Задача
Клиент работает в 1С:Фреш. Нужно отдать данные наружу: руководитель хочет спрашивать базу через ИИ, подрядчик просит выгрузку остатков, кто-то предлагает подключить Алису AI для бизнеса. Привычные ходы не работают: внешнюю обработку с обменом во Фреш не поставить, расширение из своего файла не загрузить, HTTP-сервис не опубликовать, к серверу доступа нет.
Что у Фреша есть наружу
Единственный штатный канал это стандартный интерфейс OData. Он включается обработкой "Настройка автоматического REST-сервиса": на вкладке "Авторизация" заводится служебный пользователь, на вкладке "Состав" отмечаются объекты, которые можно читать. После этого база отвечает на запросы данных по адресу приложения с хвостом odata/standard.odata.
У этого канала три особенности, которые надо учитывать:
- OData отдает сырые записи со ссылками вместо названий. Контрагент в документе это идентификатор, а не имя.
- Итогов нет. Остатки и обороты приходится либо собирать из движений, либо звать функции регистров, о которых мало кто знает.
- Языка запросов нет: ни соединений, ни группировок. Каждый осмысленный вопрос это несколько выборок.
Для программы, которая заранее знает, что ей нужно, этого достаточно. Для ИИ, который задает вопросы словами, этого мало: ему нужен посредник.
Решение
Жёлтый мост подключается к Фрешу как обычный клиент OData под служебным пользователем и закрывает три пробела выше. Дальше зависит от того, кто потребитель.
ИИ-агент. В кабинете создается ключ вида "1С Фреш": адрес приложения, логин и пароль служебного пользователя, проверка соединения. Агент получает готовый промт с набором операций: список сущностей, поля, чтение порциями, объект по ссылке, срез последних значений регистра, остатки и обороты. Учетная запись Фреша агенту не передается.
Алиса AI для бизнеса. От того же ключа выдается ключ приложения "Алиса". Его адрес вписывается в плагин "1С:Предприятие" в Яндекс 360, логин и пароль любые. Мост принимает обращения плагина и переводит их в чтения OData, включая произвольные запросы Алисы на языке 1С в пределах одной таблицы и функции остатков и оборотов регистров. Подробно: статья "Как подключить 1С:Фреш к Алисе AI для бизнеса".
Что получится и чего не будет
| Задача | Агент | Алиса |
|---|---|---|
| Остатки товаров на дату | да | да |
| Долги контрагентов по счету 62 | да | да |
| Обороты по счету за период | да | да |
| Документы за период с суммами и составом | да | да |
| Соединение двух таблиц в одном запросе | несколько операций | переформулирует |
| Запись в базу | нет | нет |
Через OData данные только читаются. Если нужна запись, у Фреша для этого есть свои механизмы обмена, а Алиса не пишет в базу ни при каком способе подключения.
Как сделать
1. Во Фреше настройте REST-сервис: отдельный служебный пользователь, состав объектов по делу.
2. В кабинете создайте ключ вида "1С Фреш", проверьте соединение, выпустите ключ.
3. В карточке ключа на вкладке "Источник" включите показ схемы ИИ, иначе агент и Алиса не увидят состав базы.
4. Для агента возьмите промт с вкладки "Промт для ИИ". Для Алисы выдайте ключ приложения на вкладке "Ключи приложений" и вставьте адрес в плагин.
5. Первый вопрос: "Какие остатки на складе на сегодня?".
Что учесть
- Состав объектов в REST-сервисе это ваш периметр: мост не увидит больше, чем разрешено служебному пользователю.
- Персональные данные маскируются на стороне моста до отправки в ИИ.
- Ключ Алисы не тарифицируется отдельно и гаснет вместе с ключом базы. Отозвать любой ключ можно одной кнопкой.
Не уверены, как подключается именно ваша база - в 1С:Фреш, в аренде, своя серверная или файловая? Выберите свой случай на главной: покажем, что мешает и что меняет мост.