Первый промпт для BSL: как научить ИИ-агента сверяться с метаданными конфигурации

02.10.26

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

Промпт из четырёх пунктов, после которого агент перестаёт угадывать имена реквизитов: он получает список инструментов MCP-сервера метаданных, запрашивает структуру объектов и пишет код только по вернувшимся именам. Внутри - BSL-фрагмент выгрузки метаданных через объект Метаданные, три теста промпта и разбор ошибки «Поле объекта не обнаружено». BSL-код не прогнан на платформе: нужна проверка автора на своей базе.

Файлы

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

Наименование Скачано Купить файл
Промпт и фрагменты BSL
.zip 2,49Kb
0 2 500 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

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

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

Для кого: программисты 1С, которые пишут код с ИИ-агентом (Cursor, Claude Code) и устали ловить «Поле объекта не обнаружено» на проведении документа.

🎯 О чём это (в три строки)
🗸Промпт, который берёт имена объектов 1С из метаданных.
🗸Текст промпта из четырёх пунктов, BSL-фрагмент выгрузки метаданных, три теста проверки промпта.
🗸Меньше ошибок времени выполнения из-за выдуманных имён реквизитов и дешевле ревью кода агента.
🧠 Суть статьи

Для 1С-разработчиков с ИИ-агентом: как промпт из четырёх пунктов и MCP-сервер метаданных убирают выдуманные имена реквизитов и ошибку «Поле объекта не обнаружено».

Ключевые идеи
  • Агент без доступа к конфигурации берёт частотные имена из чужих примеров, например Сумма вместо вашего СуммаДокумента.
  • Сервер читает структуру через Метаданные.НайтиПоПолномуИмени; стандартные реквизиты лежат отдельно, в СтандартныеРеквизиты.
  • Промпт требует получить список инструментов, запросить структуру объектов и писать код только по вернувшимся именам.
  • Если сервер молчит, агент отвечает «Нет данных о структуре объекта» и код не пишет.
  • Три теста: несуществующий реквизит, переименованный реквизит, отключённый сервер; запускайте их на копии базы.
Главная мысль

Верное имя реквизита агент берёт из ответа сервера метаданных, и промпт делает этот ответ обязательным шагом перед кодом.

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

Ошибка в имени реквизита не мешает модулю загрузиться. BSL исполняется интерпретатором, поэтому обращение к несуществующему полю всплывает в момент выполнения строки, сообщением «Поле объекта не обнаружено». Если строка стоит в обработчике проведения, ошибку первым увидит пользователь.

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

🧱 Почему агент выдумывает имена

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

Три места, где это ломается чаще всего:

  • Реквизиты с нестандартными именами. В типовых решениях их переименовывают при доработках: ЮрАдрес, ИННКонтрагента, СуммаСНДС. Модель подставит общеупотребительное имя.
  • Строковый код. Вызовы через Выполнить("ПроверитьЗаполнение") и Вычислить("Цена * Количество") собираются во время работы, и по тексту модуля их не видно ни человеку, ни агенту.
  • Общие модули и их экспортные функции. Даже верно угаданное имя общего модуля не даёт сигнатуры: сколько параметров, какие обязательные, что возвращается.

Синтаксис при этом остаётся правильным. Модуль проверится, конфигурация обновится, а падение случится на конкретном документе в конкретном сценарии.

🔌 Что отдаёт MCP-сервер метаданных

MCP (Model Context Protocol) - открытый протокол, по которому агент запрашивает данные у внешнего процесса. Обмен идёт сообщениями JSON-RPC: клиент вызывает tools/list и получает список инструментов сервера с описанием параметров, затем tools/call с именем инструмента и аргументами. Формат описан в спецификации протокола, раздел Tools.

Сервер метаданных для 1С подключается к базе внешним соединением или через HTTP-сервис, читает структуру объектов и отдаёт её агенту по запросу. Внешнее соединение открывается COM-объектом и строкой подключения:

bsl/vneshnee-soedinenie.bsl UTF-8 📦 Скачать архив
1
2
Соединитель = Новый COMОбъект("V83.COMConnector");
Соединение = Соединитель.Connect("Srvr=""srv-1c"";Ref=""dev_base"";Usr=""robot"";Pwd=""***"";");

Для файловой базы строка другая: File="C:\bases\dev";Usr="robot";Pwd="***";. Через полученное соединение доступны объекты встроенного языка и экспортные процедуры общих модулей с включённым свойством «Внешнее соединение».

