Вайб кодинг в 1С. Лучшие нейросети для генерации 1С кода

10.05.25

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

В статье кратко на реальных примерах проанализированы возможности генерации кода 1С сетями от Yandex, Sber, Microsoft, Anthropic, DeepSeek, OpenAI, Google.

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

Я решал свою исключительно практическую задачу из разряда "лучший код - код, который не написан" с уточнением: не написан своими руками. 

Своей цели я, к слову, достиг и выводы сделал, ими и делюсь, поскольку всё равно написать надо.

Много деталей приводить не буду - что отвечают нейросети, можете проверить сами. Приведу только свои запросы и краткие выводы по ним. Полные выводы можете найти в конце статьи, так что кому нужен итоговый результат - листайте сразу в конец.

Что касается 1С:Напарники. Да, я его потестил. Нет, результаты написать не могу, потому что NDA.

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

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

Далее - почему задачи все такие алгоритмические и без контекста? Контекст - отдельная задача, главное, чтобы сеть умела ориентироваться в алгоритмических задачах и "знать" определенные особенности 1С.

Итак приступим.

 

Модели, участвовавшие в "гонке":

Для начала я, конечно, взял статистику по другим языкам, с  замечательного: https://openrouter.ai/rankings/programming 

Выглядит она примерно следующим образом:

 

 

Для раздела "Programming" очевидно, что для 1С надо использовать что-то, что хорошо пишет код на других языках. 

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

Также добавил Copilot - очень известный и давно существующий помощник. Есть гипотеза, что он должен быть неплох.

Хоть что-то OpenSource-ное тоже надо бы включить. Самый приличный вариант тут вроде как DeepSeek - добавил её.

Итоговый список получился следующим:

1) MS Copilot. Версий у него особо нет - тот, который "торчит из каждой дыры"

2) YandexGPT5 - с Yandex cloud

3) Sber GigaChat  - тоже та версия, которая поставляется через чат интерфейс

4) Claude Sonnet 3.7

5) DeepSeek V3 0324 - что бы это ни значило

6) ChatGPT 4o

7) Gemini 2.5 Pro Preview

 

Ход исследования:

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

 

Задача 1:

Напиши код на языке 1С, который заполняет массив случайными целыми числами и потом сортирует его методом пузырька

На этой простой задаче, к сожалению, сети уже споткнулись. Страдает вывод массива и практически никто не осилил 1С-ный ГенераторСлучайныхЧисел... 

Итого у всех по 2 ошибки, чуть лучше себя показал Claude. Но внезапно с задачей полностью справился Gemini.

 

Задача 2:

Создай таблицу значений с полями "Номенклатура, Количество, Сумма, Дата", заполни тестовыми данными и напиши код, который демонстрирует списание товара из этой таблицы по методу FIFO. При списании указывается только количество и номенклатура. Это должен быть код на языке 1С.

Классическая задача 1С-ника на экзамене :). Тут полностью лажанулся Copilot. Почти у всех сетей есть проблемы с расчетом суммы. 

Отметить можно Claude и Gemini. В целом у этих сетей, конечно, более "взрослый" код. Это заметно уже на этом этапе. С задачей они справились. gemini чуть хитрее - добавив колонку в начале. Я бы сказал, сети склонны к оверинжинирингу (в 1С мы пишем код чуть проще, чем в классических языках разработки), но вполне достойно.

 

Задача 3:

Есть таблица - Основная таблица регистра накопления. В ней есть колонки Номенклатура, Дата, Количество, а также Цена. Пусть регистр накопления называется ОстаткиТовара. Напиши запрос на языке 1С, который получает цену товара на заданную дату. Дата задаётся в параметре запроса

Тут меня внезапно удивил Сбер - сетка справилась с задачей! При том, что в этой задаче налажал Claude. Она, правда, немного хитрая. Gemini тоже справился с данной задачей, у остальных различного рода проблемы

 

Задача 3.1: 

Есть таблица - таблица значений. В ней есть колонки Номенклатура, Дата, Количество, а также Цена. П. Напиши запрос на языке 1С, который получает цену товара на заданную дату. Дата задаётся в параметре запроса. Это должен быть именно запрос, а не код для перебора таблицы

