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

23.03.26

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

11 лет в 1С. Попробовал вайб-кодинг на Python — ускоряешься в разы. Решил попробовать с 1С. Написал MCP-инструмент, который читает XML-выгрузку конфигурации, научил агента генерировать новые объекты и загружать обратно через конфигуратор в пакетном режиме. Полный цикл: описание задачи U94; XML U94; загрузка U94; объект в Enterprise. Без моего участия.

Подводка

11 лет в 1С. За это время чего только не перепробовал для облегчения рутины — снипеты, шаблоны, генераторы. Всё помогало, но не радикально.

Потом довелось поработать с Python и C++. Попробовал вайб-кодинг — описываешь задачу словами, нейросеть пишет код. На Python это реально работает: современные модели выдают рабочий код с первого-второго промпта. Ускоряешься в разы.

И тут задумался: а можно ли так же с 1С?

Тема вайб-кодинга в 1С уже вовсю поднимается. Есть MCP-серверы для популярной IDE для AI-агентов, автодополняльщики, курсы. Посмотрел — интересно, но мне хотелось другого. Не подсказок в IDE и не автодополнения. Хотелось попробовать агентское программирование — когда программа за тебя делает полный цикл работы. Не подсказывает код, а сама создаёт объект метаданных, загружает в конфигурацию, и ты видишь результат в режиме предприятия. Ощутить себя архитектором из Матрицы — описал задачу, откинулся в кресле, а машина работает.

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

 

Шаг 1: скормить XML модели

Взял свою рабочую конфигурацию БП КОРП и выгрузил в XML через стандартный ВыгрузитьКонфигурациюВФайлы (DumpConfigToFiles). Получил каталог на 80 000 файлов.

Дал пару файлов агенту на анализ. Модель сразу увидела структуру: каждый объект — отдельный каталог с XML-описанием и BSL-модулями. Есть какой-то корневой файл со списком всех объектов. В целом — достаточно понятная организация.

Раз модель понимает структуру — значит можно научить её с ней работать. Решил написать MCP-инструмент.

 

Шаг 2: MCP-инструмент для чтения метаданных

Для тех кто не в курсе: MCP (Model Context Protocol) — это способ дать AI-модели доступ к вашим данным и инструментам. Описываете функцию на Python, а модель вызывает её когда считает нужным. По сути — руки для мозга.

Мой первый инструмент — read_metadata. Делает простую вещь: читает XML-файл объекта и возвращает модели структурированную информацию о реквизитах, табличных частях, модулях.

import xml.etree.ElementTree as ET
import os

# Все XML-файлы конфигурации 1С используют этот namespace
NS = {'md': 'http://v8.1c.ru/8.3/MDClasses'}

def read_metadata(object_type: str, object_name: str, xml_dump_path: str) -> dict:
    """Читает метаданные объекта конфигурации 1С из XML-выгрузки.

    Параметры:
        object_type: тип ("Catalog", "Document", "InformationRegister" и т.д.)
        object_name: имя объекта (например, "Контрагенты")
        xml_dump_path: путь к каталогу XML-выгрузки

    Возвращает словарь с именем, реквизитами, табличными частями и модулями.
    """

    # В выгрузке 1С каждый тип объекта лежит в своём каталоге:
    # справочники в Catalogs, документы в Documents и т.д.
    type_dirs = {
        'Catalog': 'Catalogs', 'Document': 'Documents',
        'InformationRegister': 'InformationRegisters',
        'Enum': 'Enums', 'Report': 'Reports',
        'DataProcessor': 'DataProcessors',
    }

    # Собираем путь к XML-файлу объекта
    dir_name = type_dirs.get(object_type, object_type + 's')
    xml_path = os.path.join(xml_dump_path, dir_name, object_name,
                            f'{object_name}.xml')

    if not os.path.exists(xml_path):
        return {'error': f'Объект не найден: {xml_path}'}

    # Парсим XML — стандартный ElementTree, ничего экзотического
    tree = ET.parse(xml_path)
    root = tree.getroot()

    # Достаём реквизиты — ищем все теги <Attribute> и берём из них <Name>
    attributes = []
    for attr in root.findall('.//md:Attribute', NS):
        name_el = attr.find('.//md:Name', NS)
        if name_el is not None:
            attributes.append(name_el.text)

    # Табличные части — аналогично, тег <TabularSection>
    tabular_sections = []
    for ts in root.findall('.//md:TabularSection', NS):
        name_el = ts.find('.//md:Name', NS)
        if name_el is not None:
            tabular_sections.append(name_el.text)

    # BSL-модули лежат в подкаталоге Ext (ObjectModule.bsl, ManagerModule.bsl и т.д.)
    ext_path = os.path.join(xml_dump_path, dir_name, object_name, 'Ext')
    modules = os.listdir(ext_path) if os.path.exists(ext_path) else []

    return {
        'name': object_name,
        'type': object_type,
        'attributes': attributes,
        'tabular_sections': tabular_sections,
        'modules': modules,
    }

