Групповое изменение реквизитов с помощью... искусственного интеллекта

30.01.25

Разработка - Инструментарий разработчика

Думаю, почти все специалисты знают типовую обработку "Групповое изменение реквизитов". Она всем хороша, но уж очень много кликов. С помощью ИИ сведем весь пользовательский интерфейс к одному полю ввода.

Скачать файл

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

Наименование По подписке [?] Купить один файл
Групповое изменение реквизитов с... ИИ:
.epf 7,28Kb
3
3 Скачать (1 SM) Купить за 1 850 руб.

На этом простом учебном примере я хочу показать вам что скрывается "под капотом" внедрения искусственного интеллекта в существующие бизнес-системы. Для работы нам понадобится бесплатная Библиотека искусственного интеллекта для 1С

Итак, как я и обещал у нас с вами одно поле ввода, куда мы вводим в произвольной форме, на естественном языке где и что на что мы хотим поменять. На прочие поля (например, модель) не обращайте внимание, они нужны нам здесь для экспериментов. Если бы мы делали что-то подобное для реального использования, мы бы все лишнее убрали. Достаточно одного поля ввода и одной кнопки. Еще было бы прекрасно, если бы этой кнопкой был микрофончик. Ждем, когда в платформе появится аудиозапись, давно пора.

 

 

 

Задачу можно решить двумя способами. Первый в полной мере можно охарактеризовать словосочетанием santa simplicitas. Просто просим написать для нас код, а затем запускаем его на выполнение.

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

&НаКлиенте
Процедура Рецепт1(Команда)
	промт="Нужен код на языке 1С для групповой замены реквизита. В ответе только код без комментариев ";
	промт=промт+Вопрос;
	Ответ=БиблиотекаИскусственногоИнтеллекта.Генерация(промт,модель,0);
	Ответ=стрзаменить(Ответ,"```1C","");
	Ответ=стрзаменить(Ответ,"```1c","");
	Ответ=стрзаменить(Ответ,"```1С","");
	Ответ=стрзаменить(Ответ,"```1с","");
	Ответ=стрзаменить(Ответ,"```","");
	ВыполнитьКод(Ответ);
КонецПроцедуры

