Как разработать MVP-конфигурацию, не зная предметную область, и не написать ни одной строчки кода. История про API Мосбиржи и ChatGPT

07.05.26

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

Разработка конфигурации 1С вместе с ChatGPT 5.5 для работы с API Мосбиржи: разбор предметной области, проектирование структуры базы, организация загрузки данных и получение рабочего MVP-решения. Отдельное внимание уделено реальному процессу взаимодействия с ИИ — от постановки задачи и генерации кода до проверки в 1С, поиска ошибок и доработок. Также рассматривается качество кода, который генерирует ИИ, и делаются выводы о том, насколько подобный подход уже сегодня применим в практической разработке на платформе 1С.

Сразу сделаю важную оговорку: совсем ни одной строчки кода я всё-таки не написал — пару строк пришлось добавить самостоятельно. Например, при открытии карточки ценной бумаги я скрывал или показывал реквизиты, которые относятся к акциям или облигациям. Но весь код, связанный с взаимодействием с API, загрузкой данных, обработкой JSON, постраничной загрузкой, обновлением текущих и базовых значений, был написан ИИ — ChatGPT 5.5.

И самое интересное: этот код оказался рабочим.

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

 

Коротко обо мне

Я разработчик 1С с некоторым опытом разработки. Я не специалист по фондовому рынку и на старте проекта мои знания в этой области были минимальными. При этом у меня было желание не просто «поиграться с ИИ», а попробовать поставить его на службу реальной прикладной задаче.

Мне хотелось проверить, может ли ИИ помочь пройти путь от идеи до работающего прототипа, если у разработчика есть опыт 1С, но почти нет знаний в предметной области.

 

Идея проекта

Задача была простой по формулировке, но не такой простой в реализации:

  1. Получить список акций и облигаций с Московской биржи.
  2. Загрузить текущую цену инструмента.
  3. Загрузить цену закрытия предыдущей торговой сессии.
  4. Посчитать разницу.
  5. Получить список лидеров падения или роста.

Позже я узнал, что текущая цена — это показатель LAST, а цена закрытия предыдущей торговой сессии — CLOSE. Эти термины и смысл их использования мне объяснил ИИ в процессе работы.

То есть изначально я пришёл не с готовой моделью данных, а с достаточно бытовой идеей: «Хочу видеть, какие бумаги сегодня сильно упали или выросли относительно предыдущей торговой сессии».
 

Первый э тап: погруж ение в предметную область через ИИ

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

На этом этапе стало понятно, что у Мосбиржи есть разные типы данных.

Есть условно постоянная информация по ценным бумагам:

  • код бумаги SECID;
  • ISIN;
  • режим торгов;
  • рынок биржи;
  • параметры облигаций;
  • другие реквизиты инструмента.

Есть текущая рыночная информация, которая меняется во время торговой сессии:

  • последняя цена LAST;
  • лучшая цена покупки BID;
  • объём;
  • другие показатели.

Есть историческая информация:

  • цена закрытия CLOSE;
  • данные по предыдущим торговым дням;
  • история торгов по инструменту.

Важным открытием стало то, что эти данные отдаются разными запросами API. Нельзя просто одним запросом получить «всё, что нужно». Нужно понимать, какие данные являются справочными, какие текущими, какие историческими, и загружать их разными механизмами.

 

Фрагмент переписки с ChatGPT

Я: Как получить текущую цену облигации?

ChatGPT: Для текущих рыночных данных нужно использовать блок marketdata. В нём можно получить, например, LAST, BID, OFFER.

Я: А где взять цену предыдущей торговой сессии?

ChatGPT: Для этого используется исторический endpoint /iss/history/..., а цена закрытия торговой сессии — это показатель CLOSE.

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

 

Второй этап: проектирование структуры базы

После первичного понимания API нужно было спроектировать структуру базы в 1С.

ИИ предложил не хранить всё подряд, а разделить данные по смыслу:

  • справочники для постоянных сущностей;
  • регистр текущих данных для оперативных значений;
  • отдельный регистр базовых данных для сравнения с предыдущей торговой сессией.

В итоге появились основные объекты конфигурации:

  • справочник «Ценные бумаги»;
  • справочник «Эмитенты»;
  • справочник «Режимы торгов»;
  • справочник «Рынки биржи»;
  • справочник «Инструменты биржи»;
  • справочник «Показатели биржи»;
  • регистр сведений «Текущие данные биржи»;
  • регистр сведений «Базовые данные биржи».

Отдельно важным было решение по коду ценной бумаги. ChatGPT предложил использовать связку:

SECID + BOARDID

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

Например: SBER_TQBR

Для акций и облигаций были заведены разные режимы торгов. На старте использовались:

TQBR — акции
TQCB — облигации

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

 

Фрагмент переписки с ChatGPT

Я: А как лучше формировать код ценной бумаги?

