Проверка генерации запроса 1С агентами LLM на минималках

18.09.26

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

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

Основная «придумка» эксперимента: 

  • выбрать задачу, которая редко встречается в повседневной практике, чтобы не получить решение из запасников. 
  • взять пару-тройку бесплатных или недорогих ИИ-агента и сравнить результат.
    Что б «дёшево и сердито», для первого опыта.


Выбор задачи.

Утверждение «Оно само пишет рабочий код и запросы» - на мой взгляд, нуждается в проверке.
Пару месяцев назад мне как раз попалась такая задача, на которую янд.Алиса чётко и безапелляционно выдала несуществующие в 1С операторы запросов и подкрепила ссылкой на страницу с контентом, явно нашлепанным с помощью ИИ. Пришлось отлаживать самостоятельно.
В задаче требовалось сделать функцию для HTTP-сервиса с пагинацией (постраничной выдачей) цен и свободных остатков. Хорошая задачка, несложная и нетиповая, возьмём за основу.

По результатам статей на форумах за последние месяцы понял, что для уверенной работы ИИ нужен будет MCP-сервер (хотя бы на метаданные конфы). В мои планы и ресурсы такой узел схемы для экспериментов не подходил.
 

А что если попросить выборку по объекту, который ИИ, уж точно знает? Справочник Номенклатура и его самые популярные реквизиты!
Ну, и для пущего упрощения: не требовать JSON, получать результат в виде таблицы значений.

Получится такая проверятельная, обаятельная «сферическая лошадь в вакууме массой в один килограмм» (benchmark, репер)

 

Выбор ИИ-агентов 

Агент СМИТ найден не был, «эка незадача» этим нас не остановишь, ну что я Neo какой-нибудь
Удалось зарегистрироваться на Gemini-Pro, Qwen, GROQ
Можно начинать эксперимент.
 

Промпт

нужен код функции на языке 1С (BSL) производящей Пагинацию выборки Номенклатуры.
Выполнение на сервере.
Входящие параметры: КоличествоПозицийНаСтраницу, НомерСтраницы.
Запросом выбираем элементы из Справочника Номенклатура.
Поля результата Наименование, Код, Артикул, ЕдиницаИзмерения
Результат функции - таблица значений с числом строк = КоличествоПозицийНаСтраницу, и взятое из страницы с номером = НомерСтраницы.

 

Результаты генерации

публикую комментарии к полученному коду и наиболее успешные результаты генерации
 

GROQ (объявил использование qwen3.6 120b)

 

Итог: неэффективные запрос и код; код нерабочий.
 

Qwen-coder

 

Итог: запрос с ошибками; код нерабочий.

 

Gemini-PRO 

 

Код функции и комментарии агента

 

Итог: Сразу работоспособный код и запрос. Оптимизация явно нужна.

 

Qwen3.7-Plus

 

Код функции

 

Итоги: Качественный запрос, работающий код процедуры получены за 20 минут. Основное время – мои проверки в 1С.
Приемлемый результат получен только благодаря моему знанию: «какой должен быть оптимальный запрос». 


Общие выводы:
Получаемый сразу от ИИ-агента код - неоптимальный,
но, возможно, что агент подстроится к регулярным требованиям.

Если бы я использовал такой метод работы в реальном проекте, то потратил бы больше времени на разбор ошибок, поскольку «идеи чужие, и сначала надо поймать идею, а уж потом следующую из неё ошибку».
Вот в этот раз: не сразу понял логику от Gemini, а потому результат смог правильно оценить только на следующий день :)

И тут выявляется ещё один подводный камень работы с ИИ: легко можно получить работающий код с неполноценной логикой.

Тогда получается, что к ИИ-кодировщику обязательно подцеплять ИИ-тестировщика; что для нетиповых проектов будет довольно накладно по вычислительным ресурсам и по времени. А настройка ИИ-тестировщика, как понимаю, это отдельная серьёзная задача.

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

 

Но, сегодня все свои проекты продолжу разрабатывать и кодировать так, как делал раньше.

 

Благодарю за уделённое внимание.
До встречи на Инфостарте!

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

LLM Вайбкодинг

Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

См. также

Нейросети Системный администратор Разработчик Аналитик Бухгалтер Пользователь Руководитель проекта 1С 8.3 1С:Документооборот 1С:Бухгалтерия 3.0 1С:Зарплата и Управление Персоналом 3.x Россия Платные (руб)

