1C и GigaChat на базе 1С HTTP Connector (теперь + DeepSeek)

21.06.25

Интеграция - Нейросети

Данная публикация демонстрирует основы взаимодействия 1С по АПИ с GigaChat от Сбера. Приведены примеры получения токена, отправки файла для последующей обработки и чат с ИИ, и непосредственно обработка файла. upd: в публикацию добавлено как обрабатывать файлы DeepSeek

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
1C и GigaChat на базе 1С HTTP Connector
.epf 7,15Kb
18 2 150 руб. Купить
1C и DeepSeek на базе 1С HTTP Connector
.epf 6,66Kb
9 2 150 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Моя вторая публикация и снова на базе https://github.com/vbondarevsky/Connector

upd:

Сразу выкладываю как только это у меня получилось.
Итак, чтобы отправить файл дипсику для обработки нужно:

 

 

 

В приложенной обработке реализовано получение токена Bearer для обращения к API GigaChat, помещение файла pdf в хранилище GigaChat для последующего анализа и обработки и простой чат вопрос - ответ.

upd:
Добавляю простейший запрос для получения описания номенклатуры по ее наименованию:
 

Функция СпроситьИИНаСервере(Наименование)

	//ИДФайла = Ответ;
    Аутентификация = КоннекторHTTP.НоваяАутентификацияBearer(Токен());
    Заголовки = Новый Соответствие;
    Заголовки.Вставить("x-client-id", "");
    
    // Определение структуры
    СтруктураДанных = Новый Структура;
    СтруктураДанных.Вставить("model", "GigaChat");
    
    Сообщения = Новый Массив;
    
    СообщениеСистемы = Новый Структура;
    СообщениеСистемы.Вставить("role", "system");
    СообщениеСистемы.Вставить("content", "Ты профессиональный маркетолог. Умеешь из короткого названия товара сгенерировать описание. Результат выводишь в виде текста без своих комментариев.");
    Сообщения.Add(СообщениеСистемы);
    
    СообщениеПользователя = Новый Структура;
    СообщениеПользователя.Вставить("role", "user");
    СообщениеПользователя.Вставить("content", Наименование);  
    //СообщениеПользователя.Вставить("attachments", ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(ИДФайла));  
    
    
    Сообщения.Add(СообщениеПользователя);
    
    СтруктураДанных.Вставить("messages", Сообщения);
    
    // Теперь структура готова к использованию    
    
    Результат = КоннекторHTTP.PostJSON("https://gigachat.devices.sberbank.ru/api/v1/chat/completions", СтруктураДанных, Новый Структура("Аутентификация,Заголовки", Аутентификация, Заголовки));
    Ответ = Результат["choices"][0]["message"]["content"];
	
	Возврат Ответ;
	
КонецФункции

 

Выкладываю код, он же в приложенной обработке.

Подставляем в функцию Токен() <Authorization key> из кабинета developers.sber.ru

&НаСервере
Функция Токен()
    
    Аутентификация = КоннекторHTTP.НоваяАутентификацияBearer("<Authorization key>");

Также понадобится <id клиента>

  

  Данные = Новый Структура("purpose", "general");
    Заголовки = Новый Соответствие;
    Заголовки.Вставить("x-client-id", "<id клиента>");

Прилагаю код формы:

&НаКлиенте
Процедура Команда1(Команда)
     РеквизитТокен = Токен();
 КонецПроцедуры
 
 &НаКлиенте
Процедура Команда2(Команда)
     СкормитьПДФ();
 КонецПроцедуры
 
&НаСервере
Функция Токен()
    
    Аутентификация = КоннекторHTTP.НоваяАутентификацияBearer("<Authorization key>");

    Данные = Новый Структура("scope", "GIGACHAT_API_PERS");
    Заголовки = Новый Соответствие;
    Заголовки.Вставить("RqUID",XMLСтрока(Новый УникальныйИдентификатор));

    Результат = КоннекторHTTP.КакJSON(КоннекторHTTP.Post("https://ngw.devices.sberbank.ru:9443/api/v2/oauth", Неопределено, Новый Структура("Аутентификация,Заголовки, Данные", Аутентификация, Заголовки, Данные)));
    
    Возврат Результат["access_token"];    
    
КонецФункции