ChatGPT: Лучше использовать связку SECID + BOARDID, потому что один и тот же инструмент может торговаться в разных режимах торгов.

Эта подсказка повлияла на структуру справочника «Ценные бумаги» и помогла избежать неоднозначности при загрузке инструментов.
 

Третий этап: выгрузка конфигурации в файлы

Разработка нового функционала велась в новом расширении, для выгрузки  я использовал стандартный пункт конфигуратора «Выгрузить конфигурацию в файлы»

После этого я загрузил ZIP-архив в чат. Это оказалось очень удобным: ИИ смог анализировать структуру конфигурации не по моим пересказам, а по реальным XML-файлам выгрузки.

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

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

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

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

 

Четвёртый этап: генерация кода загрузки

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

Код писался в общий модуль мбСервер. Основные задачи модуля:

  • обращаться к API Мосбиржи;
  • получать JSON;
  • разбирать блоки ответа;
  • создавать или обновлять элементы справочника «Ценные бумаги»;
  • загружать текущие значения LAST, BID, OFFER;
  • загружать НКД для облигаций;
  • загружать базовые значения CLOSE;
  • записывать данные в регистры сведений.

ИИ сгенерировал процедуры и функции, которые постепенно превратились в рабочий серверный модуль.

Среди них были:

  • СинхронизироватьЦенныеБумагиПоРежимуТоргов()
  • ОбновитьТекущиеДанныеБиржи()
  • ОбновитьТекущиеДанныеПоРежимуТоргов()
  • ПолучитьТаблицуИсторииПоРежимуТоргов()
  • ЗаписатьТекущееЗначение()
  • ЗаписатьБазовоеЗначение()

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

 

Пагинация и cursor: пример реальной отладки

Один из важных технических моментов — загрузка больших наборов данных из API Мосбиржи.

Сначала была логика: делать запросы порциями и увеличивать параметр start. Но на практике выяснилось, что простой признак «если строк меньше размера страницы — значит конец» не всегда удобен и надёжен.

Тогда мы перешли на использование блока history.cursor.

В нём API отдаёт: INDEX, TOTAL, PAGESIZE

И можно понимать, где мы находимся относительно общего количества строк.

Логика стала такой:

СледующееНачало = INDEX + PAGESIZE
Если СледующееНачало >= TOTAL — загрузка завершена

Но и здесь появилась 1С-специфичная проблема: блок в JSON называется history.cursor, а точка в имени свойства не подходит для чтения JSON в структуру 1С. Пришлось заменить имя блока перед чтением: history.cursor → history_cursor

 

Фрагмент переписки с ChatGPT

Я: Ошибка: недопустимое имя свойства history.cursor для чтения JSON в объект Структура.

ChatGPT: MOEX возвращает блок с точкой в имени. Для структуры 1С такое имя свойства недопустимо. Перед чтением JSON нужно заменить history.cursor на history_cursor.

Это отличный пример совместной работы:

  • ИИ предложил подход через cursor;
  • я запустил код и получил ошибку;
  • отправил текст ошибки в чат;
  • ИИ объяснил причину;
  • после этого был сгенерирован исправленный вариант.

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

Текущие данные и базовые значения

В процессе обсуждения мы разделили текущие и базовые данные.

Текущие данные — это то, что обновляется часто во время торговой сессии. Например: LAST, BID, OFFER

Для них был создан регистр сведений «Текущие данные биржи».

Базовые данные — это значения, с которыми мы сравниваем текущие. В нашем случае это цена закрытия предыдущей торговой сессии: CLOSE

Для них был создан отдельный регистр «Базовые данные биржи».

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

Ещё важная договорённость: если из API приходит пустое значение текущего показателя, мы не затираем уже сохранённое значение в регистре. Это защищает данные от ситуации, когда временно в ответе нет цены, но предыдущее корректное значение у нас уже есть.

 

НКД по облигациям

Отдельной задачей стала загрузка НКД для облигаций.

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

Пример логики:

Если режим торгов относится к рынку облигаций, тогда обновляем НКД по этому режиму торгов.

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

 

Что получилось в итоге

В результате получился MVP конфигурации, который умеет:

  • загружать справочник ценных бумаг;
  • различать акции и облигации;
  • учитывать режимы торгов;
  • получать текущие рыночные показатели;
  • получать базовые значения для сравнения;
  • загружать НКД по облигациям;
  • сохранять данные в регистры сведений;
  • строить основу для списка лидеров роста и падения.

Самое важное — проект двигался итерационно. Я не пытался сразу написать идеальную архитектуру. Вместо этого мы шли маленькими шагами:

  1. Получили данные из API.
  2. Создали структуру хранения.
  3. Написали первую загрузку.
  4. Поймали ошибку.
  5. Исправили.
  6. Добавили следующий показатель.
  7. Снова проверили.

