Многие разработчики уже пытались приручить нейросети для решения своих задач. Но часто результат разочаровывает: вместо готового решения получается обобщенный код, который приходится переписывать. В этой статье собраны рабочие промпты для программиста 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с поможет выявить пробелы в знаниях.