Подключите ИИ к 1С и решайте рабочие задачи обычными словами. От работы с данными до доработки конфигурации через расширения, всё в привычном чате с ИИ-помощником. Теперь с поддержкой DeepSeek Harness, Kimi Code и Kimi Work, доступных в России без VPN.

15990 руб.

30.07.2026    19741    44    4    

39

SALE! %

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

Корректируйте банковские документы быстро и легко! Создайте правило обработки — и оно автоматически применится при загрузке выписки (отбор по любому реквизиту или регулярному выражению). Решение заполняет расшифровку платежа, комиссию эквайринга, подбирает ведомости на выплату зарплаты, помечает дубли из банка на удаление и многое другое. Доплачивать за алгоритмы не нужно — они включены в решение. Обработка работает при загрузке из файлов клиент-банка и через DirectBank. Новое — искусственный интеллект: модель приводит нестандартные назначения платежа к виду, понятному алгоритмам, а ИИ-ассистент прямо в 1С консультирует по решению и разбирает код правил и алгоритмов. Поддерживаются локальные и облачные OpenAI-совместимые модели — данные могут не покидать ваш контур.

17500 руб.

20.12.2024    21690    105    32    

90

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

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

15250 руб.

25.08.2025    77223    147    41    

154

SALE! 30%

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

Расширение добавляет в 1С чат с ИИ-агентом. Пользователь пишет вопрос обычными словами: «какие УПД не подписаны?», «какой НДС к уплате за квартал?», «что висит на согласовании дольше недели?», а агент сам строит запросы к базе с правами этого пользователя и отвечает цифрами, таблицей, диаграммой или файлом Excel. Плитки «Аналитик», «Бухгалтер» и «Руководитель» дают сводку по базе одной кнопкой. Агент разбирает ошибки по скриншоту, сверяет прайсы поставщиков и проверяет коды маркировки. С версии 1.0.21 спрашивать можно и с телефона: QR-код в окне агента, без установки приложения. Работает в УТ 11, КА 2, ERP 2, БП 3.0, УНФ 3.0, Документооборот 3.0 и Альфа-Авто 6, ставится одним расширением.

18300 руб.

05.10.2026    3911    12    9    

13

Инструментарий разработчика Нейросети Системный администратор Разработчик Руководитель проекта 1С 8.3 Платные (руб)

Обработка заменяет ФИО, организации, ИНН, ИИН, БИН, ОГРН, КПП, БИК, счета и IBAN, паспорта, СНИЛС, адреса, телефоны, почту и суммы на правдоподобные выдуманные перед отправкой данных в ChatGPT, Claude или YandexGPT, а потом расшифровывает ответ модели обратно, подставляя настоящие имена и настоящие числа. Возвращаются и те итоги, которые модель посчитала сама: суммы масштабируются одним коэффициентом, поэтому пропорции и доли переживают обезличивание. Словарь замен хранится в самой базе и подхватывается автоматически, даже если обработку закрывали. Реквизиты России и Казахстана, любая конфигурация от 8.3.24, без единой зависимости.

14640 руб.

07.08.2026    2229    3    0    

3

Распознавание документов и образов Нейросети 1С:Предприятие 8 1С 8.3 1С 8.5 1C:Бухгалтерия 1С:Зарплата и Управление Персоналом 3.x Беларусь Россия Казахстан Армения Платные (руб)

ИИ-сканер документов с REST API для интеграции с 1С и корпоративными системами. Извлекайте данные из счетов, паспортов, дипломов, патентов и трудовых книжек за секунды. Точность человека - скорость машины. Приложение поддерживает восемь типов документов, четырех провайдеров ИИ (имеется возможность использования локальных ИИ), локальный REST API и экспорт в JSON. Важно! модель должна поддерживать функцию Vision (распознавание файлов и картинок). Запускайте используя локальные ИИ, без подписок и ограничений

6100 руб.

24.08.2026    1496    2    0    

2

Нейросети Разработчик Бесплатно (free)

