SDD для 1С: генерация кода ИИ по спецификациям | Production-ready код | AiManual
AiManual Logo Ai / Manual.
03 Фев 2026 Гайд

SDD для 1С: как заставить ИИ генерировать production-ready код вместо случайного вайбкодинга

Практическое руководство по Specification-Driven Development для 1С. Учим ИИ генерировать production-ready код на BSL вместо случайного вайбкодинга. Методология

Проблема: ИИ для 1С — это не магия, а хаос

Откройте любой чат с GPT-4o, Claude 3.7 Sonnet или Qwen Coder 2.5. Попросите "написать обработку проведения документа в 1С". Получите красивый, синтаксически правильный кусок кода на BSL. Попробуйте запустить его в конфигураторе.

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

Вайбкодинг для 1С особенно опасен. Платформа имеет сотни нюансов: управляемые блокировки, транзакции, работа с планами видов характеристик. ИИ без контекста создает код, который либо не работает, либо создает проблемы в production.

Почему так происходит? LLM тренировались на публичных репозиториях GitHub. Кода 1С там почти нет. Модели знают синтаксис BSL, но не понимают архитектурные паттерны, стандарты предприятий, особенности конкретных конфигураций.

Решение — не в более умной модели. Решение — в методе. Specification-Driven Development.

Что такое SDD и почему это работает для 1С

Specification-Driven Development — это подход, где вы сначала пишете детальную спецификацию, затем передаете ее ИИ для генерации кода. Не "напиши обработку", а "напиши обработку по этому ТЗ".

Разница фундаментальная:

  • Вайбкодинг: "Создай документ 'Заказ покупателя'"
  • SDD: "Создай документ 'Заказ покупателя' со следующими реквизитами, формами, процедурами проведения согласно стандартам проекта 'Торговля 2.0' и шаблону документа 'Счет'".

ИИ становится не творцом, а исполнителем. Вы остаетесь архитектором.

В контексте 1С это критически важно. Каждый проект имеет:

  1. Стандарты именования (Префиксы, стиль camelCase/PascalCase)
  2. Шаблоны модулей (Структура обработчиков событий)
  3. Правила работы с транзакциями
  4. Стандартные процедуры (Общие модули, библиотеки)
  5. Архитектурные ограничения (Что можно, что нельзя)

Без этого контекста ИИ генерирует код, который придется полностью переписывать. С контекстом — код, который можно сразу коммитить.

Шаг 1: Создайте библиотеку спецификаций проекта

Не начинайте с генерации кода. Начните с документации.

1 Соберите все стандарты в один документ

Создайте markdown-файл или Confluence-страницу. Назовите "Стандарты разработки 1С [НазваниеПроекта]". Включите:

Раздел Что включить Пример для ИИ
Именование Префиксы объектов, стиль имен переменных, правила для временных объектов Документы: Док_, Справочники: Спр_, Переменные: camelCase, Константы: ВЕРХНИЙ_РЕГИСТР
Структура модулей Порядок объявления переменных, обработчиков событий, стандартные секции Сначала #Область Переменные, затем #Область ОбработчикиСобытий, в конце #Область СлужебныеПроцедуры
Работа с данными Правила блокировок, транзакций, обработка ошибок Все изменения в транзакции, блокировка НаЗаписи для документов, try-catch для внешних соединений
Библиотеки проекта Общие модули, типовые обработки, которые нужно использовать Всегда использовать ОбщиеМодули.РаботаСТранзакциями для проведения документов

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

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

2 Создайте шаблоны для каждого типа объектов

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

# Шаблон документа 1С
## Общие требования
- Префикс имени: Док_
- Форма списка и форма элемента обязательны
- Модуль документа должен содержать стандартные обработчики

## Структура модуля документа
1. #Область Переменные
2. #Область ОбработчикиСобытий
   - ПриЗаписи()
   - ПередЗаписью()
   - ОбработкаПроведения()
   - ОбработкаЗаполнения()
3. #Область СлужебныеПроцедурыИФункции

## Правила проведения
- Использовать ОбщиеМодули.ПроведениеДокументов
- Транзакция обязательна
- Откат при ошибках

Такие шаблоны превращают абстрактное "создай документ" в конкретную инструкцию.

Шаг 2: Напишите промпт, который заставит ИИ следовать спецификациям

Обычный промпт: "Напиши код документа 'Заказ покупателя' для 1С".

Промпт SDD:

Ты — senior разработчик 1С. Создай production-ready код по следующей спецификации:

## Контекст проекта
[Вставьте сюда раздел стандартов проекта]

## Задача
Создать документ "ЗаказПокупателя" для конфигурации "Торговля 2.0"

## Требования
1. Реквизиты документа:
   - Контрагент (Справочник.Контрагенты)
   - Договор (Справочник.ДоговорыКонтрагентов)
   - Сумма (Число, 15.2)
   - Статус (Перечисление.СтатусыЗаказов)

2. Табличная часть "Товары":
   - Номенклатура (Справочник.Номенклатура)
   - Количество (Число, 10.3)
   - Цена (Число, 15.2)
   - Сумма (Число, 15.2)

3. Поведение:
   - Автозаполнение суммы из табличной части
   - Проверка наличия товаров перед проведением
   - Интеграция с модулем "РезервированиеТоваров"

## Ограничения
- Использовать только библиотеки проекта
- Следовать стандартам именования
- Добавить комментарии на русском
- Код должен компилироваться в 1С:Предприятие 8.3.21

