Многие разработчики уже пытались приручить нейросети для решения своих задач. Но часто результат разочаровывает: вместо готового решения получается обобщенный код, который приходится переписывать. В этой статье собраны рабочие промпты для программиста 1С, которые помогут превратить ИИ в действительно полезного помощника, а не генератора бессмысленного текста.
Этот материал создан для тех, кто устал от шаблонных ответов и хочет получать от нейросети конкретный, применимый на практике результат. Вы найдете здесь не просто список команд, а подробные инструкции с объяснением, почему именно такая формулировка работает.
Внутри вас ждет:
- Разбор типичных ошибок при составлении запросов.
- Готовые шаблоны для генерации кода, отладки и документирования.
- Продвинутые техники для решения сложных задач.
- Конкретные примеры, адаптированные под реалии 1С.
Типичные ошибки при работе с нейросетями в 1С
Прежде чем переходить к готовым решениям, важно понять, какие ошибки чаще всего мешают получать качественный результат. Избегая этих ловушек, вы в разы повысите эффективность взаимодействия с ИИ.
- Запрашивать код без указания контекста и версии платформы. Нейросеть не знает, работаете ли вы с управляемыми формами или обычными, какая у вас версия платформы и конфигурация. Это приводит к генерации устаревшего или несовместимого кода.
- Формулировать задачу слишком общо, например, «напиши обработку». Без деталей о том, что обработка должна делать, какие у нее реквизиты и какие данные она обрабатывает, результат будет абсолютно бесполезным.
- Ожидать, что ИИ напишет всю сложную обработку или отчет за один раз. Большие задачи нужно разбивать на мелкие подзадачи: сначала структура модуля, потом отдельные процедуры и функции, затем текст запроса. Попытка сделать все сразу ведет к путанице и ошибкам.
- Не предоставлять метаданные объектов, с которыми нужно работать. Если вы просите написать запрос, но не указываете названия регистров, измерений, ресурсов и реквизитов, нейросеть будет их выдумывать. И, конечно же, не угадает.
- Бояться «разговаривать» с нейросетью и задавать уточняющие вопросы. ИИ – это инструмент. Если первый ответ вас не устроил, попросите его переделать, уточнить, добавить комментарии или предложить альтернативный вариант. Диалог – ключ к успеху.
- Использовать сгенерированный код без проверки и отладки. Даже самый лучший промпт не гарантирует 100% корректный результат. Код, полученный от нейросети, – это заготовка, которую всегда нужно внимательно проверять и тестировать.
Сравнение слабых и сильных промптов для задач 1С
Разница между плохим и хорошим запросом колоссальна. Первый дает абстракцию, второй – почти готовое решение. Вот наглядное сравнение на примере типичной задачи.
| Задача | Слабый промпт (что обычно пишут) | Сильный промпт (как надо писать) |
| Написать запрос для получения остатков товаров | Напиши запрос 1С для получения остатков товаров на складах. | Ты – опытный программист 1С. Напиши текст запроса на языке 1С для получения остатков товаров из регистра накопления «ТоварыНаСкладах». Мне нужны данные на текущую дату. В результате я хочу видеть поля: «Номенклатура», «Склад», «КоличествоОстаток». Учти, что регистр имеет измерения «Номенклатура» (тип Справочник.Номенклатура) и «Склад» (тип Справочник.Склады), и ресурс «Количество» (тип Число). |
| Создать процедуру для проведения документа | Сделай процедуру проведения документа «РеализацияТоваров». | Ты – эксперт по архитектуре 1С. Создай серверную процедуру «ОбработкаПроведения» для документа «РеализацияТоваровУслуг». Процедура должна выполняться в транзакции. Логика: 1. Списать товары из регистра «ТоварыНаСкладах». 2. Сформировать движения по регистру «Продажи». Состав реквизитов документа: шапка — «Склад», табличная часть «Товары» с колонками «Номенклатура», «Количество», «Цена», «Сумма». Движения должны формироваться по данным из табличной части. Добавь комментарии к ключевым блокам кода. |
| Оптимизировать медленный запрос | Оптимизируй этот запрос, он медленно работает. [текст запроса] | Ты – специалист по оптимизации высоконагруженных систем 1С. Проанализируй следующий запрос. [текст запроса]. Укажи на потенциальные узкие места, которые могут замедлять его выполнение в базе данных MS SQL Server. Предложи 3 варианта его оптимизации с объяснением, почему каждый из них будет работать быстрее (например, использование временных таблиц, изменение порядка соединения, индексация полей). |
| Написать комментарии к коду | Добавь комментарии к этому коду. [фрагмент кода] | Ты – методист по разработке стандартов кодирования в 1С. Проанализируй этот фрагмент кода [фрагмент кода]. Напиши к нему комментарии в соответствии со стандартом 1С. Каждый комментарий должен объяснять не ЧТО делает строка, а ЗАЧЕМ она это делает. Для сложных участков добавь развернутое пояснение. Формат ответа: блок кода с уже вставленными комментариями. |
25 промптов для программиста 1С: от генерации кода до документации
Ниже представлены готовые шаблоны, которые можно скопировать, вставить свои данные и получить результат. Они построены по принципу «от простого к сложному» и охватывают большинство ежедневных задач разработчика.
1. Генерация текста запроса с условиями
Проблема:
Нужно быстро написать текст запроса для получения данных из регистров или справочников, но не хочется тратить время на синтаксис.
Решение:
Промпт генерирует готовый текст запроса с учетом всех необходимых полей, условий и группировок.
Текст промпта:
*****
Ты – опытный программист 1С, эксперт по языку запросов. Твоя задача – написать текст запроса 1С.
Контекст:
Мне нужно получить данные из [укажите основной источник, например, «регистра накопления ТоварыНаСкладах»].
Необходимые поля для выборки: [перечислите поля, например, «Номенклатура», «Склад», «КоличествоОстаток»].
Условия (секция ГДЕ): [опишите условия, например, «отбор по конкретному складу и номенклатуре из списка»].
Группировки и агрегатные функции (секция СГРУППИРОВАТЬ ПО): [укажите поля для группировки и функции, например, «сгруппировать по Номенклатуре и посчитать сумму КоличествоОстаток»].
Порядок (секция УПОРЯДОЧИТЬ ПО): [укажите поля для сортировки, например, «упорядочить по наименованию номенклатуры»].
Задача:
Напиши полный и синтаксически корректный текст запроса на языке 1С, который решает мою задачу. Не пиши код для выполнения запроса, только сам текст.
*****
Почему это работает:
Промпт четко разделяет все компоненты запроса (источник, поля, условия, группировки), что позволяет ИИ структурированно собрать конечный текст без ошибок и выдуманных полей.
2. Создание процедуры или функции в модуле
Проблема:
Нужно создать стандартную процедуру или функцию, но лень писать всю обвязку: объявление, экспорт, конечные операторы.
Решение:
Генерация полного синтаксиса процедуры/функции с комментариями и местом для вставки основной логики.
Текст промпта:
*****
Ты – архитектор 1С. Создай шаблон процедуры/функции на встроенном языке 1С.
Параметры:
Название: [укажите название, например, «РассчитатьСкидкуНаТовар»].
Тип: [выберите «Процедура» или «Функция»].
Директива компиляции: [укажите, где будет выполняться, например, «&НаСервере»].
Экспортная: [ответьте «Да» или «Нет»].
Параметры на входе: [перечислите параметры с типами, например, «Цена (Число), ПроцентСкидки (Число)»].
Возвращаемое значение (для функции): [опишите, что и какого типа возвращает функция, например, «Число (сумма скидки)»].
Задача:
Напиши полный код объявления этой процедуры/функции. Внутри оставь комментарий «// Здесь будет основная логика», чтобы я мог вставить свой код. Добавь заголовочный комментарий, описывающий назначение и параметры.
*****
Почему это работает:
Четкое указание всех атрибутов (название, директива, параметры) не оставляет нейросети пространства для импровизации. Она действует как конструктор, собирая код из предоставленных блоков.
3. Объяснение работы чужого кода
Проблема:
Вы получили фрагмент сложного или плохо написанного кода и не можете быстро понять, что он делает и зачем.
Решение:
Промпт заставляет ИИ проанализировать код и дать пошаговое объяснение его логики на простом языке.
Текст промпта:
*****
Ты – опытный наставник для программистов 1С. Твоя задача – проанализировать фрагмент кода и объяснить его работу.
Вот код:
[вставьте сюда фрагмент кода 1С].
Задача:
- Опиши общую цель этого кода: что он пытается сделать в целом?
- Дай пошаговое объяснение его работы. Описывай логику каждого значимого блока или строки.
- Укажи на возможные неочевидные моменты или «узкие места», если они есть.
- Отвечай простым языком, как если бы ты объяснял это младшему разработчику.
Формат ответа: нумерованный список с пошаговым объяснением.
*****
Почему это работает:
Роль «наставника» и требование «объяснять просто» заставляют ИИ избегать технического жаргона и фокусироваться на сути. Разбивка на пункты (цель, шаги, узкие места) структурирует ответ и делает его максимально понятным.
4. Рефакторинг и оптимизация кода
Проблема:
Есть работающий, но медленный или громоздкий участок кода, который нужно улучшить.
Решение:
ИИ анализирует код и предлагает конкретные варианты его улучшения, от синтаксического сахара до изменения алгоритма.
Текст промпта:
*****
Ты – эксперт по производительности и стандартам разработки 1С. Твоя задача – провести рефакторинг и оптимизацию предоставленного кода.
Исходный код:
[вставьте сюда ваш медленный или громоздкий код].
Контекст:
Этот код [опишите, что он делает и где используется, например, «выполняется в цикле при проведении документа и тормозит систему»].
Задача:
- Проанализируй код на предмет соответствия стандартам 1С.
- Найди «узкие места» или неэффективные конструкции (например, запросы в цикле).
- Предложи улучшенную версию этого кода.
- В комментариях к новому коду объясни, какие именно изменения были сделаны и почему они делают код лучше (быстрее, читабельнее).
Формат ответа: блок с новым, оптимизированным кодом и подробными комментариями.
*****
Почему это работает:
Промпт не просто просит «улучшить», а задает четкий алгоритм анализа: стандарты, узкие места, новая версия, объяснение. Это направляет «мыслительный» процесс ИИ в конструктивное русло.
5. Генерация кода для управляемой формы
Проблема:
Нужно написать код для обработчиков событий на управляемой форме, но вы не помните точные названия событий или синтаксис.
Решение:
Промпт генерирует готовый обработчик события для элемента формы или самой формы.
Текст промпта:
*****
Ты – специалист по разработке управляемых форм в 1С. Напиши код обработчика события для формы.
Контекст:
Объект: [укажите объект, например, «Документ.ЗаказКлиента»].
Название формы: [укажите название, например, «ФормаДокумента»].
Элемент формы, для которого нужен обработчик: [название элемента, например, «ПолеВводаКонтрагент»].
Событие: [название события, например, «ПриИзменении»].
Директива: [укажите, где должен быть код «&НаКлиенте» или «&НаСервере»].
Задача:
Напиши полный код процедуры-обработчика для указанного события. Внутри процедуры добавь комментарий с описанием типичной логики для этого события. Например, для «ПриИзменении» контрагента – «здесь нужно заполнять договор по умолчанию».
*****
Почему это работает:
Точное указание объекта, формы, элемента и события исключает любую двусмысленность. ИИ точно знает, для чего писать код, и может даже предложить релевантную «типичную логику».
6. Поиск ошибок в коде (отладка)
Проблема:
Код выдает ошибку, но с первого взгляда неясно, в чем причина. Конечно, есть отладчик, но иногда свежий взгляд со стороны помогает.
Решение:
ИИ анализирует фрагмент кода и текст ошибки, а затем выдвигает гипотезы о возможных причинах.
Текст промпта:
*****
Ты – опытный отладчик кода 1С. Мне нужна помощь в поиске ошибки.
Фрагмент кода, где возникает ошибка:
[вставьте сюда код, 5-10 строк до и после проблемного места].
Текст ошибки:
[вставьте сюда точный текст сообщения об ошибке, который выдает 1С].
Задача:
- Проанализируй код и текст ошибки.
- Перечисли 3 наиболее вероятные причины возникновения этой ошибки в данном контексте.
- Для каждой причины предложи способ проверки (что посмотреть в отладчике) и метод исправления.
Формат ответа: нумерованный список гипотез с планом действий для каждой.
*****
Почему это работает:
Промпт не просит «исправить ошибку», что часто невозможно без полного контекста базы. Он просит дать гипотезы и план проверки. Это гораздо более реалистичная и полезная задача для ИИ.
7. Написание комментариев к коду по стандарту
Проблема:
Код написан, но на комментирование нет ни времени, ни желания. А без комментариев его будет сложно поддерживать.
Решение:
Промпт для автоматической генерации осмысленных комментариев к процедуре, функции или модулю.
Текст промпта:
*****
Ты – методист по стандартам разработки 1С. Твоя задача – написать комментарии к существующему коду.
Код для комментирования:
[вставьте сюда ваш фрагмент кода без комментариев].
Задача:
- Добавь заголовочный комментарий к процедуре/функции, описывающий ее назначение, параметры и возвращаемое значение.
- Добавь строчные комментарии к ключевым логическим блокам. Комментарии должны объяснять не «ЧТО» делает код (это и так видно), а «ЗАЧЕМ» он это делает.
- Если в коде есть сложные или неочевидные алгоритмы, добавь к ним развернутый поясняющий комментарий.
- Весь код должен быть отформатирован согласно стандартам 1С.
Формат ответа: верни полный блок кода, но уже с добавленными комментариями.
*****
Почему это работает:
Акцент на «ЗАЧЕМ», а не на «ЧТО», заставляет ИИ анализировать бизнес-логику, а не просто переводить код на русский язык. Это создает по-настоящему ценные комментарии.
8. Создание тестовых данных для отладки
Проблема:
Нужно протестировать новую функцию, но для этого требуется создать несколько документов или элементов справочника с определенными параметрами.
Решение:
Генерация программного кода для создания тестовых объектов в базе данных.
Текст промпта:
*****
Ты – инженер по тестированию 1С. Напиши код для создания набора тестовых данных.
Задача:
Мне нужно создать [укажите количество, например, «5»] элементов справочника [укажите название справочника, например, «Номенклатура»].
Эти элементы должны иметь следующие характеристики:
[опишите, какими должны быть данные, например:
- Наименование должно быть «Тестовый товар №» + номер по порядку.
- Вид номенклатуры – «Товар».
- Ставка НДС – «20%».
- Один из товаров должен быть услугой, с видом «Услуга»].
Требования к коду:
Код должен быть обернут в попытку-исключение для обработки возможных ошибок при записи.
Код должен быть написан для выполнения на сервере.
В конце выведи сообщение о том, сколько объектов было успешно создано.
*****
Почему это работает:
Промпт дает четкие инструкции по структуре и содержимому данных, которые нужно сгенерировать. Требования к коду (попытка-исключение, сообщения) делают результат более полным и готовым к использованию.
9. Перевод кода со старой версии 1С на новую
Проблема:
Есть старый код (например, для 1С 7.7 или для обычных форм 8.х), который нужно адаптировать под современные реалии управляемых форм и новой версии платформы.
Решение:
ИИ анализирует старый код и предлагает его аналог с использованием современных конструкций.
Текст промпта:
*****
Ты – эксперт по миграции кода 1С. Твоя задача – переписать устаревший код на современный синтаксис.
Старый код (написан для [укажите, для чего, например, «обычных форм 8.2»]):
[вставьте сюда старый код].
Задача:
- Перепиши этот код так, чтобы он работал в современных условиях [укажите целевую среду, например, «на управляемых формах, платформа 8.3.20+»].
- Используй современные подходы: директивы компиляции, вызовы сервера с клиента, асинхронные методы (если применимо).
- В комментариях к новому коду укажи, какие именно конструкции были заменены и почему (например, «Заменено модальное окно на ОткрытьФорму()»).
Ограничение: не предлагай решения, требующие изменения конфигурации. Работай только с кодом.
*****
Почему это работает:
Четкое разделение «что было» и «что должно стать» вместе с примерами «современных подходов» дает ИИ ясное направление для адаптации кода.
10. Генерация описания для пользователя (справки)
Проблема:
Разработка завершена, но нужно написать понятную инструкцию для конечного пользователя.
Решение:
Промпт генерирует текст справки для обработки или отчета на основе описания ее функциональности.
Текст промпта:
*****
Ты – технический писатель, который создает инструкции для пользователей 1С. Твоя задача – написать справку для новой обработки.
Название обработки: [укажите название, например, «Пакетное создание документов»].
Назначение: [опишите одним предложением, что она делает].
Основные элементы управления: [перечислите кнопки, поля, флажки и их назначение. Например:
- Поле «Период»: для выбора дат.
- Кнопка «Заполнить»: заполняет таблицу по остаткам.
- Кнопка «Создать документы»: формирует документы на основе данных в таблице].
Целевая аудитория: [опишите пользователя, например, «бухгалтер, не имеющий технических знаний»].
Стиль: простой, деловой, пошаговый.
Задача:
Напиши текст справки для этой обработки. Структура:
- Назначение обработки (раздел «Что это?»).
- Пошаговая инструкция по работе (раздел «Как пользоваться?»).
- Описание каждого элемента управления (раздел «Настройки и кнопки»).
*****
Почему это работает:
Роль «технического писателя» и указание целевой аудитории («бухгалтер») заставляют ИИ избегать технического жаргона и писать максимально просто и понятно. Структура справки задана заранее, что гарантирует логичный результат.
11. Создание СКД-запроса для отчета
Проблема:
Нужно быстро набросать запрос для нового отчета в Системе компоновки данных, но не хочется возиться с конструктором.
Решение:
Генерация текста запроса, специально подготовленного для использования в СКД, с фигурными скобками для условий.
Текст промпта:
*****
Ты – специалист по Системе компоновки данных (СКД) в 1С. Создай текст запроса для набора данных отчета.
Задача:
Напиши запрос для СКД, который получает [опишите, что нужно получить, например, «обороты по продажам в разрезе контрагентов и номенклатуры»].
Источники данных: [перечислите таблицы и регистры, например, «РегистрНакопления.Продажи.Обороты»].
Поля для выборки: [перечислите поля, например, «Контрагент», «Номенклатура», «КоличествоОборот», «СуммаОборот»].
Параметры периода: используй стандартные параметры СКД (&НачалоПериода) и (&КонецПериода).
Условия, управляемые пользователем: добавь в запрос возможность отбора по полям [перечислите поля для отбора, например, «Контрагент», «Номенклатура.Родитель»] используя конструкцию ГДЕ ... В (&ИмяПоля).
Формат ответа: только текст запроса, готовый для вставки в конструктор СКД.
*****
Почему это работает:
Промпт явно указывает на необходимость использовать синтаксис, специфичный для СКД ({&Условие}, &НачалоПериода), что позволяет получить текст, который будет корректно распознан конструктором отчетов.
12. Генерация регулярного выражения для проверки строки
Проблема:
Нужно проверить строку на соответствие сложному формату (например, ИНН, СНИЛС, номер телефона), но составление регулярных выражений – это отдельное искусство.
Решение:
ИИ генерирует готовое регулярное выражение и код 1С для его использования.
Текст промпта:
*****
Ты – эксперт по регулярным выражениям. Мне нужно создать регулярное выражение для проверки строки в 1С.
Задача:
- Создай регулярное выражение для проверки [опишите, что нужно проверить, например, «СНИЛС в формате XXX-XXX-XXX XX»].
- Напиши небольшую функцию на языке 1С с именем
СтрокаСоответствуетФормату(Стр), которая принимает на вход строку и возвращаетИстина, если строка соответствует этому регулярному выражению, иЛожьв противном случае. - Используй для проверки объект
ComОбъект("VBScript.RegExp"). - Добавь краткое объяснение, как работает созданное регулярное выражение.
*****
Почему это работает:
Промпт не только просит само выражение, но и код для его применения в 1С. Это делает решение «под ключ». Указание на использование VBScript.RegExp направляет ИИ на правильный, работающий в 1С метод.
13. Разработка структуры объекта конфигурации
Проблема:
Перед созданием нового справочника, документа или регистра нужно продумать его структуру: реквизиты, табличные части, измерения, ресурсы.
Решение:
ИИ предлагает оптимальную структуру объекта на основе описания его бизнес-задачи.
Текст промпта:
*****
Ты – архитектор баз данных 1С. Разработай структуру для нового объекта конфигурации.
Тип объекта: [выберите: «Справочник», «Документ», «РегистрСведений», «РегистрНакопления»].
Бизнес-сущность: [опишите, что будет хранить этот объект, например, «договоры с поставщиками»].
Основные задачи объекта: [перечислите, для чего он нужен, например, «хранить условия договора», «контролировать сроки действия», «быть аналитикой в отчетах»].
Задача:
Предложи оптимальную структуру для этого объекта. Опиши ее в виде таблицы:
- Реквизиты шапки (имя, тип, краткое назначение).
- Табличные части (имя, реквизиты ТЧ с типами и назначением).
- Для регистров: измерения, ресурсы, реквизиты.
Обоснуй, почему ты выбрал именно такие типы данных и структуру (например, «СрокДействия лучше хранить типом Дата, а не Строка, для удобства сравнения»).
*****
Почему это работает:
Промпт заставляет ИИ думать как архитектор: не просто перечислять поля, а исходить из бизнес-задачи и обосновывать свой выбор. Это помогает создать продуманную и масштабируемую структуру.
14. Генерация HTTP-запроса к внешнему API
Проблема:
Нужно получить данные из внешнего веб-сервиса, а писать код для формирования HTTP-запроса, заголовков и обработки ответа – рутина.
Решение:
Генерация готового кода 1С для отправки GET или POST запроса и разбора JSON-ответа.
Текст промпта:
*****
Ты – специалист по интеграциям в 1С. Напиши код для выполнения HTTP-запроса к внешнему API.
Параметры запроса:
Адрес (URL): [укажите адрес ресурса].
Метод: [GET или POST].
Заголовки: [перечислите необходимые заголовки, например, «Authorization: Bearer [TOKEN]», «Content-Type: application/json»].
Тело запроса (для POST): [опишите структуру JSON, которую нужно отправить].
Задача:
Напиши серверную функцию 1С, которая:
- Формирует и отправляет указанный HTTP-запрос.
- Получает ответ.
- Если ответ успешный (код 200), десериализует JSON-ответ в структуру или массив 1С.
- Если ошибка, вызывает исключение с текстом ошибки.
- Используй объекты
HTTPСоединениеиHTTPЗапрос.
*****
Почему это работает:
Промпт содержит все необходимые для ИИ данные (URL, метод, заголовки, тело), что позволяет ему сгенерировать точный и рабочий код. Требование обработки ошибок делает решение более надежным.
15. Конвертация табличного документа в формат MXL или PDF
Проблема:
Нужно программно сохранить сформированный табличный документ (например, печатную форму) в файл.
Решение:
Генерация кода, который сохраняет объект ТабличныйДокумент в файл на диске.
Текст промпта:
*****
Ты – программист 1С. Напиши процедуру для сохранения табличного документа в файл.
Контекст:
У меня есть переменная ТабДок, которая содержит готовый табличный документ (тип ТабличныйДокумент).
Задача:
Напиши экспортную серверную процедуру СохранитьТабличныйДокумент(ТабДок, ИмяФайла, Формат).
Параметры:
-
ТабДок: сам табличный документ. -
ИмяФайла: полный путь к файлу для сохранения. -
Формат: строка, может быть «MXL», «PDF», «XLSX».
Процедура должна использовать метод Записать() и ТипФайлаТабличногоДокумента для определения формата сохранения. Добавь обработку ошибок.
*****
Почему это работает:
Промпт четко определяет входные данные и ожидаемую сигнатуру процедуры. Упоминание конкретных методов (Записать(), ТипФайлаТабличногоДокумента) помогает ИИ выбрать правильный способ решения задачи.
16. Разработка роли с правами доступа
Проблема:
Создание новой роли и настройка прав доступа через конфигуратор – долгий и монотонный процесс. Нужно быстро набросать концепцию прав для новой роли.
Решение:
ИИ генерирует текстовое описание прав для роли, которое затем можно использовать как чек-лист при настройке в конфигураторе.
Текст промпта:
*****
Ты – специалист по системе прав доступа в 1С (RLS). Разработай концепцию прав для новой роли.
Название роли: [укажите название, например, «Менеджер по продажам»].
Основные обязанности пользователя с этой ролью: [опишите, что он должен делать. Например, «создавать заказы клиентов, выставлять счета, смотреть отчеты по своим продажам, но не видеть продажи других менеджеров»].
Задача:
Составь список объектов конфигурации и прав доступа для этой роли. Представь его в виде таблицы с колонками: «Объект», «Чтение», «Добавление», «Изменение», «Проведение», «Отмена проведения», «Ограничения (RLS)».
Пример строки:
Документ.ЗаказКлиента | Да | Да | Да | Да | Нет | Чтение и изменение только своих документов (где Ответственный = &ТекущийПользователь).
Особое внимание удели ограничениям на уровне записей (RLS).
*****
Почему это работает:
Промпт заставляет ИИ думать не только о доступе к объектам целиком, но и об ограничениях на уровне записей (RLS), что является ключевым аспектом настройки прав. Табличный формат делает результат наглядным и удобным для дальнейшей работы.
17. Генерация XDTO-пакета по структуре JSON
Проблема:
Нужно работать с JSON сложной структуры через объекты 1С, но создавать XDTO-пакет вручную долго и сложно.
Решение:
ИИ анализирует пример JSON и генерирует XML-представление XDTO-пакета, который можно загрузить в конфигуратор.
Текст промпта:
*****
Ты – эксперт по механизмам обмена данными в 1С. Создай XDTO-пакет на основе примера JSON.
Пример JSON-структуры:
[вставьте сюда пример вашего JSON, желательно с разными типами данных: строка, число, булево, массив объектов].
Задача:
- Проанализируй структуру этого JSON.
- Создай XML-описание XDTO-пакета, который соответствует этой структуре.
- Укажи целевое пространство имен пакета как [укажите пространство имен, например, «http://mycompany.ru/exchange»].
- Для каждого свойства в XDTO-объектах подбери соответствующий тип (xs:string, xs:decimal, xs:boolean, и т.д.). Для вложенных объектов создай отдельные типы объектов. Для массивов используй
maxOccurs="unbounded".
Формат ответа: готовый XML-код, который можно сохранить в файл и загрузить в конфигуратор 1С.
*****
Почему это работает:
Это сложная, но крайне полезная задача. ИИ выступает в роли анализатора, который переводит одну структуру (JSON) в другую (XDTO/XML). Предоставление примера JSON является ключом к успеху.
18. Написание кода для работы с динамическим списком
Проблема:
Нужно программно изменить параметры динамического списка на форме: установить отбор, поменять сортировку или основной текст запроса.
Решение:
Генерация клиентского или серверного кода для управления динамическим списком.
Текст промпта:
*****
Ты – разработчик интерфейсов 1С. Напиши код для программной настройки динамического списка.
Контекст:
На форме есть динамический список с именем [укажите имя, например, «СписокНоменклатуры»].
Основная таблица списка: [укажите, например, «Справочник.Номенклатура»].
Задача:
Напиши фрагмент кода, который [выберите и опишите задачу:
- Устанавливает отбор: по полю «ЭтоУслуга» со значением «Истина».
- Изменяет порядок: сортировка по полю «Наименование» по убыванию.
- Добавляет произвольный запрос: заменяет основной текст запроса на свой, чтобы добавить вычисляемое поле].
Укажи, на клиенте или на сервере должен выполняться этот код.
*****
Почему это работает:
Промпт фокусируется на конкретной операции с динамическим списком. Разделение на «отбор», «порядок», «произвольный запрос» помогает получить точечное и корректное решение для каждой из этих задач.
19. Анализ производительности запроса (план запроса)
Проблема:
Запрос работает медленно. Нужно понять, как именно он выполняется на уровне СУБД, чтобы найти узкое место.
Решение:
ИИ «симулирует» анализ плана запроса и указывает на потенциально проблемные операции.
Текст промпта:
*****
Ты – администратор баз данных (DBA) и эксперт по оптимизации SQL. Проанализируй запрос 1С и предскажи его план выполнения.
Запрос 1С:
[вставьте сюда текст вашего медленного запроса].
СУБД: [укажите вашу СУБД, например, «MS SQL Server» или «PostgreSQL»].
Контекст: [опишите примерные объемы таблиц, например, «в регистре 10 миллионов записей»].
Задача:
- «Переведи» этот запрос 1С в примерный SQL-аналог.
- Проанализируй получившийся SQL и опиши, каким, скорее всего, будет его план выполнения. На какие операции СУБД потратит больше всего времени (например, «Table Scan», «Nested Loops», «Sort»).
- Укажи, какие поля в таблицах-источниках необходимо проиндексировать, чтобы ускорить этот запрос.
- Предложи альтернативный вариант написания запроса, который приведет к более оптимальному плану выполнения.
*****
Почему это работает:
Роль «DBA» и указание конкретной СУБД заставляют ИИ анализировать запрос с точки зрения физического выполнения, а не только логики 1С. Это позволяет получить глубокие и неочевидные рекомендации по оптимизации.
20. Создание обработки для фонового задания
Проблема:
Нужно создать обработку, которую можно будет запускать по расписанию в фоновом режиме.
Решение:
Генерация шаблона внешней обработки с экспортной процедурой, готовой для использования в регламентных заданиях.
Текст промпта:
*****
Ты – архитектор 1С. Создай шаблон внешней обработки для выполнения в фоновом (регламентном) задании.
Задача:
Создай структуру модуля объекта для внешней обработки.
- В модуле должна быть одна экспортная процедура с именем
ВыполнитьКоманду(). - Эта процедура не должна иметь параметров.
- Внутри процедуры
ВыполнитьКоманду()размести комментарий «// Основная логика фонового задания» и пример логирования в журнал регистрации:ЗаписьЖурналаРегистрации(...). - Убедись, что код не содержит интерактивных методов, которые нельзя использовать в фоновых заданиях (например,
Вопрос(),ОткрытьФорму()).
*****
Почему это работает:
Промпт фокусируется на ключевых требованиях к коду для фоновых заданий: наличие стандартной экспортной процедуры и отсутствие интерактивности. Это гарантирует, что сгенерированный шаблон будет рабочим.
21. Генерация кода для работы с файлами
Проблема:
Нужно прочитать текстовый файл, записать данные в файл или получить список файлов в каталоге.
Решение:
Промпт для генерации кода, использующего объекты ТекстовыйДокумент или Файл для файловых операций.
Текст промпта:
*****
Ты – программист 1С. Напиши код для работы с файлами на сервере.
Задача:
Мне нужен код, который выполняет одну из следующих операций (выбери и опиши нужную):
- Чтение текстового файла: прочитать файл [укажите путь] построчно и каждую строку вывести в сообщение.
- Запись в текстовый файл: создать файл [укажите путь] и записать в него строку «[ваша строка]».
- Получение списка файлов: найти все файлы с расширением [например, «*.txt»] в каталоге [укажите путь] и их имена добавить в массив.
Напиши готовую процедуру для решения выбранной задачи. Используй соответствующие объекты 1С (ТекстовыйДокумент, НайтиФайлы).
*****
Почему это работает:
Промпт предлагает на выбор несколько типовых файловых операций, что делает его универсальным. Указание на конкретные объекты 1С помогает ИИ сгенерировать идиоматичный и правильный код.
22. Написание обертки для сложного API
Проблема:
Часто приходится вызывать одну и ту же последовательность команд для работы с каким-то механизмом (например, отправка почты, работа с COM-объектом). Хочется упростить это.
Решение:
Создание общего модуля с простыми и понятными процедурами, которые «под капотом» скрывают всю сложность.
Текст промпта:
*****
Ты – архитектор ПО. Спроектируй общий модуль-обертку для упрощения работы со сложным API.
Задача:
Я хочу создать общий модуль с именем РаботаСПочтойУпрощенно. Он должен упростить отправку писем.
Спроектируй в этом модуле одну-единственную экспортную процедуру:
ОтправитьПисьмо(Кому, Тема, ТекстПисьма, Вложения)
Эта процедура должна внутри себя выполнять всю сложную работу:
- Подключаться к почтовому серверу (используй параметры, которые можно будет задать в константах).
- Создавать объект
ИнтернетПочтовоеСообщение. - Заполнять получателя, тему, текст.
- Если передан массив
Вложения(массив путей к файлам), добавлять их в письмо. - Отправлять письмо и обрабатывать ошибки.
Напиши полный код этого общего модуля с процедурой-оберткой. Все сложные детали должны быть скрыты внутри.
*****
Почему это работает:
Этот промпт реализует важный принцип программирования – инкапсуляцию. Он заставляет ИИ не просто решить задачу, а спроектировать удобный и переиспользуемый интерфейс для ее решения.
23. Создание unit-теста для функции
Проблема:
Есть критически важная функция (например, расчет себестоимости), и нужно убедиться, что она работает правильно после любых изменений.
Решение:
Генерация кода для автоматизированного теста, который проверяет работу функции на разных наборах входных данных.
Текст промпта:
*****
Ты – QA-инженер, специализирующийся на автоматизированном тестировании в 1С. Напиши unit-тест для функции.
Тестируемая функция (сигнатура):
МойОбщийМодуль.РассчитатьСуммуДокумента(Цена, Количество, ПроцентСкидки)
Задача:
Напиши процедуру Тест_РассчитатьСуммуДокумента(), которая проверяет работу этой функции.
Процедура должна содержать несколько тестовых случаев (кейсов):
- Позитивный сценарий:
Цена = 100,Количество = 2,Скидка = 10. Ожидаемый результат:180. - Сценарий с нулевой скидкой:
Цена = 50,Количество = 3,Скидка = 0. Ожидаемый результат:150. - Сценарий со стопроцентной скидкой:
Цена = 200,Количество = 1,Скидка = 100. Ожидаемый результат:0.
В каждом кейсе вызови функцию, сравни фактический результат с ожидаемым. Если они не совпадают, вызови исключение с текстом «Тест провален: [описание кейса]». Если все тесты пройдены, выведи сообщение «Все тесты пройдены успешно».
*****
Почему это работает:
Промпт задает структуру классического unit-теста: набор входных данных, ожидаемый результат и проверка. Это дисциплинирует ИИ и позволяет получить готовый, работающий тестовый код.
24. Преобразование данных из одной структуры в другую
Проблема:
Нужно перегнать данные, например, из таблицы значений в массив структур или наоборот.
Решение:
Генерация кода для трансформации данных между разными типами коллекций 1С.
Текст промпта:
*****
Ты – программист 1С. Напиши код для преобразования данных.
Исходные данные:
У меня есть [укажите тип, например, «ТаблицаЗначений»] с колонками [«Код», «Наименование», «Цена»].
Задача:
Напиши код, который преобразует эти данные в [укажите целевой тип, например, «Массив структур»].
Каждый элемент итогового массива должен быть структурой с ключами «КодТовара», «ИмяТовара», «Стоимость».
Имена ключей в структуре должны отличаться от имен колонок в таблице значений.
Напиши универсальную функцию, которая принимает на вход таблицу значений и возвращает массив структур.
*****
Почему это работает:
Четкое описание «что на входе» и «что должно быть на выходе», включая маппинг имен полей, не оставляет ИИ шансов ошибиться. Он решает конкретную задачу по трансформации данных.
25. Генерация «человекопонятного» представления объекта
Проблема:
Нужно вывести в лог или сообщение пользователю информацию об объекте (например, документе), но стандартное представление (например, «Реализация товаров и услуг 0000-000001 от 01.01.2023») неинформативно.
Решение:
Создание функции, которая формирует подробное строковое описание объекта для вывода.
Текст промпта:
*****
Ты – специалист по UX/UI в 1С. Создай функцию, которая формирует «человекопонятное» представление объекта.
Объект: [укажите тип, например, «ДокументСсылка.ЗаказКлиента»].
Задача:
Напиши экспортную серверную функцию ПредставлениеДляЛога(СсылкаНаОбъект).
Эта функция должна возвращать строку, содержащую самую важную информацию об объекте. Например:
«Заказ клиента №[Номер] от [Дата] на сумму [СуммаДокумента] руб. Контрагент: [Контрагент.Наименование]. Статус: [Статус].»
Функция должна делать необходимые запросы для получения данных, которых нет в самой ссылке (например, реквизитов). Код должен быть безопасным и не вызывать ошибок, если объект помечен на удаление или не проведен.
*****
Почему это работает:
Промпт не просто просит получить представление, а задает его желаемый формат и состав. Указание на безопасность кода (проверки на пометку удаления) делает решение более надежным и профессиональным.
Продвинутые приемы для управления выводом ИИ
Когда базовые запросы освоены, можно переходить к более сложным техникам, которые позволяют «дирижировать» нейросетью и получать еще более точные и креативные результаты.
| Прием | Описание и пример команды для промпта | Когда применять |
| Задание «персоны» с негативным опытом | «Ты – младший разработчик, который часто допускает ошибки. Проверь этот код и найди в нем 3 потенциальные проблемы, которые ты бы мог допустить». | Когда нужно найти неявные ошибки, «защитить код от дурака» или посмотреть на него под другим углом. |
| Требование нескольких вариантов | «Предложи 3 разных способа решить эту задачу: самый простой, самый производительный и самый оригинальный. Опиши плюсы и минусы каждого.» | Когда вы не уверены в оптимальном решении и хотите рассмотреть альтернативы. Помогает выбрать наилучший подход. |
| Сократический диалог | «Я хочу написать функцию для расчета зарплаты. Задавай мне уточняющие вопросы, пока у тебя не будет достаточно информации для написания кода. Начинай.» | Для очень сложных задач, где вы сами не до конца сформулировали требования. Нейросеть поможет вам структурировать мысли. |
| Задание формата вывода | «Результат представь в виде Markdown-таблицы с колонками ‘Проблема’, ‘Решение’, ‘Риски’.» или «Ответ дай в формате JSON». | Когда результат работы ИИ будет использоваться в другой системе или вам нужен строго структурированный текстовый ответ. |
| Цепочка промптов (Chain of thought) | Сначала: «Разбей задачу ‘создать отчет’ на 5 подзадач». Затем: «Напиши код для подзадачи №1: ‘Создать запрос для СКД'». И так далее. | Для больших и комплексных проектов. Разбиение слона на бифштексы позволяет контролировать каждый этап и получать качественный результат. |
Неочевидные советы для эффективной работы
Напоследок – несколько советов, о которых редко пишут, но которые могут кардинально изменить ваш опыт использования ИИ в разработке на 1С.
- Создайте «мастер-промпт» для вашего проекта. Это большой текстовый файл, где вы один раз описываете контекст: версия платформы, название конфигурации, основные используемые библиотеки (БСП), стандарты кодирования. Вставляйте его в начало каждого своего запроса, чтобы ИИ всегда был «в курсе дела».
- Используйте ИИ для «перевода» с языка бизнеса на язык разработки. Дайте ему на вход описание задачи от аналитика или менеджера («Хотим, чтобы при выборе клиента подставлялась скидка…») и попросите его сформулировать из этого техническое задание для программиста с конкретными шагами.
- Просите ИИ не только писать, но и критиковать. После того как вы написали код, отправьте его нейросети с промптом: «Ты – придирчивый тимлид. Найди в этом коде 5 недостатков и предложи, как их исправить». Это отличный способ для самопроверки.
- Сохраняйте не только удачные промпты, но и целые диалоги. Часто самый ценный результат рождается не с первого раза, а в ходе 3-4 уточнений. Сохранив весь диалог, вы сможете в будущем быстрее прийти к нужному решению по схожей задаче.
- Не бойтесь давать ИИ абсурдные или творческие роли. Например: «Ты – Шерлок Холмс. Вот текст ошибки и фрагмент кода. Опиши в дедуктивном стиле, как ты пришел к выводу о причине проблемы». Это не только весело, но и иногда помогает взглянуть на проблему совершенно под другим углом.
- Используйте нейросеть для подготовки к собеседованиям. Дайте ей роль «HR-специалист» или «Технический директор» и попросите провести с вами импровизированное собеседование на позицию программиста 1С, задавая каверзные вопросы по платформе и языку. Использование таких промптов для программиста 1с поможет выявить пробелы в знаниях.