Как автоматически создавать маркетинговые ролики для собственных IT-продуктов, используя ИИ? В предыдущей статье я рассказывал о Zapis — приложении для работы с речью и текстом. Теперь расширил его возможности: добавил конвейер создания видео, в котором ИИ-агент изучает материалы проекта, готовит сценарий, подбирает реальные скриншоты и пишет текст диктора. Zapis отвечает за озвучку, а Remotion — за анимацию и сборку. На примере обмена ПУТ на OneBase -> 1С:Бухгалтерия 3.0 покажу готовый 83-секундный ролик из восьми сцен. Разберём, как устроен процесс, зачем нужны настоящие скриншоты интерфейса, как синхронизируются речь и изображение и что сохраняется для повторной сборки после изменений в продукте. Исходный код и инструкции доступны в открытом репозитории Zapis.

06.11.2026    556    Ibrogim    2    

11

Нейросети Разработчик 1С 8.3 Бесплатно (free)

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

05.11.2026    7845    Iliaelagin    8    

16
Вознаграждение за ответ
Показать полностью
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. korelski 38 18.09.26 13:07 Сейчас в теме
Получаемый сразу от ИИ-агента код неоптимален, поэтому, как правило, требуются уточнения и, возможно, проверка на наличие галлюцинаций. Пока в 1С "вкалывают роботы, а не человек" не получится, а вместе запросто.
-------------
Чат DeepSeek. В коде ничего руками не правил. 5 минут вместе с проверкой.
----
// Параметры:
// КоличествоПозицийНаСтраницу - Число - количество строк на странице (> 0)
// НомерСтраницы - Число - номер страницы (нумерация с 1)
// МенеджерВТ - МенеджерВременныхТаблиц - не обязателен.
// Если Неопределено — создаётся внутри функции.
//
// Возвращаемое значение:
// ТаблицаЗначений - колонки:
// * Наименование
// * Код
// * Артикул
// * ЕдиницаИзмерения
//
&НаСервере
Функция ПолучитьНоменклатуруПоСтранице(КоличествоПозицийНаСтраницу,
НомерСтраницы,
МенеджерВТ = Неопределено) Экспорт

// --- Валидация входных параметров ---
Если КоличествоПозицийНаСтраницу <= 0 Тогда
КоличествоПозицийНаСтраницу = 10;
КонецЕсли;

Если НомерСтраницы <= 0 Тогда
НомерСтраницы = 1;
КонецЕсли;

// Определяем, нужно ли создавать и нумеровать ВТ
НужноНумеровать = (МенеджерВТ = Неопределено);

Если НужноНумеровать Тогда
МенеджерВТ = Новый МенеджерВременныхТаблиц;
КонецЕсли;

// ============================================================­
// ШАГ 1. Нумерация справочника — только если менеджер создан внутри.
// АВТОНОМЕРЗАПИСИ() допустимо только в ПОМЕСТИТЬ.
// Исключаем помеченные на удаление элементы и группы.
// ============================================================­
Если НужноНумеровать Тогда

ЗапросНумерации = Новый Запрос;
ЗапросНумерации.МенеджерВременныхТаблиц = МенеджерВТ;
ЗапросНумерации.Текст =
"ВЫБРАТЬ ПЕРВЫЕ 10000000
| АВТОНОМЕРЗАПИСИ() КАК НомерСтроки,
| Номенклатура.Наименование КАК Наименование,
| Номенклатура.Код КАК Код,
| Номенклатура.Артикул КАК Артикул,
| Номенклатура.ЕдиницаИзмерения КАК ЕдиницаИзмерения
|ПОМЕСТИТЬ ВТ_НоменклатураНумерованная
|ИЗ
| Справочник.Номенклатура КАК Номенклатура
|ГДЕ
| НЕ Номенклатура.ПометкаУдаления
| И НЕ Номенклатура.ЭтоГруппа
|УПОРЯДОЧИТЬ ПО
| Номенклатура.Наименование,
| Номенклатура.Ссылка";

ЗапросНумерации.Выполнить();

КонецЕсли;

// ============================================================­
// ШАГ 2. Вычисляем «дельту» — минимальный номер в ВТ.
// АВТОНОМЕРЗАПИСИ() не гарантирует старт с 1, поэтому нормализуем.
// Сдвигаем на -1, чтобы логическая нумерация начиналась с 1
// (иначе условие > НачалоДиапазона отсекает первую строку).
// ============================================================­
ЗапросДельты = Новый Запрос;
ЗапросДельты.МенеджерВременныхТаблиц = МенеджерВТ;
ЗапросДельты.Текст =
"ВЫБРАТЬ
| МИНИМУМ(ВТ_НоменклатураНумерованная.НомерСтроки) КАК Дельта
|ИЗ
| ВТ_НоменклатураНумерованная КАК ВТ_НоменклатураНумерованная";