Небольшая вариативность предыдущей задачи, чтобы проверить, насколько сети догадаются, как по таблице значений сделать запрос, превратив её во временную таблицу. Вывод - не догадались :). Но есть положительные моменты - некоторые как минимум попробовали. ChatGPT понял хотя бы, что нужна временная таблица, gemini сделал прекрасно всё остальное, но всё-таки не разобрался с ВТ.

 

Задача 3.2: 

Есть таблица в базе 1С. В ней есть колонки Номенклатура, Дата, Цена. Это непереодический регистр сведений "цены товара" (использовать СрезПоследних() не получится). Напиши запрос на языке 1С, который получает актуальную (последнюю по дате) цену всех товаров на заданную дату. Дата задаётся в параметре запроса.

Финальная и самая популярная модификация. Ожидаемо справились Cloude и Gemini. К лидерам присоединились сетка от Сбер-а и ChatGPT. У остальных не получилось "осознать" задачу с небольшой хитростью

 

Задача 4: 

Есть справочник номенклатура с неограниченным числом уровней иерархии. Нужно запросом вывести все его группы и уровень иерархии каждой. Запрос на языке 1С.

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

 

На этом этапе я перестал тестировать дальше явных аутсайдеров. "Гонку" покидают Yandex и Copilot

 

Задача 5: 

 Используя API с сайта ЦБ РФ https://www.cbr.ru/development/sxml/, напиши код на языке 1С Предприятия для загрузки курса доллара за последний год на каждый день в таблицу значений

Тут чуть попроще, но проверяем работу со сторонними ресурсами и как оно справится с API. Очень приличный и качественный результат получил от Gemini - был приятно удивлён. Вряд ли сам написал бы лучше. Claude перестарались ещё больше. Человеку я бы тут уже начал задавать вопросы касательно обилия свободного времени и чрезмерной увлеченности книжками по чистой архитектуре, но ИИ как бы время не тратит, поэтому почему бы и нет... На уровне среднестатистического стажера программиста справился DeepSeek. Был близок к истине Сбер. ChatGPT в этой задаче подкачал 

 

Задача 6: 

Есть файл Excel с колонками: Артикул, Наименование, Описание, Единица измерения. Есть справочник Номенклатура в 1С с аналогичными реквизитами. Напиши код на языке 1С для загрузки данного Excel файла в справочник.

Классика каждого 1С-ника. Для нейросетей тоже проблем не вызвала. Все, кроме Сбер-а, справились с задачей. Claude и Gemini, естественно, чуть лучше.

 

Задача 7:

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

Тоже в принципе классика для 1С. И, если честно, тут модели немного расстроили. Было ожидание, что они справятся с данной задачей достаточно легко. На поверку оказалось, что справился только Gemini и то не совсем оптимальным и правильным образом. Немного близок к тому, что надо, был Claude. Остальные по традиции далеки.

 

Задача 8:

У меня в конфигурации есть справочник Номенклатура - напиши код на языке 1С для его выгрузки в идентичную конфигурацию.

Тут, конечно, надо вспомнить про возможность сериализации любого объекта в 1С. Лёгкая задача для разработчика, тяжелая для сети. Тем не менее, Gemini с ней справилась. ChatGPT и Claude написали неплохой код, но не то, что требуется. Сбер и DeepSeek с задачей не справились полностью

 

Задача 9:

В конфигурации 1С Справочник Номенклатура, у него на форме элемента есть элемент с типом "Декорация" с видом "Картинка", называется "Картинка" а также реквизит "Картинка" с типом "ХранилищеЗначения". Напиши код, который отображает картинку из реквизита при открытии формы и при нажатии на картинку на форме даёт возможность выбора файла с картинкой и перезаписывает её для элемента

Тоже классика для джунов. Но из сетей, к сожалению, без проблем с задачей справилась только Gemini. Claude тоже в принципе, но с ошибкой. Остальные сети сгенерировали код, который надо основательно править.

На этом этапе, я думаю, всем очевидно, что "Гонку" могут не продолжать DeepSeek, ChatGPT, GigaChat. Собственно, останутся только Claude и Gemini.

 

Задача 10:

На форме документа 1С основной реквизит "Объект". У документа есть реквизит "Комментарий". Напиши код, работающий при нажатии на кнопку "Записать комментарий", который в комментарий документа добавляет слово "Тест" - к текущему комментарию и записывает документ в базу данных, не закрывая формы.

