1С:Напарник для разработки — ИИ-помощник фирмы «1С» для программистов: генерирует код на встроенном языке по описанию задачи, комментирует его, ищет ошибки и предлагает рефакторинг. Пользоваться им можно как сервисом в 1С:EDT или через чат на портале 1С, в том числе когда основная разработка идёт в конфигураторе. Сильная сторона — скорость на шаблонном коде; слабая — запросы и прикладная логика, где ответ часто выглядит правильно, но не соответствует стандартам или опирается на несуществующие методы.

Ниже — как я использую помощник в ежедневной работе: для каких задач он экономит время, где его ответы нужно проверять особенно внимательно и как формулировать запросы, чтобы правок было меньше. Условия доступа к сервису фирма «1С» меняет, поэтому актуальные смотрите на её портале.

Где Напарник экономит время

ЗадачаКачество ответаКомментарий
Классические алгоритмы (сортировки, поиск, рекурсия)ХорошееДаёт несколько вариантов с оценкой сложности
Типовые приёмы с коллекциямиХорошееНапример, объединение таблиц значений через ЗагрузитьКолонку и Скопировать
Шаблоны модулейХорошееЗаготовка модуля формы с областями по стандарту
Генерация тестовых данныхХорошееОбработки заполнения справочников и документов
Комментарии и описания методовХорошееГрамотно формулирует описания параметров
Программное формирование отчёта СКДСреднееКаркас верный, детали надо проверять
Запросы к регистрамСлабоеПодзапросы вместо виртуальных таблиц, пропущенный ЕСТЬNULL
Работа с объектами платформы «в глубину»СлабоеНеполные ответы, иногда выдуманные методы

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

Где ответы нужно проверять

Запросы не по стандартам

Типичная ситуация: просим получить действующий оклад сотрудника. Помощник пишет левое соединение с подзапросом МАКСИМУМ(Период). На просьбу «переписать по рекомендациям 1С» он форматирует текст, но конструкцию не меняет. Правильный вариант — виртуальная таблица среза последних:

Запрос 1С
ВЫБРАТЬ
	Сотрудники.Ссылка КАК Сотрудник,
	ЕСТЬNULL(ОкладыСрез.Оклад, 0) КАК Оклад
ИЗ
	Справочник.Сотрудники КАК Сотрудники
		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.Оклады.СрезПоследних(&ДатаСреза, ) КАК ОкладыСрез
		ПО Сотрудники.Ссылка = ОкладыСрез.Сотрудник

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

Неполные ответы по объектам платформы

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

1С
// Читает табличный документ с заголовками в первой строке в таблицу значений.
Функция ТабличныйДокументВТаблицуЗначений(ТабличныйДокумент) Экспорт

	Результат = Новый ТаблицаЗначений;
	ЧислоКолонок = ТабличныйДокумент.ШиринаТаблицы;
	ЧислоСтрок = ТабличныйДокумент.ВысотаТаблицы;

	Для НомерКолонки = 1 По ЧислоКолонок Цикл
		Заголовок = СокрЛП(ТабличныйДокумент.Область(1, НомерКолонки).Текст);
		Результат.Колонки.Добавить("Колонка" + НомерКолонки, , Заголовок);
	КонецЦикла;

	Для НомерСтроки = 2 По ЧислоСтрок Цикл
		НоваяСтрока = Результат.Добавить();
		Для НомерКолонки = 1 По ЧислоКолонок Цикл
			НоваяСтрока["Колонка" + НомерКолонки] = СокрЛП(ТабличныйДокумент.Область(НомерСтроки, НомерКолонки).Текст);
		КонецЦикла;
	КонецЦикла;

	Возврат Результат;

КонецФункции

Имена колонок здесь технические, а заголовки — в свойстве Заголовок, потому что текст из шапки не всегда годится в имя колонки.

Убедительные ошибки

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

1С:Напарник для разработки: спираль решения, на которой часть веток оказывается мнимой
1С:Напарник для разработки: спираль решения, на которой часть веток оказывается мнимой

Ревью и рефакторинг с помощником

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

  • оправдано ли здесь Сообщить или нужно ОбщегоНазначения.СообщитьПользователю;
  • нужно ли выгружать результат запроса в таблицу значений или достаточно выборки;
  • не обращаемся ли мы к реквизитам ссылки в цикле через точку;
  • правильно ли наложены отборы на виртуальную таблицу Остатки;
  • соответствуют ли имена и области стандартам разработки 1С.

Общий вопрос «проверь код» даёт общий ответ. Конкретный вопрос — конкретный.

Как формулировать запросы

Из практики, что улучшает ответы:

  1. Описывайте метаданные. Помощник в чате не видит вашу конфигурацию. Укажите объекты, реквизиты, типы.
  2. Указывайте контекст выполнения. Клиент или сервер, модуль формы или общий модуль, есть ли БСП и какой версии.
  3. Просите следовать стандартам явно. Например: «без подзапросов в соединениях, с ЕСТЬNULL, отборы в параметрах виртуальных таблиц».
  4. Делите задачу. Не «напиши обработку загрузки», а по шагам: чтение файла, сопоставление, запись.
  5. Требуйте объяснения. Вопрос «почему так» быстро показывает, понимает ли помощник задачу или угадывает.

Как встроить в процесс команды

  • Сгенерированный код проходит то же ревью, что и написанный вручную.
  • Автоматические проверки (АПК, проверки EDT, тесты) — обязательно: они ловят то, что пропустит человек, уставший от аккуратно выглядящего кода.
  • Не передавайте в чат персональные данные, пароли и коммерчески чувствительные фрагменты. Для примеров используйте обезличенные структуры.
  • Фиксируйте удачные запросы в общей базе команды — это быстро окупается.
Помощник ускоряет каждый виток работы над задачей, но не гарантирует, что виток ведёт к решению. Направление задаёт разработчик.

Если нужна проверка качества кода конфигурации, в том числе написанного с помощью ИИ, это делается в рамках аудита 1С. Обсудить, как внедрить такие инструменты в команду, можно на консультации.

Итог

  • 1С:Напарник хорошо пишет шаблонный код, тестовые данные, комментарии и классические алгоритмы.
  • Запросы и работу с объектами платформы проверяйте особенно внимательно: стандарты соблюдаются не всегда, встречаются несуществующие методы.
  • Конкретные запросы с описанием метаданных и контекста дают заметно лучшие ответы.
  • Сгенерированный код — черновик, который проходит обычное ревью и автоматические проверки.