&НаСервере 
Процедура СкормитьПДФ()
    Аутентификация = КоннекторHTTP.НоваяАутентификацияBearer(Токен());

    Файлы = Новый Массив;  
    ФайлДанных = КоннекторHTTP.НовыйОтправляемыйФайл("file", "d:\test.pdf", Новый ДвоичныеДанные("d:\test.pdf"),  "application/pdf");
    Файлы.Добавить(ФайлДанных);

    Данные = Новый Структура("purpose", "general");
    Заголовки = Новый Соответствие;
    Заголовки.Вставить("x-client-id", "<id клиента>");

    Результат = КоннекторHTTP.Post("https://gigachat.devices.sberbank.ru/api/v1/files", Неопределено, Новый Структура("Файлы,Данные,Аутентификация,Заголовки", Файлы, Данные, Аутентификация, Заголовки));
    Ответ = КоннекторHTTP.КакJson(Результат)["id"];
КонецПроцедуры    


&НаСервере
Процедура СпроситьИИНаСервере()

    ИДФайла = Ответ;
    Аутентификация = КоннекторHTTP.НоваяАутентификацияBearer(Токен());
    Заголовки = Новый Соответствие;
    Заголовки.Вставить("x-client-id", "<id клиента>");
    
    // Определение структуры
    СтруктураДанных = Новый Структура;
    СтруктураДанных.Вставить("model", "GigaChat");
    
    Сообщения = Новый Массив;
    
    СообщениеСистемы = Новый Структура;
    СообщениеСистемы.Вставить("role", "system");
    СообщениеСистемы.Вставить("content", "Ты - пьяный гопник и быдло. Тебе нужно отвечать на все вопросы как будто ты маргинал.");
    Сообщения.Add(СообщениеСистемы);
    
    СообщениеПользователя = Новый Структура;
    СообщениеПользователя.Вставить("role", "user");
    СообщениеПользователя.Вставить("content", ВопросИИ);  
    //СообщениеПользователя.Вставить("attachments", ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(ИДФайла));  
    
    
    Сообщения.Add(СообщениеПользователя);
    
    СтруктураДанных.Вставить("messages", Сообщения);
    
    // Теперь структура готова к использованию    
    
    Результат = КоннекторHTTP.PostJSON("https://gigachat.devices.sberbank.ru/api/v1/chat/completions", СтруктураДанных, Новый Структура("Аутентификация,Заголовки", Аутентификация, Заголовки));
    Ответ = Результат["choices"][0]["message"]["content"];
КонецПроцедуры


&НаКлиенте
Процедура СпроситьИИ(Команда)
    СпроситьИИНаСервере();
КонецПроцедуры

 

upd:
Пример обработки загруженного файла в хранилище GigaChat
&НаСервере
Процедура СпроситьИИНаСервере()

	ИДФайла = Ответ;
	Аутентификация = КоннекторHTTP.НоваяАутентификацияBearer(РеквизитТокен);
	Заголовки = Новый Соответствие;
	Заголовки.Вставить("x-client-id", "");
	
	// Определение структуры
	СтруктураДанных = Новый Структура;
	СтруктураДанных.Вставить("model", "GigaChat-2-preview");
	
	Сообщения = Новый Массив;
	
	СообщениеПользователя = Новый Структура;
	СообщениеПользователя.Вставить("role", "user");
	СообщениеПользователя.Вставить("content", "Выпиши все значения id в документе в столбик. Отвечай на основе приложенного документа");  
	СообщениеПользователя.Вставить("attachments", ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(ИДФайла));  
	
	
	Сообщения.Add(СообщениеПользователя);
	
	СтруктураДанных.Вставить("messages", Сообщения);
	
	// Теперь структура готова к использованию	
	
	Результат = КоннекторHTTP.PostJSON("https://gigachat.devices.sberbank.ru/api/v1/chat/completions", СтруктураДанных, Новый Структура("Аутентификация,Заголовки", Аутентификация, Заголовки));
	Ответ = Результат["choices"][0]["message"]["content"];
КонецПроцедуры

 

upd:

Добавлен диалог с DeepSeek

 

Проплатить токены так:


Прилагаю пример:

