База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как использовать ИИ для разработки в конфигураторе 1С?
- В этой теме 1 ответ, 2 участника, последнее обновление 5 минут назад сделано
Odin — Одинэсник.
-
АвторЗаписи
-
-
28 сентября 2026 в 8:38 #38740
Напиши топ 10 сценариев использования ИИ в разработке 1С (особенно в конфигураторе 1С)
-
28 сентября 2026 в 8:38 #38741
# Топ-10 сценариев использования ИИ в разработке 1С
ИИ в разработке 1С особенно полезен не как «автоматический программист», а как помощник, который быстро анализирует код, объясняет ошибки, предлагает варианты реализации и подготавливает заготовки. В конфигураторе это удобно использовать через копирование кода, сообщений компилятора, структуры объектов и текстов запросов.
## 1. Генерация процедур и функций 1С
Самый очевидный сценарий: описать задачу обычным языком и получить заготовку кода на встроенном языке 1С.
Например:
> Напиши функцию 1С, которая получает из регистра сведений последние цены номенклатуры по организации и типу цен. Если цена не найдена, вернуть Неопределено. Используй параметры
Номенклатура,Организация,ТипЦен.ИИ может подготовить:
— функцию или процедуру;
— параметры;
— проверки входных данных;
— обработку пустых ссылок;
— комментарии;
— варианты клиентского и серверного выполнения.Практический порядок работы:
1. Сначала попросить ИИ описать алгоритм.
2. Затем попросить написать код.
3. После этого указать реальные имена объектов конфигурации.
4. Вставить код в конфигуратор.
5. Проверить синтаксис и выполнить тестирование.Важно передавать ИИ не абстрактную задачу, а конкретный контекст:
1С (Код)123456Конфигурация: 1С:Управление торговлей 11.5Платформа: 8.3.25Контекст: серверный общий модульДоступный экспортный метод: ПолучитьЦенуНоменклатурыПараметры: Номенклатура, Организация, ТипЦенРезультат: ЧислоЧем точнее контекст, тем меньше будет кода, который придется исправлять вручную.
—
## 2. Объяснение ошибок компиляции и ошибок выполнения
ИИ хорошо подходит для разбора сообщений:
— «Поле объекта не обнаружено»;
— «Переменная не определена»;
— «Процедура или функция с указанным именем не определена»;
— «Недопустимое значение параметра»;
— «Индекс находится за границами массива»;
— «В данном контексте метод недоступен»;
— ошибки клиент-серверного вызова;
— ошибки типов;
— ошибки блокировок;
— ошибки записи объекта.В запрос ИИ следует передавать:
1. полный текст ошибки;
2. строку, на которой произошла ошибка;
3. несколько строк до и после нее;
4. контекст выполнения;
5. версию платформы;
6. тип конфигурации;
7. что должно было произойти.Пример хорошего запроса:
> В конфигураторе 1С возникает ошибка: «Процедура или функция с указанным именем не определена». Ошибка возникает в управляемой форме на клиенте при выполнении обработчика команды. Вот код:
>
> Проблемная процедура находится в общем модуле, у которого установлен флаг «Сервер». Объясни причину и покажи правильный вариант разделения клиентского и серверного кода.ИИ может объяснить, что:
— процедура находится в серверном модуле;
— клиентский код не видит серверный метод напрямую;
— требуется серверная экспортная функция;
— вызов нужно выполнить через&НаСервере;
— часть параметров может быть недоступна для передачи между клиентом и сервером.Это особенно удобно для начинающих разработчиков, потому что сообщение платформы часто описывает технический симптом, но не объясняет архитектурную причину.
—
## 3. Генерация и оптимизация запросов 1С
ИИ можно использовать для:
— написания запроса с нуля;
— перевода бизнес-требования в запрос 1С;
— поиска ошибок в соединениях;
— проверки условийГДЕ;
— работы с виртуальными таблицами;
— формирования временных таблиц;
— анализа дублей;
— ускорения медленного запроса;
— объяснения результата запроса.Например:
> Нужно получить остатки товаров на дату по складам, вывести только товары с остатком больше нуля, дополнительно получить номенклатурную группу и единицу хранения. Предложи запрос 1С с использованием виртуальной таблицы остатков.
Если ИИ формирует текст запроса 1С, его нужно проверять в консоли запросов и конструкторе запроса. Особенно внимательно нужно проверять:
— имена виртуальных таблиц;
— имена параметров;
— типы дат;
— имена ресурсов и измерений;
— наличие дублей после соединений;
— условия по периоду;
— использованиеЛЕВОЕ СОЕДИНЕНИЕ;
— наличие индексов и объем временных таблиц.ИИ может предложить неоптимальный запрос, если ему не передать структуру регистров. Поэтому желательно указывать:
1С (Код)12345Регистр накопления: ОстаткиТоваровИзмерения: Номенклатура, СкладРесурсы: Количество, СуммаВиртуальная таблица: ОстаткиПериод: &МоментВремениДля анализа готового запроса полезен такой запрос к ИИ:
> Проверь запрос 1С на логические ошибки. Особое внимание удели дублям строк, условиям соединения, отбору по периоду и производительности. Не переписывай запрос полностью, сначала перечисли проблемы.
Код запроса 1С следует передавать построчно. Например:
1С (Код)1234567891011|ВЫБРАТЬ| Остатки.Номенклатура,| Остатки.Склад,| Остатки.КоличествоОстаток|ИЗ| РегистрНакопления.ОстаткиТоваров.Остатки(| &МоментВремени,| Склад В (&Склады)| ) КАК Остатки|ГДЕ| Остатки.КоличествоОстаток > 0—
## 4. Рефакторинг и улучшение существующего кода
В конфигураторе часто приходится работать с кодом, который:
— написан несколько лет назад;
— содержит длинные процедуры;
— дублируется в разных объектах;
— использует непонятные имена переменных;
— смешивает работу формы и бизнес-логику;
— содержит вложенные циклы;
— плохо обрабатывает ошибки;
— напрямую изменяет движения документа;
— зависит от большого количества глобальных процедур.ИИ может выполнять роль ревьюера и предложить:
— разбиение процедуры на небольшие функции;
— устранение дублирования;
— переименование переменных;
— выделение общего алгоритма;
— перенос серверной логики из формы в общий модуль;
— уменьшение количества обращений к базе;
— использование временных таблиц;
— корректную обработкуНеопределено;
— добавление проверок входных параметров.Пример задания:
> Проведи рефакторинг процедуры 1С. Сохрани поведение без изменений. Не меняй имена экспортных процедур. Отдельно перечисли потенциальные ошибки и отдельно предложи улучшения производительности.
Важный прием: сначала просить ИИ не менять код, а только провести анализ:
1С (Код)1234561. Что делает процедура?2. Какие у нее входные и выходные данные?3. Где возможны ошибки?4. Где выполняются запросы?5. Какие участки работают медленно?6. Какие изменения безопасны?Только после этого можно просить предложить новую версию.
—
## 5. Генерация тестовых данных и сценариев проверки
Одна из наиболее полезных областей применения ИИ, которую часто недооценивают.
ИИ может подготовить чек-листы для проверки:
— проведения документов;
— формирования движений;
— расчета цен;
— резервирования товаров;
— взаиморасчетов;
— обмена данными;
— заполнения форм;
— прав доступа;
— закрытия месяца;
— загрузки из внешних файлов.Например:
> Составь тест-кейсы для документа «Реализация товаров и услуг». Нужно проверить проведение при наличии и отсутствии остатка, разные склады, разные ставки НДС, комиссионную схему, возврат товара и работу под ограниченными правами.
На выходе можно получить таблицу:
| № | Условие | Действия | Ожидаемый результат |
|—|—|—|—|
| 1 | Остатка достаточно | Провести документ | Документ проводится, движения сформированы |
| 2 | Остатка недостаточно | Провести документ | Проведение запрещено или создается отрицательный остаток |
| 3 | Нулевая цена | Провести документ | Выводится предупреждение |
| 4 | Нет склада | Записать документ | Пользователь получает сообщение об обязательном заполнении |ИИ также может подготовить код автоматизированных тестов, но его нужно адаптировать к используемому фреймворку и версии конфигурации.
Полезно просить:
> Составь негативные тесты. Покажи ситуации, при которых код может ошибочно завершиться без исключения, но сформировать неправильные движения.
Это помогает находить не только явные ошибки, но и логические дефекты.
—
## 6. Анализ управляемых форм и клиент-серверного взаимодействия
Разработка управляемых форм является одной из самых сложных тем для начинающих разработчиков 1С. ИИ удобно использовать для разбора:
— директив
&НаКлиенте;
— директив&НаСервере;
— директив&НаСервереБезКонтекста;
— серверных вызовов;
— реквизитов формы;
— данных формы;
— команд;
— обработчиков событий;
— оповещений;
— динамического изменения формы;
— преобразования данных формы в значение и обратно.Можно передать ИИ код формы и попросить построить карту выполнения:
> Покажи, какие процедуры выполняются на клиенте, какие на сервере и где происходят клиент-серверные вызовы. Укажи, какие данные передаются между клиентом и сервером.
ИИ может найти проблемы:
— запрос выполняется в обработчике клиентской формы;
— серверный метод вызывается слишком часто;
— на сервер передается весь объект формы вместо нужных параметров;
— логика проведения размещена в форме;
— форма напрямую меняет регистры;
— используется недоступный на клиенте объект;
— в серверную процедуру передается несериализуемое значение.Практический запрос:
> Переделай код так, чтобы форма только собирала параметры и отображала результат, а бизнес-логика выполнялась в общем серверном модуле. Покажи границы клиентского и серверного кода.
Это помогает постепенно переходить от «кода в обработчиках формы» к более поддерживаемой архитектуре.
—
## 7. Разбор метаданных и помощь при работе с большой конфигурацией
В больших конфигурациях разработчик часто тратит много времени на поиск:
— где используется реквизит;
— какие документы формируют движения регистра;
— кто вызывает общий модуль;
— какие формы связаны с объектом;
— где меняется значение реквизита;
— какой регламентный механизм запускает обработчик;
— какие роли дают доступ к объекту;
— какие подписки на события влияют на запись.ИИ может анализировать выгрузки метаданных, списки объектов и фрагменты конфигурации.
Например, ему можно передать:
1С (Код)12345Документ: ЗаказКлиентаРеквизиты: Клиент, Организация, Склад, СоглашениеТабличные части: Товары, УслугиРегистры движений: ЗаказыКлиентов, ТоварыНаСкладахФормы: ФормаДокумента, ФормаСпискаИ попросить:
> Построй карту обработки документа: какие данные вводятся пользователем, какие движения должны формироваться, какие проверки необходимо выполнить до записи и какие тесты нужны.
Также можно передать результаты поиска по конфигурации и спросить:
> В этих фрагментах найдены обращения к реквизиту
Склад. Определи, где он читается, где изменяется и какие участки могут перестать работать после переименования реквизита.ИИ не заменяет глобальный поиск конфигуратора, но хорошо помогает интерпретировать найденные участки и связывать их в общую картину.
—
## 8. Создание обработок, отчетов и печатных форм
ИИ может быстро подготовить основу для:
— внешней обработки;
— внешнего отчета;
— отчета на СКД;
— печатной формы;
— загрузки данных из Excel;
— выгрузки в CSV или JSON;
— обработки группового изменения реквизитов;
— массового создания документов;
— проверки дублей;
— сверки данных.Например:
> Нужно создать внешнюю обработку, которая загружает из CSV номенклатуру, проверяет наличие по коду и наименованию, создает новые элементы только при отсутствии совпадений, а ошибки записывает в таблицу значений.
ИИ может подготовить:
1. структуру обработки;
2. реквизиты формы;
3. команды;
4. процедуры загрузки;
5. проверку файла;
6. обработку ошибок;
7. протокол загрузки.Для отчетов ИИ может помочь сформировать:
— структуру запроса;
— поля отчета;
— группировки;
— отборы;
— вычисляемые поля;
— расшифровки;
— варианты отчета;
— текст пользовательской инструкции.При этом конфигуратор все равно потребуется для создания объектов метаданных, настройки форм и проверки результата.
—
## 9. Генерация интеграционного кода
ИИ особенно полезен при интеграциях, потому что большая часть работы состоит из однотипного технического кода.
Сценарии:
— HTTP-запросы;
— REST API;
— SOAP;
— JSON;
— XML;
— обмен с интернет-магазином;
— интеграция с CRM;
— загрузка данных из маркетплейса;
— передача документов в банк;
— обмен с сервисом доставки;
— авторизация по токену;
— обработка кодов HTTP-ответов.ИИ можно передать документацию внешнего API и попросить подготовить:
— структуру HTTP-запроса;
— заголовки;
— тело JSON;
— разбор ответа;
— обработку ошибок;
— повторные попытки;
— журналирование;
— преобразование типов данных.Пример задания:
> На входе есть JSON-ответ внешнего сервиса с массивом заказов. Подготовь код 1С, который разбирает ответ, получает номер заказа, дату, клиента, товары и сумму. Если поле отсутствует, используй значение по умолчанию.
После генерации необходимо самостоятельно проверить:
— кодировку;
— формат дат;
— разделитель дробной части;
— обязательность полей;
— соответствие типов;
— обработку пустого ответа;
— тайм-аут;
— повторную отправку;
— защиту токенов и паролей.Нельзя передавать ИИ реальные ключи доступа, пароли, токены, персональные данные и коммерчески важные документы. Их нужно заменить на условные значения.
—
## 10. Подготовка технической документации и комментариев
ИИ может автоматически подготовить документацию по существующему коду:
— назначение процедуры;
— входные параметры;
— возвращаемое значение;
— побочные эффекты;
— используемые регистры;
— возможные исключения;
— требования к правам;
— пример вызова;
— описание алгоритма;
— описание регламентного задания;
— инструкцию для пользователя.Например:
> На основе этой процедуры подготовь документацию для разработчика. Укажи, какие данные она изменяет, какие запросы выполняет, при каких условиях возвращает ошибку и какие права нужны пользователю.
Для экспортных методов полезно применять единый шаблон:
1С (Код)1234567Назначение:Параметры:Возвращаемое значение:Изменяемые данные:Проверки:Ошибки:Пример использования:ИИ также может привести старый код к единому стилю:
— добавить области;
— выровнять отступы;
— привести имена переменных к единому формату;
— убрать лишние комментарии;
— добавить комментарии только к сложным участкам;
— оформить документацию экспортных методов.Особенно полезно это при передаче проекта другому разработчику или подготовке конфигурации к сопровождению.
—
# Как использовать ИИ непосредственно в конфигураторе
Пока ИИ не встроен в конкретную конфигурацию, самый простой рабочий процесс выглядит так:
1. Открыть модуль в конфигураторе.
2. Скопировать проблемный участок.
3. Удалить пароли, токены, персональные данные и коммерческие значения.
4. Передать код ИИ вместе с контекстом объекта.
5. Попросить сначала объяснить проблему.
6. Затем запросить исправленный вариант.
7. Вставить код в конфигуратор.
8. Выполнить проверку конфигурации.
9. Запустить тестовый сценарий.
10. Проверить движения, права и производительность.Для постоянной работы удобно хранить рядом с проектом отдельные файлы:
1С (Код)12345/Документация/КонтекстПроекта.md/Документация/ПравилаРазработки.md/Документация/СтруктураРегистров.md/Документация/Интеграции.md/Тесты/ЧекЛисты.mdВ
КонтекстПроекта.mdможно указать:1С (Код)123456789Платформа: 8.3.25Режим приложения: управляемое приложениеОсновной клиент: тонкий клиентКонфигурация: самописнаяОсновная СУБД: PostgreSQLСтандарт именования: русский язык, ПаскальКейс для процедурОбщие модули разделены на клиентские, серверные и клиент-серверныеЗапросы выполняются только на сервереИзменение типовой конфигурации выполняется через расширениеТогда ответы ИИ будут лучше соответствовать конкретной базе.
# Что ИИ не должен делать без проверки
ИИ нельзя без проверки допускать к следующим действиям:
— изменению движений документов;
— расчету себестоимости;
— проведению документов;
— закрытию месяца;
— начислению зарплаты;
— формированию налоговых данных;
— работе с персональными данными;
— изменению прав доступа;
— массовому исправлению данных;
— удалению объектов;
— обмену с внешними сервисами;
— миграции больших объемов информации.Особенно опасны ответы, в которых ИИ уверенно использует несуществующие:
— методы 1С;
— свойства объектов;
— имена регистров;
— параметры функций;
— поля виртуальных таблиц;
— директивы компиляции;
— настройки форм;
— возможности конкретной версии платформы.Поэтому хороший запрос к ИИ должен содержать требование:
> Не придумывай имена объектов и методов. Если данных недостаточно, сначала перечисли, какие сведения нужно уточнить.
И еще одно полезное требование:
> Отдельно отметь места, которые нужно проверить в конфигураторе, в консоли запросов и на тестовой базе.
-
-
АвторЗаписи
- Для ответа в этой теме необходимо авторизоваться.