Разделение, которое стоит зафиксировать в самом сервере: наружу уходят имена, типы и структура, а значения реквизитов, записи регистров и тексты модулей - нет. Это разные вещи, и в коде сервера они разводятся по разным веткам.

Если сервер пишете сами, учтите ограничение на имя инструмента из спецификации: от 1 до 128 символов, латиница, цифры, подчёркивание, дефис и точка. Имена вида [get_object_structure] в квадратных скобках протокол не примет - квадратных скобок в допустимых символах нет.

🧪 Выгрузка метаданных на BSL

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

bsl/rekvizity-spravochnika.bsl UTF-8 📦 Скачать архив
1
2
3
4
СправочникМД = Метаданные.НайтиПоПолномуИмени("Справочник.Номенклатура");
Для Каждого Реквизит Из СправочникМД.Реквизиты Цикл
    Сообщить(Реквизит.Имя + " - " + Строка(Реквизит.Синоним));
КонецЦикла;

Состав коллекций зависит от вида объекта. У документа есть ТабличныеЧасти, у каждой части - свои Реквизиты. У регистра накопления - Измерения и Ресурсы, у регистра сведений к ним добавляется периодичность. Стандартные реквизиты (Ссылка, ПометкаУдаления, Дата, Номер, Проведен) лежат отдельно, в коллекции СтандартныеРеквизиты, и в Реквизиты не попадают. Сервер, который читает только Реквизиты, отдаст агенту неполную картину, и агент снова угадает Проведен.

Код выше не прогнан на платформе: в облаке нет 1С. Проверьте его на своей базе перед тем, как встраивать в сервер.

💻 Первый промпт

Промпт не называет инструменты сервера по именам. Имена задаёт ваша реализация, и зашитая в текст строка вроде list_objects разойдётся с ней на первой же правке. Вместо этого промпт требует сначала получить список инструментов, а потом работать по нему.

Ты - эксперт по разработке на платформе 1С:Предприятие 8.3.
У тебя подключён MCP-сервер метаданных конфигурации.

Порядок работы над задачей:
1. Получи список инструментов MCP-сервера. Если структура нужных объектов уже есть
   в контексте этой сессии, повторно не запрашивай.
2. Определи объекты, которые нужны для задачи, и запроси структуру каждого:
   реквизиты шапки, табличные части и их колонки, измерения и ресурсы регистров.
3. Пиши код только по именам, которые вернул сервер. Имя, которого нет в ответе
   сервера, использовать нельзя, даже если оно выглядит стандартным.
4. Перед ответом перечисли имена, взятые из метаданных, и укажи, из какого ответа
   сервера получено каждое.

Если сервер недоступен или не вернул структуру объекта - остановись и напиши:
«Нет данных о структуре объекта <имя>». Код в этом случае не пиши.

Задача: <опишите задачу>

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

Пункт 4 - дешёвая проверка для вас. Агент сам показывает, какие имена он взял из ответов сервера. Если в списке пусто или имена не совпадают с тем, что вернул сервер, промпт не сработал, и это видно до запуска кода.

Пункт про недоступный сервер закрывает худший сценарий. Агент, у которого инструмент отвалился, обычно не молчит: он добирает недостающее из общих знаний и выдаёт правдоподобный код. Явный отказ дешевле разбора такого кода.

🧰 Как проверить промпт на своей конфигурации

Три теста, каждый на своей базе:

  1. Несуществующий реквизит. Дайте задачу, для которой нужен реквизит, отсутствующий в конфигурации, например Справочник.Номенклатура.АртикулПоставщика при его отсутствии. Правильное поведение - сообщение, что в метаданных такого реквизита нет.
  2. Нестандартное имя. Возьмите свой реквизит с переименованием (СуммаДокумента, ЮрАдрес) и посмотрите, какое имя окажется в коде. Совпадение с базой означает, что агент читал структуру.
  3. Отключённый сервер. Уберите MCP-сервер из настроек агента и повторите задачу. Кода в ответе быть не должно.

К тестам добавляется журнал вызовов инструментов. Посчитайте, сколько разных объектов агент запросил за задачу. Если в задаче участвуют десять объектов, а в журнале два, промпт работает вполсилы, и пункт 2 стоит переписать конкретнее.

Проверять это придётся на копии базы. Внешнее соединение на продуктивной базе даёт лишний сеанс и лишний доступ, а метаданные ничем не отличаются от метаданных копии.

