Вайб-кодинг в 1С, часть 1
Будем разбираться, что такое вайб-кодинг в реалиях 1С-разработки.

Не будем пока залезать на территорию EDT+Напарник, это совершенно другая история.
Конфигуратор + TurboConf тоже отложим до следующих постов.
Сейчас мы пройдем по самому простому сценарию, где ИИ-агент запрограммирует нам задачу, близкую к реальной жизни. Мы не будем делать MCP-серверы и применять сложные фреймворки. До этого мы доберемся в следующих публикациях.
Возьмем базовый набор джентельмена - Cursor (или любую другую агентскую среду, например Claude Code или Antigravity) и обычный конфигуратор.
Сквозная задача - сделать обработку, которая выгружает остатки товаров на складах в файл csv и отправляет файл по FTP протоколу на указанный адрес.
Для простоты будем считать, что все значения, такие как склад, FTP адрес, логин и пароль захардкожены в обработке.
Проделаем следующие шаги, подготавливающие нас к вайб-кодингу:
Шаг 1. Создадим пустую обработку в конфигураторе, добавим в нее форму с кнопкой "Выполнить", к кнопке добавим обработчики нажатия - клиентский и серверный.
Шаг 2. Сделаем выгрузку обработки в формат XML

На диске, куда мы сделали выгрузку, образуется структура папок с модулями, что типа этого:

Дальше начинается, собственно, вайб-кодинг.
Шаг 3. Запустим Cursor, а в нем откроем папку, куда выгрузили обработку на предыдущем шаге.

Шаг 4. В окне чата с агентом зададим нехитрый промпт:
@ВыгрузкаFTP/Forms/Форма/Ext/Form/Module.bsl Сделай код, который при нажатии на кнопку выгрузки выгрузит остатки склада во временный файл CSV и затем отправит его на указанный адрес через FTPСоединение

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

Шаг 5. Вернемся в конфигуратор и загрузим обработку обратно - из того же XML файла, который мы указали на шаге 2.

Убеждаемся, что в модуле формы - тот же код, что сгенерировал нам Cursor.
Что получилось
Мы - молодцы! Только что мы создали полноценную обработку, не написав ни строчки кода.
НО, есть несколько но. Наша обработка не работает. Давайте посмотрим, почему.
- Галлюцинации объектной модели 1С. Например, в моем эксперименте, агент породил такую конструкцию:

Но у объекта FTPСоединение нет метода ЗаписатьФайл() и метода Закрыть()! Вместо этого надо было использовать метод Записать().
К сожалению, модели без дополнительных инструментов плохо понимают специфику объектной модели 1С - слишком мало 1С-ного кода им подается на претрейне.
2. Там, где идет работа с объектами конфигурации, модель гадает на кофейной гуще. В моем случае, запрос к остаткам получился таким:

Но у нас нет регистра ТоварыНаСкладах. Да и вообще, откуда агент получит информацию об объектах нашей конфигурации, если конфигурацию он не видит?
Так что-же, это все фигня какая-то?
Нет.
Во-первых, примерно 90% кода - абсолютно правильные. Правильная логика, правильнй синтаксис, правильные названия объектов глобального контекста 1С - Запрос, FTPСоединение, ЗаписьТекста и пр. По ощущениям, я сэкономил 50% времени, с учетом того, что код нужно править и отлаживать.
Во-вторых, обе проблемы решаются с помощью настройки MCP-серверов. MCP-сервер это такой мостик между агентом и той информацией, которой ему не хватает для правильной работы. Об этом поговорим в следующих постах
Продолжение: побеждаем галлюцинации