Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
19 фев 2026, 21:03

ИИ GigaChat

Автор Rehala, Сегодня в 03:37

0 Пользователей и 1 гость просматривают эту тему.

Rehala

Константы:
ТокенДоступаКлиентID

ЦитироватьДлина: 0
ПКМ создать форму констант

Общие модули:

Процедура ПоказатьСообщениеПользователю(ТекстСообщения, ПолеФормы = Неопределено, КлючДанных = Неопределено) Экспорт

СообщениеПользователю = Новый СообщениеПользователю;
СообщениеПользователю.Текст = ТекстСообщения;
СообщениеПользователю.Поле = ПолеФормы;                     
СообщениеПользователю.КлючДанных = КлючДанных;
СообщениеПользователю.Сообщить();

КонецПроцедуры

Функция ПолучитьТокенДоступа(ТокенАвторизацииGigaChat, ClientIDДляАвторизацииВGigaChat)

ДанныеВозврата = Неопределено;

HTTPСоединение = Новый HTTPСоединение("ngw.devices.sberbank.ru", 9443,,,,, Новый ЗащищенноеСоединениеOpenSSL);

Заголовки = Новый Соответствие;
Заголовки.Вставить("Accept", "application/json");
Заголовки.Вставить("Content-Type", "application/x-www-form-urlencoded");
Заголовки.Вставить("RqUID", ClientIDДляАвторизацииВGigaChat);
Заголовки.Вставить("Authorization", "Basic " + ТокенАвторизацииGigaChat);

Запрос = Новый HTTPЗапрос("/api/v2/oauth", Заголовки);
Запрос.УстановитьТелоИзСтроки("scope=GIGACHAT_API_PERS", КодировкаТекста.UTF8);

Ответ = HTTPСоединение.ОтправитьДляОбработки(Запрос);

Если Ответ.КодСостояния >= 200 И Ответ.КодСостояния <= 299 Тогда
ДанныеВозврата = ПрочитатьЗначениеJSON(Ответ.ПолучитьТелоКакСтроку());
Иначе
Сообщить(Ответ.ПолучитьТелоКакСтроку());
КонецЕсли;

Возврат ДанныеВозврата;

КонецФункции

Функция ПолучитьДанныеИзИИ(Текст) Экспорт

ТокенДоступаGigaChat = ПолучитьТокенДоступа(Константы.ТокенДоступа.Получить(), Константы.КлиентID.Получить());
ТокенДоступаGigaChat = ТокенДоступаGigaChat.access_token;

ДанныеВозврата = Неопределено;
 
  СтруктураСообщения = Новый Структура;
СтруктураСообщения.Вставить("role", "system");
СтруктураСообщения.Вставить("content", Текст);

МассивСтруктуры = Новый Массив;
МассивСтруктуры.Добавить(СтруктураСообщения);

СтруктураОтправки = Новый Структура;
СтруктураОтправки.Вставить("model", "GigaChat-2-Max");
СтруктураОтправки.Вставить("messages", МассивСтруктуры);

HTTPСоединение = Новый HTTPСоединение("gigachat.devices.sberbank.ru",,,,,, Новый ЗащищенноеСоединениеOpenSSL);

Заголовки = Новый Соответствие;
Заголовки.Вставить("Content-Type", "application/json");
Заголовки.Вставить("Authorization", "Bearer " + ТокенДоступаGigaChat);

Запрос = Новый HTTPЗапрос("/api/v1/chat/completions", Заголовки);
Запрос.УстановитьТелоИзСтроки(ЗаписатьЗначениеJSON(СтруктураОтправки));

Ответ = HTTPСоединение.ОтправитьДляОбработки(Запрос);

Если Ответ.КодСостояния >= 200 И Ответ.КодСостояния <= 299 Тогда
ДанныеВозврата = ПрочитатьЗначениеJSON(Ответ.ПолучитьТелоКакСтроку());
Иначе
Сообщить(Ответ.ПолучитьТелоКакСтроку());
КонецЕсли;

Возврат ДанныеВозврата;

КонецФункции



Обработка:
ПомощникПоПрогнозуПотребностейВМатериалах

Форма:(все числа неотрицательные)
ВсеМатериалы:
Номенклатура
Спецификация
ЕдиницаИзмерения
Количество
ГрафикИзмененияОстатков(Диограмма)
КоличествоМесяцев(Длина:2, Количество месяцев для прогноза)
ТаблицаПрогноза:
Материал
Количество
ПроцентУверенностиПрогноза(Длинна:0)

Добавить команду СформироватьПрогнозПотребностей

На форме:
Кнопка
КоличествоМесяцев
Страницы
     Страница
          ТпблицаПрогноза

     Страница
          График
&НаСервере
// 1)
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
КоличествоМесяцев = 1;
КонецПроцедуры

&НаКлиенте
// 4)
Процедура СформироватьПрогнозПотребностей(Команда)
СформироватьПрогнозПотребностейНаСервере();
СформироватьИзмененияОстатковМатериалов();
КонецПроцедуры

Rehala

Общий модуль: ОбщегоНазначения

Теги: abp 

Похожие темы (1)

84661

Автор Rehala


Рейтинг@Mail.ru

Поиск