Разница в объеме? Да. Разница в результате? Код, который работает с первого раза.

Не экономьте на контексте. Современные LLM (GPT-4 Turbo 128K, Claude 3.7 с 200K контекстом) обрабатывают большие спецификации. Лучше потратить 5 минут на написание ТЗ, чем 2 часа на исправление сгенерированного кода.

Шаг 3: Разбейте большие задачи на атомарные спецификации

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

Решение — метод атомарного мышления:

  • Не просите создать весь документ сразу
  • Разбейте на: 1) Метаданные, 2) Формы, 3) Модуль объекта, 4) Модуль менеджера
  • Для каждой части — отдельная спецификация

Пример атомарной задачи:

## Атомарная задача: Метаданные документа
Создай только метаданные документа "ЗаказПокупателя":
- Синоним: "Заказ покупателя"
- Реквизиты (см. список выше)
- Табличная часть "Товары"
- Стандартные реквизиты: Номер, Дата, Проведен
- Права доступа: Чтение для всех, Изменение для роли "Менеджеры"

Критерий готовности: XML-описание метаданных, которое можно импортировать в конфигуратор.

После генерации метаданных — следующая задача:

## Атомарная задача: Форма документа
Создай формы документа "ЗаказПокупателя" на основе метаданных:
- Форма списка с колонками: Номер, Дата, Контрагент, Сумма
- Форма элемента с группировкой по вкладкам
- Команды: "Заполнить из корзины", "Провести", "Отменить проведение"
- Валидация ввода на форме

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

Шаг 4: Используйте инструменты для автоматизации SDD

Ручное копирование спецификаций в чат — не масштабируется. Автоматизируйте.

Вариант 1: Создайте систему промпт-шаблонов

В VS Code с расширением для ИИ (Cursor, Windsurf, Continue) создайте папку prompt-templates:

prompt-templates/
├── 1c-standards.md          # Общие стандарты проекта
├── document-template.md     # Шаблон для документов
├── catalog-template.md      # Шаблон для справочников
├── report-template.md       # Шаблон для отчетов
└── processing-template.md   # Шаблон для обработок

При генерации кода вставляйте соответствующий шаблон в промпт автоматически.

Вариант 2: Используйте self-hosted LLM с fine-tuning

Если у вас много внутренних стандартов, рассмотрите self-hosted решение:

  • Запустите локально Qwen Coder 2.5 32B или DeepSeek Coder V3
  • Дообучите на ваших спецификациях и примерах кода
  • Модель будет "знать" ваши стандарты без явного указания в каждом промпте

Это дороже, но для больших команд окупается.

Вариант 3: Интегрируйте SDD в процесс разработки

Свяжите спецификации с системой задач (Jira, YouTrack):

  1. Разработчик создает задачу
  2. К задаче прикрепляется SDD-спецификация
  3. ИИ генерирует код по спецификации
  4. Код проверяется на соответствие спецификации (автоматические тесты)

Так вы превращаете вайбкодинг в инженерный процесс.

Распространенные ошибки и как их избежать

Ошибка 1: Слишком общая спецификация

"Создай обработку выгрузки в XML" — это не спецификация. Это тема.

Как исправить: Добавьте конкретики: формат XML, какие данные выгружать, обработка ошибок, требования к производительности.

Ошибка 2: Игнорирование существующего кода

ИИ создает новый код, который не интегрируется с существующей системой.

Как исправить: Включайте в спецификацию ссылки на существующие модули, примеры вызовов, ограничения интеграции.

Ошибка 3: Нет критериев проверки

"Создай отчет" — а как проверить, что отчет работает?

Как исправить: Добавьте в спецификацию раздел "Критерии приемки": какие данные должны отображаться, производительность, обработка пустых данных.

Ошибка 4: Спецификация противоречит сама себе

Требуете использовать устаревший метод и одновременно новые функции платформы.

Как исправить: Проверяйте спецификации на внутреннюю согласованность. Указывайте версию платформы явно: "Для 1С:Предприятие 8.3.21.1407".

SDD vs Вайбкодинг: сравнение результатов

Аспект Вайбкодинг SDD
Время на промпт 5 секунд 5-15 минут
Количество итераций 5-10 "уточни, исправь, переделай" 1-2 итерации на уточнение деталей
Соответствие стандартам Случайное, требует правки Полное, так как стандарты в спецификации
Готовность к production Требует ревью и доработки Можно коммитить после проверки
Масштабируемость Низкая, каждый раз начинаем с нуля Высокая, спецификации переиспользуются

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

Что дальше? Будущее SDD для 1С

К 2026 году инструменты для SDD станут стандартом:

  • IDE с встроенным SDD: Конфигуратор 1С, который сам предлагает спецификации для новых объектов
  • Автогенерация спецификаций: ИИ анализирует существующий код и создает стандарты автоматически
  • Визуальные спецификации: Drag-and-drop интерфейс для описания требований, который превращается в промпт
  • Тестирование спецификаций: Tools, которые проверяют, не противоречит ли новая спецификация существующему коду

Но главное изменение — ментальное. Разработчики 1С перестанут воспринимать ИИ как "волшебную палочку". Станут воспринимать как "очень быстрого стажера, которому нужно четко объяснить задачу".

Попробуйте SDD на следующей задаче. Напишите спецификацию в 10 раз подробнее, чем обычно. Передайте ИИ. Посмотрите на результат.

Скорее всего, вы удивитесь. Код будет работать. Будет соответствовать стандартам. Будет готов к production.

И это не магия. Это инженерия.