&НаСервере
Процедура СпроситьИИНаСервере()

	ИДФайла = Ответ;
	Аутентификация = КоннекторHTTP.НоваяАутентификацияBearer("<API key DeepSeek>");
	Заголовки = Новый Соответствие;
	
	// Определение структуры
	СтруктураДанных = Новый Структура;
	СтруктураДанных.Вставить("model", "deepseek-chat");
	
	Сообщения = Новый Массив;
	
	СообщениеПользователя = Новый Структура;
	СообщениеПользователя.Вставить("role", "system");
	СообщениеПользователя.Вставить("content", "Ты отвечаешь как маргинал, быдло и интернет тролль.");  
	
	Сообщения.Add(СообщениеПользователя);

	СообщениеПользователя = Новый Структура;
	СообщениеПользователя.Вставить("role", "user");
	СообщениеПользователя.Вставить("content", ВопросИИ);  
	
	Сообщения.Add(СообщениеПользователя);
	
	СтруктураДанных.Вставить("messages", Сообщения);
	СтруктураДанных.Вставить("stream", false);
	// Теперь структура готова к использованию	
	
	Результат = КоннекторHTTP.PostJSON("https://api.deepseek.com/chat/completions", СтруктураДанных, Новый Структура("Аутентификация,Заголовки", Аутентификация, Заголовки));
	Ответ = Результат["choices"][0]["message"]["content"];
КонецПроцедуры

 

 

 

 

Проверено на следующих конфигурациях и релизах:

  • 1С:Библиотека стандартных подсистем, редакция 3.1, релизы 3.1.11.155, 3.1.11.142

Вступайте в нашу телеграмм-группу Инфостарт

См. также

Администрирование веб-серверов Сервера Нейросети Программист Платные (руб)

Сервер поиска по метаданным и поиска по коду, Сервер экспорта и поиска по документации, Сервер синтаксической проверки кода

6000 руб.

17.06.2025    14196    201    20    

80

Нейросети 1С v8.3 Платные (руб)

Подключите Вашу 1С к ИИ. Расширение практически для любых конфигураций 1С, которое добавляет к ним MCP серверы и позволяет делать свои инструменты (tools), которые могут вызывать любые нейросетевые модели.

12000 руб.

10.07.2025    2827    5    3    

9

Инструментарий разработчика Нейросети Платные (руб)

Первые попытки разработки на 1С с использованием больших языковых моделей (LLM) могут разочаровать. LLMки сильно галлюцинируют, потому что не знают устройства конфигураций 1С, не знают нюансов синтаксиса. Но если дать им подсказки с помощью MCP, то результат получается кардинально лучше.<br/> Далее в публикации:<br/> MCP для поиска по метаданым 1С, справке синтакс-помошника и проверки синтаксиса.

9900 руб.

25.08.2025    1411    4    7    

10

Нейросети Пользователь 1С v8.3 1С:Управление нашей фирмой 1.6 1С:Управление торговлей 11 1С:Управление нашей фирмой 3.0 Оптовая торговля, дистрибуция, логистика Россия Управленческий учет Платные (руб)

Расширение "Искусственный интеллект и нейросети в 1С: Работа с отзывами маркетплейсов" предназначено для применения искусственного интеллекта в повседневной деятельности селлеров на маркетплейсах. Среди функций - работа с отзывами, вопросами и чатами покупателей, диалог с нейросетями, генерация картинок, заполнение описаний номенклатуры и другое.

6000 руб.

03.04.2024    9606    5    0    

10

Нейросети Мастера заполнения 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Платные (руб)

Расширение для заполнения описания номенклатуры с помощью модели ИИ GigaChat от Сбера. Расширение формирует продающее описание товара по его наименованию с помощью модели искусственного интеллекта. Будет полезно для владельцев интернет магазинов, каталогов товаров и продающих через маркетплейсы. Адаптировано для основных конфигураций: УТ, ЕРП, КА, УНФ.

5000 руб.

08.11.2023    4730    17    0    

27

Мастера заполнения Нейросети 1С v8.3 1C:Бухгалтерия 1С:Управление торговлей 11 Платные (руб)

Расширение для заполнения описания товара (номенклатуры) с помощью модели ИИ ChatGPT с ключевыми словами. Расширение формирует продающее описание товара по его наименованию с помощью модели искусственного интеллекта. Будет полезно для владельцев интернет магазинов, каталогов товаров и продающих через маркетплейсы. Адаптировано для основных конфигураций: УТ, ЕРП, КА, УНФ. Прошло аудит на 1cfresh.com. Версия для автоматического заполнения

5000 руб.

13.03.2023    20492    49    50    

79

Нейросети 1С v8.3 Бесплатно (free)

На одном хорошем примере показываю, как можно использовать встроенный инструмент OpenAI Code interpreter в 1С.

26.08.2025    2326    mkalimulin    6    

14

Нейросети Инструментарий разработчика Программист 1С v8.3 Абонемент ($m)