ВыборкаДельта = ЗапросДельты.Выполнить().Выбрать();
Дельта = 0;
Если ВыборкаДельта.Следующий() И ВыборкаДельта.Дельта <> NULL Тогда
Дельта = ВыборкаДельта.Дельта - 1;
КонецЕсли;

// ============================================================­
// ШАГ 3. Выбираем строки нужной страницы.
// Условие: Начало < (НомерСтроки - Дельта) <= Конец
// ============================================================­
НачалоДиапазона = (НомерСтраницы - 1) * КоличествоПозицийНаСтраницу;
КонецДиапазона = НачалоДиапазона + КоличествоПозицийНаСтраницу;

ЗапросСтраницы = Новый Запрос;
ЗапросСтраницы.МенеджерВременныхТаблиц = МенеджерВТ;
ЗапросСтраницы.Текст =
"ВЫБРАТЬ
| ВТ_НоменклатураНумерованная.Наименование,
| ВТ_НоменклатураНумерованная.Код,
| ВТ_НоменклатураНумерованная.Артикул,
| ВТ_НоменклатураНумерованная.ЕдиницаИзмерения
|ИЗ
| ВТ_НоменклатураНумерованная КАК ВТ_НоменклатураНумерованная
|ГДЕ
| ВТ_НоменклатураНумерованная.НомерСтроки - &Дельта > &НачалоДиапазона
| И ВТ_НоменклатураНумерованная.НомерСтроки - &Дельта <= &КонецДиапазона
|УПОРЯДОЧИТЬ ПО
| ВТ_НоменклатураНумерованная.НомерСтроки";

ЗапросСтраницы.УстановитьПараметр("Дельта", Дельта);
ЗапросСтраницы.УстановитьПараметр("НачалоДиапазона", НачалоДиапазона);
ЗапросСтраницы.УстановитьПараметр("КонецДиапазона", КонецДиапазона);

// --- Формируем результирующую таблицу значений ---
// Колонки не создаём вручную — Выгрузить() сам выведет
// типы из результата запроса.
ТаблицаРезультат = ЗапросСтраницы.Выполнить().Выгрузить();

Возврат ТаблицаРезультат;

КонецФункции
3. itsmith 40 19.09.26 08:11 Сейчас в теме
(1) Не оптимально, но работает.

Выбрать первые 10 миллионов - улыбнуло

Учтён дефект (особенность?) начального номера для АвтоНомерЗаписи(), это я упустил совсем

Оптимальный вариант - собрать всё три части в одном запросе.

Итог: соглашусь с комментарием
а) у свежих ИИ-моделей код для 1С - приличный
б) проверять надо
в) нельзя переставать думать самому :)
5. korelski 38 19.09.26 22:51 Сейчас в теме
(3) ваш запрос не рабочий.
" стандарт языка 1С запрещает использование УПОРЯДОЧИТЬ ПО при создании временной таблицы без ПЕРВЫЕ. Это связано с тем, что таблица в реляционной базе по определению неупорядочена, и сортировка при вставке может игнорироваться СУБД"

Ваша функция пропустит первый номер.

Средствами 1С одним запросом решить задачу не возможно, возможно я ошибаюсь.
Оптимальный вариант - создать временную таблицу один раз.

Единственный вариант где пагинация через АВТОНОМЕРЗАПИСИ неприемлема - запрос динамического списка. Тормоза будут дикие.

Задал Промт GPT 6 Astra Extra High. Там и ума прилично и токены жрёт как не в себя, а ответ оказался неожиданно удручающий.
6. itsmith 40 21.09.26 07:08 Сейчас в теме
(5)
ваш запрос не рабочий.


Признаю. Запрос простенький, в конструкторе не открывал.

Зря меня "улыбнуло" - даже в трёх строчках может быть скрыто множество смыслов :)

Начал разбирать ситуацию с прошлым проектом, который стал источником к "сферической лошади": "как же там всё работает?"

Всё просто: Цены (РС срез последних) и Остатки это уже виртуальные таблицы, к ним поход у 1С проще, однако.

(5)
Средствами 1С одним запросом решить задачу не возможно, возможно я ошибаюсь.


Вот мой вариант запроса. Предлагаю проверить.
ВЫБРАТЬ ПЕРВЫЕ 1000000
	Номенклатура.Ссылка КАК Ссылка,
	АВТОНОМЕРЗАПИСИ() КАК НомерСтроки