🚧 Границы

  • Промпт отвечает за имена и типы и не отвечает за логику. Верные имена реквизитов не спасают от неверного алгоритма: расчёт себестоимости, закрытие месяца и проведение по регистрам агент по-прежнему пишет сам, и проверять их нужно тестами.
  • Метаданные платформы не описывают вашу бизнес-логику. Правила расчёта, зашитые в общий модуль, из структуры конфигурации не видны: там есть только имя функции и её параметры.
  • Несуществующее имя агент ловит по ответу сервера. Существующее, но неподходящее по смыслу имя так не поймать: Сумма в конфигурации есть, и агент честно подставит её вместо СуммаДокумента, если запросил не тот объект.

📚 Источники и чем эта статья отличается

  • Спецификация Model Context Protocol, раздел Tools: методы tools/list и tools/call, поля описания инструмента, правила именования.
  • «Технологии интеграции 1С:Предприятия 8.3», раздел «Внешнее соединение» (its.1c.ru): COM-объекты V83.COMConnector и V82.COMConnector, строка подключения, ограничения внешнего соединения.
  • Методическая документация 1С по работе с объектами метаданных во встроенном языке (its.1c.ru): Метаданные.НайтиПоПолномуИмени(), коллекции Реквизиты, СтандартныеРеквизиты, ТабличныеЧасти.
  • Разбор ошибки «Поле объекта не обнаружено» на Infostart (статья 2286929): почему она возникает во время выполнения и чем проверять существование свойства.

Публикации на ту же тему, прочитанные 30.09.2026:

Публикация Что делает Чем отличается эта статья
Свой MCP-сервер для метаданных 1С (FSerg) Метаданные из выгрузки конфигурации в XML, векторный поиск в Qdrant Здесь текст промпта, после которого агент не отвечает по памяти
Cursor + MCP: собираем идеальное рабочее место 1С-разработчика за 15 минут и Cursor + MCP для 1С: работающая инструкция с картинками Настройка редактора и подключение MCP-серверов Здесь разбирается, что именно требует промпт от агента и как это проверить

📦 Файл к статье

К публикации приложен архив 02.2-companion.zip, он в блоке «Файлы» вверху страницы:

  • prompt-mcp-metadannye.md - промпт из статьи: агент сначала запрашивает структуру объектов у MCP-сервера метаданных и пишет код только по полученным именам; если данных нет - останавливается.
  • bsl/rekvizity-spravochnika.bsl - перебор реквизитов справочника через Метаданные.НайтиПоПолномуИмени.
  • bsl/vneshnee-soedinenie.bsl - подключение через V83.COMConnector.
  • README.md: что внутри, как пользоваться и что проверено.

🏁 Итог

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

Проверяется это на трёх задачах: несуществующий реквизит, переименованный реквизит, отключённый сервер. Замер частоты вызовов сервера на своих задачах я не проводила: это зависит от модели и от описаний инструментов в вашем сервере.

 
Нинель Адольевна Щербакова
Нинель Адольевна Щербакова (Ninel_S)
Архитектор • SRE & DevOps инженер • HighLoad 1С
Автор 28+ технических публикаций на Infostart. Разработчик NOPik, SRE-Suite-for-1C и мультиагентных ассистентов для экосистемы 1С:Предприятие.

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

MCP ИИ-агент промпт метаданные BSL Cursor Claude Code галлюцинации

См. также

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

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

15990 руб.

30.07.2026    19328    40    4    

36

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    21436    104    32    

90

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

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

15250 руб.

25.08.2025    76724    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    3382    10    9    

11

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

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

14640 руб.

07.08.2026    2136    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    1401    1    0    

1

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

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

05.11.2026    5940    Iliaelagin    6    

15

Нейросети Разработчик Бухгалтер Пользователь 1С:Предприятие 8 1С:Бухгалтерия 3.0 Бесплатно (free)

ИИ агент для бухгалтерии - открытый ИИ-консультант внутри 1С. Он отвечает на вопросы по данным базы, анализирует задолженность и обороты, помогает разбирать ошибки проведения и готовить документы. Пользователь видит шаги агента: какие инструменты вызваны и какие результаты получены. Решение состоит из расширения 1С и сервера на Python, поддерживает локальные модели и облачные API. Инструменты выполняются с правами текущего пользователя. Текущая версия - прототип для «Бухгалтерии предприятия 3.0». Исходный код распространяется под лицензией MIT.

31.10.2026    3391    166    nomadAI    8    

19
Для отправки сообщения требуется регистрация/авторизация