50 строк, стандартный парсинг XML. Но это даёт модели «зрение»: она видит конфигурацию не как кашу из тегов, а как объекты с реквизитами.

Для типового справочника Контрагенты модель получает:

{
  "name": "Контрагенты",
  "type": "Catalog",
  "attributes": ["ИНН", "КПП", "НаименованиеПолное", "ЮрФизЛицо"],
  "tabular_sections": ["КонтактнаяИнформация"],
  "modules": ["ManagerModule.bsl", "ObjectModule.bsl"]
}

Теперь «Добавь реквизит в справочник Контрагенты» — осмысленная задача, а не гадание вслепую.

 

Шаг 3: а что, если загрузить обратно?

Чтение — это read-path. Все так делают. Но раз модель понимает структуру XML — может она и создать такой XML?

Попробовал руками: взял XML типового перечисления, скопировал, поменял имя и UUID, положил в каталог выгрузки, прописал в Configuration.xml, запустил ЗагрузитьКонфигурациюИзФайлов. Работает! Платформа приняла новый объект.

Значит можно автоматизировать. Я работал в одной из популярных IDE для AI-агентского программирования — написал Python-скрипт, который:

  1. Генерирует UUID
  2. Формирует XML по шаблону (скопировал структуру типового объекта и параметризировал)
  3. Создаёт каталог и файл в выгрузке
  4. Добавляет запись в Configuration.xml

А для загрузки — BAT-файл, который вызывает конфигуратор в пакетном режиме:

@echo off
chcp 65001 >nul
"C:\Program Files\1cv8\8.3.27.1859\bin\1cv8.exe" DESIGNER ^
  /IBConnectionString "File='E:\bases\buh'" ^
  /LoadConfigFromFiles "E:\bases\xml_dump" ^
  /UpdateDBCfg ^
  /Out "E:\logs\load.log"
echo Готово. Код: %ERRORLEVEL%

Итого полный цикл:

Python: выгрузить XML → Python: создать справочник → BAT: загрузить обратно

IDE запускала и Python-скрипты, и BAT-файлы. Агент оркестрировал весь процесс.

 

Шаг 4: что получилось

Попросил агента создать справочник «ГрафикиПлатежей».

Агент:

  1. Сгенерировал XML справочника
  2. Положил в каталог выгрузки
  3. Добавил запись в Configuration.xml
  4. Запустил BAT-файл загрузки

Открываю конфигуратор — справочник на месте:

 

 

Открываю режим предприятия — тоже видно:

 

 

Кстати, обратите внимание на имя — длкГрафикиПлатежей. По стандартам 1С (ITS) имена добавленных объектов в типовой конфигурации должны начинаться с префикса в верхнем регистре и с подчёркиванием — например ДЛК_ГрафикиПлатежей. Мой агент создал без подчёркивания и в нижнем регистре. Работает, но не по стандарту. Придётся ещё учить его стандартам разработки 1С — пока он как стажёр, который код пишет, а правила оформления ещё не выучил.

 

Грабли

Было бы нечестно и скучно не рассказать.

Configuration.xml. Первая попытка: создал XML справочника, положил в каталог выгрузки, загрузил — «Операция завершена успешно». Открываю конфигуратор — объекта нет. Полдня искал причину. Оказалось, в корне выгрузки есть файл Configuration.xml — что-то вроде оглавления конфигурации. В нём перечислены все объекты с UUID. Если нового объекта нет в этом оглавлении — платформа его просто игнорирует, даже если файлы на месте. Добавил запись — заработало.

GeneratedTypes. Каждый объект в XML имеет секцию <Produced> — набор типов, которые платформа генерирует для него. У справочника их 8 (Object, Ref, Manager, Selection, List...), у регистра сведений — 7 (есть RecordManager). Мой генератор поставил 6 для регистра — платформа молча отвергла при загрузке. Никакой вменяемой ошибки — просто «не удалось». Два часа сравнивал с типовым объектом, пока не нашёл.