ПОМЕСТИТЬ втНоменклатура
ИЗ
	Справочник.Номенклатура КАК Номенклатура

УПОРЯДОЧИТЬ ПО
	Номенклатура.Ссылка
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	МИНИМУМ(втНоменклатура.НомерСтроки - 1) КАК СдвигПервойСтроки
ПОМЕСТИТЬ втСдвиг
ИЗ
	втНоменклатура КАК втНоменклатура
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	втНоменклатура.Ссылка.Наименование КАК Наименование,
	втНоменклатура.Ссылка.Код КАК Код,
	втНоменклатура.Ссылка.Артикул КАК Артикул,
	втНоменклатура.Ссылка.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
	втНоменклатура.НомерСтроки КАК НомерСтроки
ИЗ
	втНоменклатура КАК втНоменклатура,
	втСдвиг КАК втСдвиг
ГДЕ
	втНоменклатура.НомерСтроки - втСдвиг.СдвигПервойСтроки МЕЖДУ &НачальнаяПозиция И &КонечнаяПозиция
Показать


Примечание:
Проверками в консоли запросов не смог получить СдвигПервойСтроки > 0 (8.3.27.2214, толстый клиент)
7. korelski 38 21.09.26 08:35 Сейчас в теме
(6) за один запрос я имел ввиду без использования временных таблиц, к примеру для вывода результата в динамический список.

Первоначальный вариант запроса был плюс-минус похож на ваш. Но так как задача была получить оптимальную функцию пагинации,то пришлось расширить условия задачи и добавить использование менеджера временных таблиц.
На получении одной страницы без МВТ уйдет секунда, на получении 100 выборочных страниц из справочника на 10к записей уже не менее 1 минуты. На получении всех страниц можно сделать кофе-брейк. Если добавить МВТ, то время выполнения для любого количества страниц сожмется до 1-2 секунд.
8. itsmith 40 28.09.26 05:09 Сейчас в теме
(7) Присмотритесь в статье к варианту кода от Gemini-Pro,
запрос после Иначе:
ВМТ отсутствует, только вложенные запросы,
логика интересная и на отбор, и на НЕ вхождение (исключение), и на сортировки
Всё вместе даёт "красивый букет" ;)
2. GarriSoft 806 18.09.26 14:36 Сейчас в теме
Коллега, откройте для себя разработку на 1С с помощью нормальных инструментов и вам не придётся проверять код, потому что он будет написан по стандартам 1С, без глюков и косяков, покрыт юнит-тестами и прогнан через Vanessa. Это полный цикл: от постановки задачи до готового результата. Вмешиваться в процесс отладки даже не придётся.

Чуть больше года назад я делал примерно то же самое программировал в чатах, в браузере. Следующий этап ИИ-агенты на бесплатных моделях. Но постепенно приходишь к мысли, что всё это не ускорение, а трата времени. Мне потребовалось полгода, чтобы понять: это баловство, нужны нормальные инструменты и подходы. Особенно забавно смотреть, как ИИ отлаживает свой код в отладчике - ставит точки останова, шагает по строкам, смотрит значения переменных.

Сейчас я вообще не пишу код руками: не добавляю реквизиты, не проектирую формы, не заимствую объекты в расширения. Я формулирую задачу и ИИ-агент, сам или через субагентов, выполняет её.

При этом я понимаю, что это даже не уровень - это просто новая ступень. Я знаю людей, которые с помощью ИИ-агентов поднялись в разработке на 1С на несколько пролётов и делают вещи, которые сейчас кажутся фантастикой.
4. ann_20260519 1 19.09.26 17:22 Сейчас в теме
(2) Скажите, а вы куда трудоустроились. В какую компанию?
9. nedomolkov.ivan 527 30.09.26 11:12 Сейчас в теме
(7) К спору про порядок. ПЕРВЫЕ с УПОРЯДОЧИТЬ ПО по ключу работает, пока набор между вызовами не меняется. А у вас свободные остатки: позиция с нулём выпадает из отбора, и номер страницы перескакивает через записи. Ошибки нет, обход просто кончается раньше.

Я считал на наборах от ста до пяти тысяч: при отборе "ещё не обработано" теряется ровно половина. Модель можно прогнать у себя: https://infostart.ru/1c/articles/2797604/
Для отправки сообщения требуется регистрация/авторизация