Тоже задачка для джунов и нейросети с ней справились плохо. Gemini написало рабочий код, но он не сделает то, что надо :).

Claude уже чуть лучше, но c ошибкой, которую совершают все джуны, для чего эта задачка и нужна

 

Задача 11:

На форме документа 1С есть табличная часть "Товары". В документе обычно более 1000 строк. В табличной части есть реквизит "Сумма". Напиши код, который работает при нажатии на кнопку "общая сумма", который должен посчитать сумму по всем строкам и вывести её пользователю

А тут как раз проблема в том, что джуны частенько считают сумму на клиенте. Очевидная история - сходить на сервер. Обе сети успешно справились с задачей, но в своём стиле - оверинжиниринг присутствует. У Claude в данном случае получился чуть более лаконичный код

 

Итого:

Каждую модель по каждой задаче я оценил от 0 до 10. Где 0 - данный ответ вообще бесполезен и никак не поможет в решении реальной задачи, 10 - я сам так не напишу, при этом весь код по делу.

Итоговый скоринг в таблице:

 

 

В общем, исходя из этой таблицы, самые приличные модели для написания кода 1С - Gemini и Claude.

 

Выводы:

 

1) Генерация кода для 1С возможна - и работает весьма неплохо. Это жуткая экономия времени в перспективе, даже без учета контекста. Но не для всех задач сейчас, конечно.

2) Лучшая модель для генерации Gemini, но с учетом субъективности и погрешностей Gemini и Claude сопоставимы. Можно выбрать любую с которой удобнее работать. Стоит добавить, что в целом относительно других моделей эти две отличаются прямо в разы, даже в задачах, которые решили все модели, код Gemini и Claude более "красивый", с необходимыми проверками, качественно оформлен, в общем, очевидно, что лучше использовать только их

3) Относительно языков программирования общего назначения 1С-ный код генерируется существенно хуже, главная причина - не алгоритмика, а отсутствие знаний и необходимого контекста

 

Что дальше:

Ну лично я сейчас планирую написать небольшой MCP сервер, для репозиториев 1С EDT, которому скормить контекст именно конкретного репозитория. Ну и выгрузку справки, пожалуй, тоже. Это всё сегментировать, залить в векторную БД и подключить как MCP к Curosor. Кажется, качество ответов должно вырасти в разы, и область применения существенно расширится. Кому интересно попробовать такую фичу, ставьте лайк, пишите коммент :)

См. также

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

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

5000 руб.

08.11.2023    3699    15    0    

25

WEB-интеграция Нейросети Программист Пользователь Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 Абонемент ($m)

Представляем универсальную обработку для 1С, которая предоставляет два мощных инструмента для работы с платежной системой ЮKassa: интерактивный Дашборд для анализа финансовых потоков и инновационный модуль взаимодействия с API ЮKassa через запросы на естественном языке с использованием Искусственного Интеллекта. Решение обеспечивает как готовый функционал для пользователей, так и широкие возможности для кастомизации программистами 1С благодаря передаче сырых JSON-данных непосредственно в 1С.

10 стартмани

вчера в 19:30    143    0    Prepod2003    0    

2

Нейросети Программист Платформа 1С v8.3 Россия Бесплатно (free)

Все пишут, какой умный о3 от openAI, как он прекрасно разбирается в логике и какой у него замечательный механизм рассуждения. Проверим это на примитивных задачах 1С. Мы знаем, что буржуйский зверь не учили на нормальных данных по 1С и, следовательно, он толком ничего не умеет, но при этом он неплохо ищет в интернете, так вот заценим, сможет ли он скомпилировать что-то рабочее из того, что он там в интернетах найдет.

05.05.2025    2756    IncomeGroup    6    

2

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

Расширение, которое подходит для любой конфигурации на платформе 1С:Предприятие 8.3 и позволяет встроить в экранные формы механизм заполнения текстовых полей при помощи DeepSeek. Методы по работе с нейросетью вынесены в отдельный модуль. Благодаря этому их легко использовать для реализации собственных схем применения DeepSeek в 1С.

2 стартмани

30.04.2025    1932    7    impro_otr    6    

24

Нейросети Программист Платформа 1С v8.3 1C:Бухгалтерия Россия Абонемент ($m)

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

2 стартмани

14.04.2025    913    4    exitone    14    

2

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