Именно такой формат работы с ИИ оказался наиболее продуктивным.

 

Что понравилось в работе с ИИ

Первое — скорость погружения в предметную область.

Я не знал API Мосбиржи, не знал, какие показатели нужны, не знал разницу между LAST и CLOSE. Через диалог удалось быстро сформировать рабочее понимание.

Второе — генерация кода на реальном синтаксисе 1С.

Для меня было критично, чтобы ИИ не придумывал несуществующие методы платформы. В этом проекте код оказался очень близок к рабочему. Иногда его приходилось корректировать, но это была обычная отладка, а не борьба с фантазиями модели.

Третье — возможность работать с файлами.

Я выгружал конфигурацию в файлы, загружал ZIP в чат, и ИИ мог анализировать реальные метаданные. Это сильно удобнее, чем каждый раз вручную описывать структуру базы.

Четвёртое — ИИ хорошо работает как напарник по отладке.

Когда я присылал ошибку 1С или текст URL, он объяснял вероятную причину и предлагал конкретное исправление.

 

Что не понравилось и где нужно быть осторожным

ИИ не заменяет разработчика полностью.

Он может написать рабочий код, но разработчик всё равно должен понимать:

  • куда этот код вставлять;
  • как его запускать;
  • как проверять результат;
  • где логика может быть опасной;
  • какие данные реально записались;
  • где нужна оптимизация.

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

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

 

Важный вывод

 

Самый ценный навык при работе с ИИ — это не умение «попросить написать код». Самый ценный навык — уметь вести разработку итерационно:

  • дать контекст;
  • показать структуру базы;
  • сформулировать ограничение;
  • проверить результат;
  • вернуть ошибку;
  • уточнить требование;
  • не принимать код вслепую.

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

 

Итог

Этот эксперимент показал мне, что ИИ уже можно использовать не только для написания отдельных функций, но и для разработки полноценного MVP.

Особенно если у разработчика есть базовый опыт платформы 1С, но не хватает знаний в новой предметной области. В такой ситуации ИИ помогает быстро пройти путь от «я примерно понимаю, что хочу» до «у меня есть рабочий прототип».

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

В моём случае итогом стала MVP-конфигурация для работы с API Мосбиржи, загрузкой акций, облигаций, текущих цен и базовых значений. И большая часть кода действительно была написана ChatGPT.

А я, похоже, впервые почувствовал, что ИИ можно не просто изучать, а реально ставить на службу в разработке 1С.

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

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

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

См. также

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

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

15250 руб.

25.08.2025    53411    110    29    

121

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

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

6100 руб.

03.04.2024    15252    8    0    

12

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

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

8540 руб.

02.07.2025    4016    2    0    

6

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

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

5084 руб.

13.03.2023    22579    52    50    

80

Нейросети Программист 1С 8.3 1С:Зарплата и Управление Персоналом 3.x Россия Бесплатно (free)

Подружить ИИ и 1С:ЗУП — задача со звездочкой. Зарплата, персональные данные строжайше запрещено отправлять в облачные API. Но первой линии поддержки нужен умный помощник для поиска ошибок расчетчиков. Я решил эту проблему, спроектировав ReAct-агента для работы в полностью закрытом контуре на базе локальной модели Gemma-4:31b и LangGraph. В этой статье (которая является скорее моим инженерным дневником) я расскажу, почему классический RAG не работает для 1С, как я отучил нейросеть галлюцинировать запросы, научил её читать метаданные и программно превращать таблицы СКД в плоский JSON. Разбор архитектуры, куски кода и видео работы моего ИИ под катом.

05.05.2026    4460    Shur1cIT    63    

35

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

В этой статье мы рассмотрим установку OpenClaw на одноплатный компьютер Orange Pi Zero 2W — недорогой и энергоэффективный вариант для создания домашнего сервера.

02.05.2026    5097    Ibrogim    9    

9

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

Мир ИИ меняется все быстрее, появляется куча новых моделей. И если раньше китайцы дистиллировали амеров, то сейчас вектор меняется и амеры начинают дистиллировать китайцев. Клауд 4.7 со своими 1,6Т параметров догоняет дипсик 4 с его 1,6Т, а Kimi 2.6 с 1Т решает задачи программирования лучше большинства программистов. Мы вступили в эпоху триллионных сетей, и это сильно влияет на прям вот вообще все.

30.04.2026    1503    starik-2005    64    

27

Инструкции пользователю Нейросети Работа с интерфейсом Бесплатно (free)

За последний год наиболее приоритетным направлением развития сервиса MAKER-STUDIO стала разработка наиболее востребованного ИИ-функционала: от распознавания до генерации. В данной статье рассказываем обо всех готовых на сегодняшний день ключевых инструментах, и как ими правильно пользоваться в повседневной работе: оптимальные промпты

30.04.2026    513    1Concept    0    

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