Поддержка. Для эксперимента взял стандартную БП КОРП. Она на поддержке от 1С — все объекты залочены. Пришлось руками в конфигураторе снять ограничение на редактирование, иначе загрузка не проходила. Агент тут пока бессилен — настройка поддержки только через GUI.

 

Повторяю без моего вмешательства в процессе: полный автомат!

Во всех предыдущих попытках я лез руками в конфигуратор — настраивал поддержку, проверял результат. Ощущение «за меня всё сделали» было неполным. Хочется, чтобы помощник всё полностью за меня сделал.

Поэтому решил повторить эксперимент чисто. И с усложнением в 5 раз! Разрешил редактирование корня конфигурации с сохранением поддержки (одноразовая ручная операция), откатил все предыдущие изменения и запустил задачу заново: добавить 3 справочника и 2 документа.

И пошёл гулять.

Система выгрузила файлы конфигурации, сгенерировала XML новых справочников, прописала их в Configuration.xml, загрузила обратно через конфигуратор в пакетном режиме и обновила конфигурацию базы данных. Всё полностью автоматически.

Вернулся через час. Открыл конфигуратор — справочники на месте, документы тоже. Открыл режим предприятия — работает.

 

 

 

 

Итог, экономия времени

Операция, которую руками делаешь за 2 минуты (Конфигуратор → Новый справочник → Имя → Ctrl+S), заняла у меня почти целый день. Написание MCP-инструментов, эксперименты с XML, поиск граблей, отладка BAT-файлов... Сама автоматическая загрузка — около часа. Но подготовка к ней — весь оставшийся день.

Оптимизация? Ну... скажем так, пока скорее наоборот. Зато можно пойти погулять (или поспать), пока машина загружает конфигурацию.

Но если серьёзно — это первый шаг, который показал главное: оно работает. Агент может не просто подсказать код в IDE, а сам создать объект метаданных, который платформа 1С принимает как родной. Полный цикл: описание задачи → генерация XML → загрузка → объект в Enterprise. Без моего участия. И при масштабировании и увеличении количества задач положительный эффект должен появиться.

Дальше — дело техники. В планах: научить агента добавлять реквизиты в существующие объекты, писать код модулей, может быть даже работать с формами. Фундамент есть — write-path работает. Буду продолжать развивать эту тему.

Продолжение следует.

Вопросы, критика, советы — в комментариях, буду признателен. Особенно интересные вызовы, задачи, которые должны быть точно не под силу ИИ 

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

вайб-кодинг AI MCP XML агентское программирование конфигуратор метаданные автоматизация нейросети

См. также

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

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

15250 руб.

25.08.2025    46007    98    27    

110

Разработка Инструментарий разработчика Работа с интерфейсом Адаптация типовых решений Нейросети 1C:Бухгалтерия 1C:ERP 1С:ЗУП 1С:КА 1С:УНФ 1С:УТ 1С:Розница 1С:ДО 1С:ERP Управление предприятием 2 Платные (руб)

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

36600 руб.

28.08.2025    7057    2    2    

6

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

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

23180 руб.

24.06.2021    11838    5    7    

16

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

Умный Excel" - ИИ-супердвигатель, который превращает часы работы в минуты! Технологии будущего уже здесь: загрузил Excel "магия ИИ" готовый результат

8540 руб.

02.07.2025    3407    2    0    

6

Нейросети Пользователь 1С:Предприятие 8 1С:Управление нашей фирмой 1.6 1С:Управление торговлей 11 1С:Управление нашей фирмой 3.0 Оптовая торговля, дистрибуция, логистика Россия Управленческий учет Платные (руб)

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

6100 руб.

03.04.2024    14157    7    0    

12

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

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

5084 руб.

13.03.2023    22579    52    50    

80

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

ИИ помощник со встроенным MCP сервером, который работает прямо внутри Конфигуратора. Автодополнение кода, ревью, исправление ошибок, доработка методов, документирующие комментарии — всё без переключения из Конфигуратора.

20.03.2026    1300    Sergey_Borisovi4    29    

48

Нейросети Рефакторинг и качество кода Программист Бесплатно (free)

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

20.03.2026    292    ksnik    0    

3
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. chuevsf 120 23.03.26 09:17 Сейчас в теме
Позабыты хлопоты,
Остановлен бег.
Вкалывают роботы,
А не человек.

P.S. А вообще хочу одну огромную кнопку под названием "Бабло". Нажимать на неё не хочу. Хочу, чтобы нажималась сама, а денежные знаки сразу "падали" на карту. )))
Для отправки сообщения требуется регистрация/авторизация