Недавно в сервисе MAKER-STUDIO появился ИИ ассистент, разработчики также обещают, что ИИ ассистент будет добавлен и в встроенный текстовый редактор, что ускорит написание документации по проекту, а также ИИ ассистент научиться генерировать схемы и формы. Пока поделимся тем, какие функции уже есть, приведем примеры наиболее востребованных на наш взгляд ПРОМТОВ, которые могут пригодиться в работе.

12.04.2025    4985    1Concept    0    

6

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

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

09.04.2025    4481    Dziden    67    

1

Нейросети Инструментарий разработчика Программист Платформа 1С v8.3 Бесплатно (free)

Если вы раздумываете, какую бы среду разработки освоить в дополнение к старому доброму Конфигуратору, тогда для вас самое время посмотреть на этот редактор.

09.04.2025    2907    43    mkalimulin    17    

22
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. gybson 10.05.25 20:31 Сейчас в теме
Довольно странно говорить о коде без кода.
Tantor; titanium2008; kuntashov; +3 Ответить
2. starik-2005 3175 10.05.25 20:52 Сейчас в теме
Офигенно (с сарказмом).
Типа нет одной сетки, которая бы давала правильные ответы, а моск включать не буду принципиально.
Вот что выдал дипсик мне:
Процедура СортировкаМассиваПузырьком()

    // Создаем генератор случайных чисел
    ГСЧ = Новый ГенераторСлучайныхЧисл();
    
    // Создаем и заполняем массив случайными числами
    массив = Новый Массив;
    размерМассива = 10; // Можно изменить на нужный размер
    
    Для i = 1 По размерМассива Цикл
        массив.Добавить(ГСЧ.СлучайноеЧисло(1, 100)); // Числа от 1 до 100
    КонецЦикла;
    
    Сообщить("Исходный массив:");
    ВывестиМассив(массив);
    
    // Сортировка методом пузырька
    Для i = 0 По массив.Количество() - 2 Цикл
        Для j = 0 По массив.Количество() - i - 2 Цикл
            Если массив[j] > массив[j + 1] Тогда
                временное = массив[j];
                массив[j] = массив[j + 1];
                массив[j + 1] = временное;
            КонецЕсли;
        КонецЦикла;
    КонецЦикла;
    
    Сообщить("Отсортированный массив:");
    ВывестиМассив(массив);

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

Процедура ВывестиМассив(массив)
    строкаМассива = "";
    Для каждого элемент Из массив Цикл
        строкаМассива = строкаМассива + Строка(элемент) + " ";
    КонецЦикла;
    Сообщить(строкаМассива);
КонецПроцедуры

// Вызываем процедуру
СортировкаМассиваПузырьком();
Показать
3. kuntashov 463 10.05.25 23:56 Сейчас в теме
Олег, очень интересно, ждал подобной статьи, но очень не хватает примеров кода, который нейронки тебе нагенерили, в сниппеттах прямо в статье, или, хотя бы на гитхабе.

Сберовский гигачат пробовал в виде расширения год назад (https://t.me/kuntashov_devnotes/620) и тогда, к удивлению, поддержки 1С там не было - как так могли сделать, и зачем/почему - хз. Даже нишевый на тот момент зарубежный SuperMaven умел приемлемо алгоритмы на встроенном языке 1С писать и даже знал, что такое ТаблицаЗначений.

Гемини по моему опыту действительно неплохо императивный код на 1С пишет, а вот с запросами сомнительно, по крайней мере на задачах вида "вот запрос, вот есть еще такие таблицы, сделай, чтобы запрос еще выводил то-то и то-то".

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

Но вот по результатам ДипСика у тебя удивлен - у меня опыт немного другой, я как раз часто его в паре с Гемини использую и ДипСик обычно не хуже справляется, причем код пишет как раз лаконичнее с тем же результатом.
6. NeLenin 14 11.05.25 10:30 Сейчас в теме
(3) ДипСик в Лазарусе показал мне Очень хорошие результаты. В 1С еще не пробовал. Однако на "Максимально шакальный промпт" ДипСик практически всегда мне отвечал, мягко сказать, без энтузиазма.
4. Prepod2003 265 11.05.25 06:05 Сейчас в теме
По своему опыту, могу сказать, что знания большинства нейросетей в области 1С оставляют желать лучшего. Их уровень владения этим языком значительно уступает, например, знаниям JavaScript, код на котором они при нормальных промтах генерируют превосходно и без ошибок.
Тем не менее, я использую нейросети для генерации кода 1С, поскольку это все равно существенно ускоряет рабочий процесс. Как минимум, искусственный интеллект способен создать "рыбу" или базовый скелет программы. В некоторых случаях он даже пишет вполне неплохой код.
Несмотря на текущие ограничения, я уверен, что за этим подходом будущее.
o.nikolaev; NeLenin; +2 Ответить
5. Prepod2003 265 11.05.25 06:35 Сейчас в теме
MCP сервер для Curosor - ждем. ))
7. NeLenin 14 11.05.25 10:37 Сейчас в теме
На мой вкус лучше было дать ИИ пару-тройку качественных промтов вместо десятка абы каких. А так интересная работа. От всей души Автора благодарю!
8. e9504100606 94 11.05.25 15:29 Сейчас в теме
Спасибо за труды.
Не увидел в гонке grok. И не хватает кода.
Интересно, что на 10й задачке накодили обе нейросетки.