Видите, как "мало букв"? А если бы еще не бессмысленная борьба с ```! Этот пример прекрасен в своей простоте и... практически бесполезен. У идеи выполнять произвольный код на сервере нет никаких шансов добраться до прода. Кроме того, стабильно писать работоспособный код на 1С сейчас могут далеко не все модели. А только те, которые обладают почетным званием "думающих" и соответствующим этому высокому званию ценником. Вот тут недорогая рабочая лошадка, что называется, "не вытянула"

 

 

Если же нам надо сделать что-то более безопасное, управляемое, недорогое, тогда придется немного потрудиться.

 

&НаСервере
Процедура ВыполнитьЗамену(аргументы)
	ЧтениеJSON=Новый ЧтениеJSON;
	ЧтениеJSON.УстановитьСтроку(аргументы);	
	ста=ПрочитатьJSON(ЧтениеJSON);
	ЧтениеJSON.Закрыть();
	если ста.PartName="Справочники" тогда
		выб=справочники[ста.ObjectName].выбрать();
	иначе
		выб=документы[ста.ObjectName].выбрать();
	конецесли;
	пока выб.следующий() цикл
		если выб[ста.FieldName]=ста.LeftValue тогда
			об=выб.получитьобъект();
			об[ста.FieldName]=ста.RigthValue;
			об.записать();
		конецесли;	
	конеццикла;
КонецПроцедуры	


&НаСервере
Функция ПолучитьИнструменты()
	нс=справочники.БИИ_Инструменты.НайтиПоНаименованию("MassUpdate1C");
	если нс.Пустая() тогда
		нов=справочники.БИИ_Инструменты.СоздатьЭлемент();
		нов.Наименование="MassUpdate1C";
		нстр=нов.ПараметрыФункции.Добавить();
		нстр.Имя="PartName";
		нстр.Описание="Раздел метаданных";
		нстр.Тип="string";
		нстр.Перечень="Справочники,Документы";
		нстр=нов.ПараметрыФункции.Добавить();
		нстр.Имя="ObjectName";
		нстр.Описание="Имя объекта";
		нстр.Тип="string";
		нстр=нов.ПараметрыФункции.Добавить();
		нстр.Имя="FieldName";
		нстр.Описание="Наименование реквизита";
		нстр.Тип="string";
		нстр=нов.ПараметрыФункции.Добавить();
		нстр.Имя="LeftValue";
		нстр.Описание="Левое значение, начальное значение";
		нстр.Тип="string";
		нстр=нов.ПараметрыФункции.Добавить();
		нстр.Имя="RigthValue";
		нстр.Описание="Правое значение, конечное значение";
		нстр.Тип="string";
		нов.Записать();
		нс=нов.Ссылка;
	конецесли;
	рез=новый массив;
	рез.Добавить(нс);
	возврат рез;
КонецФункции	


&НаКлиенте
Процедура Рецепт2(Команда)
	инструменты=ПолучитьИнструменты();
	рез=БиблиотекаИскусственногоИнтеллекта.Генерация(Вопрос,модель,0,инструменты);
	ответ=рез[0].function.arguments;
	ВыполнитьЗамену(рез[0].function.arguments);
КонецПроцедуры

 

Здесь мы передаем запрос пользователя как есть. Но вместе с ним передаем также и описание функции. В ответ мы получаем не "бла-бла-бла" (хотя может случиться и такое, если пользователь вместо дела спросит, например, сколько звезд на небе), а описание вызова функции.

 

 

Обратите внимание на функцию ПолучитьИнструменты() и процедуру ВыполнитьЗамену(). Как я понимаю, это то, чем нам всем предстоит заниматься в ближайшем будущем.

 

Тестировалось на 8.3.24.1548.

Управляемые формы.

См. также

Инструментарий разработчика Роли и права Запросы СКД Программист Руководитель проекта Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Платные (руб)

Инструменты для разработчиков 1С 8.3: Infostart Toolkit. Автоматизация и ускорение разработки на управляемых формах. Легкость работы с 1С.

12000 руб.

02.09.2020    171584    960    403    

924

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

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы. Может выполнять свертку сразу нескольких баз данных и выполнять их автоматически без непосредственного участия пользователя. Решение в Реестре отечественного ПО

8400 руб.

20.08.2024    14181    107    46    

107

Инструментарий разработчика Программист Платформа 1С v8.3 1C:Бухгалтерия Платные (руб)

Инструмент для написания и отладки кода в режиме «1С:Предприятие». Представляет собой консоль кода с возможностью пошаговой отладки, просмотра значений переменных любых типов, использования процедур и функций, просмотра стека вызовов, вычисления произвольных выражений на встроенном языке в контексте точки останова, синтаксического контроля и остановки по ошибке. В консоли используется удобный редактор кода с подсветкой, контекстной подсказкой, возможностью вызова конструкторов запроса и форматной строки.

9360 руб.

17.05.2024    27208    96    48    

137

Пакетная печать Печатные формы Инструментарий разработчика Программист Платформа 1С v8.3 Запросы 1С:Зарплата и кадры бюджетного учреждения 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Платные (руб)

Инструмент, позволяющий абсолютно по-новому взглянуть на процесс разработки печатных форм. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и "прозрачность" разработки, а также навести порядок в многообразии корпоративных печатных форм.

22200 руб.

06.10.2023    17231    43    15    

75

Инструменты администратора БД Инструментарий разработчика Роли и права Программист Платформа 1С v8.3 1C:Бухгалтерия Россия Платные (руб)

Расширение позволяет без изменения кода конфигурации выполнять проверки при вводе данных, скрывать от пользователя недоступные ему данные, выполнять код в обработчиках. Не изменяет данные конфигурации, легко устанавливается практически на любую конфигурацию на управляемых формах.

15000 руб.

10.11.2023    11870    45    27    

67

SALE! %

Инструментарий разработчика Инструменты администратора БД Системный администратор Программист Платформа 1С v8.3 Управляемые формы 1C:Бухгалтерия Россия Платные (руб)

Универсальный инструмент программиста для администрирования конфигураций. Сборник наиболее часто используемых обработок под единым интерфейсом.

4800 3840 руб.

14.01.2013    191122    1152    0    

920

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

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

22800 руб.

24.06.2021    10043    4    4    

15

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

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

5000 руб.

13.03.2023    18583    47    50    

76
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. RocKeR_13 1379 30.01.25 12:20 Сейчас в теме
Ждем, когда в платформе появится аудиозапись, давно пора.


Так есть же в платформе работа с речью - РаботаСРечью.НачатьПотоковоеРаспознавание) Демка есть с локальным распознаванием: https://speech.1c.ai/apps/demo_app/

Условия для локального использования:

Локальное использование

Требования: Потребуется скачать модель распознавания речи и использовать их на оборудовании пользователя. Для скачивания моделей необходима действующая учетная запись 1С:ИТС.
Технические требования: Для x64 требуется минимум Intel Core i5 или AMD Ryzen 5, 12 ГБ ОЗУ; для x32 — Intel Core i5, 4 ГБ ОЗУ. Качество распознавания речи на платформе x32 снижено.
Особенности: Локальное использование не тарифицируется и требует наличия достаточных ресурсов оборудования.
Прикрепленные файлы:
2. mkalimulin 1285 30.01.25 13:07 Сейчас в теме
(1) В том-то и дело что это не в платформе. Там работа с аудиозаписью сделана через костыль, а хотелось бы платформенный элемент управления
3. RocKeR_13 1379 30.01.25 13:15 Сейчас в теме
(2) В целом согласен: для AI в принципе достаточно было бы только аудио-файла. А так надо заморачиваться с моделью распознавания речи и регистрацией в сервисе. По факту получается, что запись аудио-то есть (что здесь, что в системе взаимодействия микрофон используется), но в отдельные методы платформы их не вынесли. А тут они просто собрали все во едино: запись аудио + перевод речи в текст с использованием модели распознавания (облачной или локально развернутой).
4. mkalimulin 1285 30.01.25 13:49 Сейчас в теме
(3) С использованием модели распознавания с неопубликованным WER
5. AlexanderEkb 25 30.01.25 13:54 Сейчас в теме
Хорошая статья. На первый взгляд показалась простой. Но второй рецепт заставил голову включить и внимательно прочитать. Интересно structured outputs поможет в таких кейсах?
6. mkalimulin 1285 30.01.25 14:22 Сейчас в теме
(5) Structured output можно рассматривать, как частный случай вызова функций. Он вырос из простого промт-инжениринга типа: "выдай результат в формате JSON следующего вида { ... }" В свою очередь из structured output вырос function calling. Имеет смысл пользоваться этим инструментом. Особенно с учетом того, что в реальных проектах у вас будет много функций
AlexanderEkb; +1 Ответить
7. starik-2005 3098 30.01.25 14:23 Сейчас в теме
Ну наконец-то дипсик написала статью о себе на инфостарте, а то задрали уже все эти чатджипити...
8. mkalimulin 1285 30.01.25 14:40 Сейчас в теме
(7) У них, кстати, реально крутые результаты. Видите, как написало? Аккуратненько, через запрос, с транзакцией. У меня, правда, не было доступа к о1 или о3, но o1-mini и o1-preview решили эту задачу менее аккуратно.
9. SlavaKron 30.01.25 14:58 Сейчас в теме
(7) Полагаете, Михаил – одна из сущностей Deepseek?
10. Altez50 1 30.01.25 17:05 Сейчас в теме
Ждем развития идеи в сторону учёта особенностей БСП (напр. обработки контактной информации, присоединенных файлов, вплоть до "добавь реквизит в правила обмена Заказами УТ и БП").
Оставьте свое сообщение