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

21.06.25

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

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

Файлы

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

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

Подписка 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

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

См. также

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

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

15250 руб.

25.08.2025    39999    79    20    

94

Разработка Инструментарий разработчика Работа с интерфейсом Адаптация типовых решений Нейросети 1C:Бухгалтерия 1C:ERP 1С:ЗУП 1С:КА 1С:УНФ 1С:УТ 1С:Розница 1С:ДО 1С:ERP Управление предприятием 2 Платные (руб)

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

36600 руб.

28.08.2025    6001    2    2    

6

Нейросети 1С 8.3 1С:Управление торговлей 11 Управленческий учет Платные (руб)

Обработка подключения фотокамер Canon и Nikon к Управление торговлей 11.4 для потоковой загрузки фотографий в карточки товаров с автоматическим удалением фона

23180 руб.

24.06.2021    11534    5    7    

16

Нейросети 1С:Предприятие 8 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление нашей фирмой 3.0 Платные (руб)

Умный Excel" - ИИ-супердвигатель, который превращает часы работы в минуты! Технологии будущего уже здесь: загрузил Excel "магия ИИ" готовый результат

8540 руб.

02.07.2025    2668    2    0    

6

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

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

5084 руб.

08.11.2023    6381    19    0    

29

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

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

5084 руб.

13.03.2023    22579    52    50    

80

Нейросети Программист 1С 8.3 1С:Библиотека стандартных подсистем Бесплатно (free)

Ollama позволяет работать с разными облачными и локальными нейросетями бесплатно в виде чат-бота. Настроим полноценную среду для AI-ассистированной разработки на 1С, используя: Docker-контейнеры с MCP-серверами для 1С (метаданные, справка, проверка синтаксиса). Ollama работает с облачной моделью (поддерживающей function calling) MCPHost в качестве LLM-агента. Весь стек работает полностью локально без зарубежных платежей и номеров телефонов. Не требует VPN.

вчера в 10:30    242    ksnik    0    

5

Нейросети Программист Бесплатно (free)

Интеграция GPT-моделей в MAKER-STUDIO открыла новые возможности для ускорения проектов разработки, описания бизнес-процессов и автоматизации рутинных задач бизнес-аналитика. Делимся опытом тестирования разных моделей, рассказываем о роли контекста и промпта, а также о попытках обучения модели для создания корпоративной базы знаний. Вы узнаете, какие задачи реально решает связка MAKER и GPT, и почему это меняет подход к работе с требованиями и проектной документацией.

13.02.2026    338    Vladimir_Konyrev    0    

3
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
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 26 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 26 22.04.25 12:28 Сейчас в теме
(9)
СтруктураДанных = Новый Структура;
СтруктураДанных.Вставить("model", "GigaChat-2-preview");

Вот тут попробуйте модель
СтруктураДанных.Вставить("model", "GigaChat");
12. exitone 26 22.04.25 12:33 Сейчас в теме
(9)
Заголовки.Вставить("x-client-id", "<id клиента>");
плюс сюда не забудьте id клиента
10. exitone 26 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 26 29.07.25 16:24 Сейчас в теме
(15)
отправить файл на обработку таким образом у меня получилось единожды и "наощупь".
на следующий день эта возможность пропала
17. AlexandrSmith 69 25.08.25 13:10 Сейчас в теме
Все подключил, все работает, автор неплохо потрудился, и не дорого продает обработку. Заслужил лайка.
18. Lyumi3004 03.10.25 15:09 Сейчас в теме
с Интернет: Превышен таймаут
{ОбщийМодуль.КоннекторHTTP.Модуль(1643)}: ВызватьИсключение(ПодробноеПредставлениеОшибки(ОшибкаВыполненияЗапроса));
{ОбщийМодуль.КоннекторHTTP.Модуль(1309)}: Ответ = ОтправитьЗапрос(Сессия, ПодготовленныйЗапрос, НастройкиПодключения);
{ОбщийМодуль.КоннекторHTTP.Модуль(304)}: Возврат КакJson(ВызватьHTTPМетод(ТекущаяСессия, "POST", URL, Параметры), ПараметрыПреобразованияJSON);
{ВнешняяОбработка.ДиалогСDeepSeek.Форма.Форма1.Форма(105)}: Результат = КоннекторHTTP.PostJSON("https://api.deepseek.com/chat/completions", СтруктураДанных, Новый Структура("Аутентификация,Заголовки", Аутентификация, Заголовки, ПараметрыПодключения));

Работает исключительно при небольших текстовых запросах. Буквально "какой сегодня день ?". Запрос с чуть большим количеством символов выдает ошибку, указанную выше. Где собака порылась ?
20. exitone 26 30.11.25 18:52 Сейчас в теме
(18) собака порылась в общем модуле Коннектор. Найдите в нем тайма 30 и поставьте 300
Lyumi3004; +1 Ответить
19. Itabirit 10.10.25 12:24 Сейчас в теме
Подскажите с Гигачатом после августа (обновление API и авторизации) кто-то обработку юзал? Авторизация проходит?
21. Ileshapro100 18.01.26 14:10 Сейчас в теме
(19) Ну я не юзал обработку, сам писал, тут автор практически все написал, как делать.
Результат = НовыйРезультат();
	
	Заголовки = Новый Соответствие;
	Заголовки.Вставить("x-client-id", Параметры.Логин);
	
	Аутентификация = КоннекторHTTP.НоваяАутентификацияBearer(Параметры.Токен);
	
	ДанныеДляОтправки = Новый Структура;
	ДанныеДляОтправки.Вставить("model","GigaChat-2-Pro");
	
	НовоеСообщение = Новый Массив;
	
	ДанныеСообщения = Новый Структура;
	ДанныеСообщения.Вставить("role","user");
	ДанныеСообщения.Вставить("content",ШаблонОтвета.Шаблон);
	
	ИдентификаторовФайлов = Новый Массив;
	ИдентификаторовФайлов.Добавить(Параметры.УИДФайла);
	ДанныеСообщения.Вставить("attachments",ИдентификаторовФайлов); 
	
	НовоеСообщение.Добавить(ДанныеСообщения);
	
	ДанныеДляОтправки.Вставить("messages",НовоеСообщение);
	
	ДополнительныеПараметры = КоннекторHTTP.НовыеПараметры();
	ДополнительныеПараметры.Заголовки =  Заголовки;
	ДополнительныеПараметры.Аутентификация = Аутентификация;
	ДополнительныеПараметры.Json = ДанныеДляОтправки;
	
	Ответ = КоннекторHTTP.Post("https://gigachat.devices.sberbank.ru/api/v1/chat/completions",Неопределено,ДополнительныеПараметры); 
Показать
Сам ответ приходит 200 - это если вам надо спросить у чата по файлу что-то
Для отправки сообщения требуется регистрация/авторизация