Я сам использую дипсик для скриптов на питоне и задаю вопросы вместо гугла.
grok для анализа документации, экспресс код-ревью кода 1С, формирования документации на основе xml/bsl (выгруженные в файлы расширение или внешняя обработка).
gimini пробовал - не удовлетворительные результаты выдавал в контексте 1С.

Сейчас пробую разобраться с предиктивным анализом (это про машинное обучение и CatBoost от яндекса) с помощью дипсика и грока.
9. e9504100606 94 11.05.25 15:42 Сейчас в теме
Векторная БД и MCP сервер - интересно. Чтобы документацию формировать по логике кода и выполнять код-ревью?

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

Идея крутая, дорогостоящая и долгое в реализации. И главное - как этим управлять и как внедрять в продуктив?
10. o.nikolaev 217 11.05.25 16:43 Сейчас в теме
Статья интересная. Правда Gemini для России пока недоступен :) Уверен, что использование языковых моделей очень перпективная штука. Надо осваивать, развивать, пробовать использовать. Работу "отнимут" не ИИ-шки, а те кто научится эффективнее использовать их в работе.
11. o.nikolaev 217 11.05.25 16:53 Сейчас в теме
У меня, после нескольких подсказок, DeepSeek сгенерил такое:
    // Создаем генератор случайных чисел (если доступен)
    ГСЧ = Новый ГенераторСлучайныхЧисел;
    
    // Создаем массив
    массив = Новый Массив;
    
    // Заполняем 10 случайными числами от 1 до 100
    Для i = 1 По 10 Цикл
        массив.Добавить(ГСЧ.СлучайноеЧисло(1, 100));  // Если ГСЧ доступен
        // Если ГСЧ нет, можно использовать: массив.Добавить(1 + Случайное() % 100);
    КонецЦикла;
    
    // Выводим исходный массив (вручную собираем строку)
    строкаИсходный = "Исходный массив: ";
    Для каждого число Из массив Цикл
        строкаИсходный = строкаИсходный + число + ", ";
    КонецЦикла;
    // Убираем последнюю запятую и пробел
    строкаИсходный = Лев(строкаИсходный, СтрДлина(строкаИсходный) - 2);
    Сообщить(строкаИсходный);
    
    // Сортировка пузырьком
    Для i = 0 По массив.Количество() - 2 Цикл
        Для j = 0 По массив.Количество() - i - 2 Цикл
            Если массив[j] > массив[j + 1] Тогда
                // Обмен элементов
                временное = массив[j];
                массив[j] = массив[j + 1];
                массив[j + 1] = временное;
            КонецЕсли;
        КонецЦикла;
    КонецЦикла;
    
    // Выводим отсортированный массив
    строкаОтсортированный = "Отсортированный массив: ";
    Для каждого число Из массив Цикл
        строкаОтсортированный = строкаОтсортированный + число + ", ";
    КонецЦикла;
    строкаОтсортированный = Лев(строкаОтсортированный, СтрДлина(строкаОтсортированный) - 2);
    Сообщить(строкаОтсортированный);
Показать
12. van_za 297 11.05.25 21:41 Сейчас в теме
Актуально, актуально, отличная статья!!!
Оставьте свое сообщение