ChatGPT для программиста 1С: задачи, промпты и проверка результата

В этой статье

ChatGPT можно использовать при разработке на 1С: попросить объяснить небольшой фрагмент, разобрать возможные причины ошибки, предложить алгоритм или составить тестовые случаи. Начните с задачи, результат которой сможете проверить сами. Например, с расчёта скидки по явно заданным правилам.

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

Какие задачи поручать ChatGPT

Задача Что передать Что получить и проверить
Понять чужой код Небольшую процедуру, место вызова, типы параметров Объяснение по шагам; сверить с фактическими значениями
Подготовить изменение Правило расчёта, ограничения, доступные реквизиты Алгоритм и вопросы по неясным условиям
Разобрать ошибку Полный текст, строку, стек, контекст выполнения Проверяемые гипотезы и порядок диагностики
Написать тестовые случаи Условия и ожидаемое поведение Обычные, граничные и ошибочные входные данные
Описать доработку Проверенный код и назначение изменения Краткую документацию для следующего разработчика

Просьба «напиши обработку для 1С» оставляет слишком много неизвестного. Модель может предложить объект, которого нет в вашей базе, или метод, недоступный там, где выполняется код. Название метода проверяйте в синтакс-помощнике: он содержит параметры и особенности использования, а также позволяет отбирать элементы по контексту, например для тонкого клиента. Документация 1С.

Как дать контекст конфигурации

Скопируйте заготовку и замените скобки фактическими сведениями:

Помоги разобрать задачу на встроенном языке 1С.
Платформа: [точная версия]. Конфигурация: [название и релиз].
Место кода: [модуль объекта/формы/общий модуль и его настройки].
Контекст выполнения: [клиент/сервер, директива процедуры].
Задача: [какое поведение нужно].
Доступные объекты и реквизиты: [имена и типы].
Текущий фрагмент: [код].
Сначала перечисли недостающие сведения. Не придумывай имена
метаданных. Отдельно дай алгоритм, затем вариант изменения
и тесты. Все предположения пометь явно.

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

Пример: проверить ограничение скидки

Допустим, по учебному условию сумма должна быть неотрицательной, скидка — от 0 до 20 процентов включительно. При неверных значениях расчёт должен отклонять ввод. Правила округления пока не согласованы.

Нужен алгоритм расчёта суммы после скидки для 1С.
Вход: Сумма и ПроцентСкидки, оба числа.
Сумма >= 0; ПроцентСкидки от 0 до 20 включительно.
При нарушении условий вернуть описание ошибки, а не обрезать
значение до допустимого. Пока не пиши код: предложи порядок
проверок и таблицу тестов. Округление не задано — задай вопрос.

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

Сумма Скидка Ожидаемый результат
1000 0 1000
1000 20 800
0 10 0
1000 −1 Ошибка ввода
1000 21 Ошибка ввода
−100 10 Ошибка ввода

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

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

Как разбирать ошибку без случайных исправлений

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

В этом фрагменте возникает [точный текст ошибки].
Место и контекст: [...]. Значения и типы переменных: [...].
Ожидалось [...], фактически [...].
Предложи до трёх гипотез. Для каждой укажи, какое наблюдение
её подтвердит или опровергнет. Не меняй код до выбора причины.

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

Верните в чат наблюдение: «На этой строке параметр имеет такой тип, условие ложно». Теперь можно уточнять гипотезу. Уверенный тон ответа не подтверждает причину ошибки.

Как принять готовую доработку

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

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

Начинающему разработчику полезно просить объяснять каждое изменение и оставлять маленькие фрагменты. Опытному — передавать точные ограничения и требовать минимальную правку. В обоих случаях следующий шаг один: проверить ответ на собственной тестовой конфигурации.

Проверить детали

Источники материала

Функции и условия сервисов меняются. Дата сверки указана в начале статьи. Как подготовлен материал

Есть следующая задача?Ещё по теме «Программирование» →