В эпоху ИИ-инструментов, таких как Cursor (IDE на базе VS Code с встроенным AI), важно иметь доступ к контексту кода. Model Context Protocol (MCP) — это стандарт, позволяющий AI-моделям безопасно взаимодействовать с инструментами, включая чтение файлов и поиск по коду. В этой статье я расскажу, как создать минимальный MCP-сервер на Node.js, который предоставляет доступ к текстам модулей 1С из выгрузки конфигурации. Это позволит вашему AI-ассистенту в Cursor "видеть" код модулей, искать по ним и анализировать. Сервер работает в режиме STDIO (без HTTP), что упрощает запуск и интеграцию. Я опишу всё шаг за шагом, с примерами кода и настройками.

1 стартмани

25.08.2025    515    0    xamass    2    

6
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. akR00b 25 15.04.25 09:04 Сейчас в теме
за юмор + ) какой тариф за сие использование? и вообще есть ограничения?
4. qazaz2 17 21.04.25 11:04 Сейчас в теме
Приветствую,
По ссылке https://github.com/vbondarevsky/Connector скачал расширение. Появился общий модуль БОНД_Коннектор.
Скачал обработку. В обработке обращение к КоннекторHTTP, которого вроде как нет.
В БОНД_Коннектор например метода НоваяАутентификацияBearer нет.
Что я делаю не так?
5. exitone 23 21.04.25 14:15 Сейчас в теме
Я использовал этот модуль
Возможно разработка на гитхабе ушла вперед(или назад)
Прикрепленные файлы:
Общий модуль КоннекторHTTP_ Модуль.txt
8. qazaz2 17 21.04.25 22:34 Сейчас в теме
9. qazaz2 17 22.04.25 12:18 Сейчас в теме
Добавил общий модуль КоннекторHTTP.
Синтаксические ошибки из обработки ушли.
Вставил свой <Authorization key>.
В отладке вижу что токен получаю.
Но СпроситьИИ возвращает "message" - "Internal Server Error" и "status" - 500
Что я делаю не так?
11. exitone 23 22.04.25 12:28 Сейчас в теме
(9)
СтруктураДанных = Новый Структура;
СтруктураДанных.Вставить("model", "GigaChat-2-preview");

Вот тут попробуйте модель
СтруктураДанных.Вставить("model", "GigaChat");
12. exitone 23 22.04.25 12:33 Сейчас в теме
(9)
Заголовки.Вставить("x-client-id", "<id клиента>");
плюс сюда не забудьте id клиента
10. exitone 23 22.04.25 12:26 Сейчас в теме
Вот пример, когда на основе загруженного pdf файла, GigaChat выписывает в столбик все найденные в файле id

СообщениеПользователя = Новый Структура;
СообщениеПользователя.Вставить("role", "user");
СообщениеПользователя.Вставить("content", "Выпиши все значения id в документе в столбик. Отвечай на основе приложенного документа");
СообщениеПользователя.Вставить("attachments", ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(ИДФайла));
13. qazaz2 17 22.04.25 13:16 Сейчас в теме
14. qazaz2 17 22.04.25 15:58 Сейчас в теме
Заработало, дело было в "id клиента",
спасибо.
15. user2094478 24.07.25 00:10 Сейчас в теме
Спасибо за обработку, заработало с DeepSeek.

Подскажите, если файл передавать в Base64 что указывать в структуре Новый Структура("role, file", "url", urlclear) ?

СообщениеПользователя = Новый Структура("role, content", "user", "Анализируй этот документ:");

СтруктураДанных.messages.Добавить(СообщениеПользователя);

СообщениеПользователя = Новый Структура("role, file", "url", urlclear); //urlclear = url файла для анализа или Base64

СтруктураДанных.messages.Добавить(СообщениеПользователя);


Сейчас при передаче Base64 выдается ошибка:

Ошибка при десериализации JSON.

HTTP POST https://api.deepseek.com/chat/completions
422: Unprocessable Entity
Тело ответа:
Failed to deserialize the JSON body into the target type: messages[3].role: unknown variant `url`, expected one of `system`, `user`, `assistant`, `tool` at line 17 column 16
16. exitone 23 29.07.25 16:24 Сейчас в теме
(15)
отправить файл на обработку таким образом у меня получилось единожды и "наощупь".
на следующий день эта возможность пропала
17. AlexandrSmith 69 25.08.25 13:10 Сейчас в теме
Все подключил, все работает, автор неплохо потрудился, и не дорого продает обработку. Заслужил лайка.
Для отправки сообщения требуется регистрация/авторизация