Готовый промпт для обновления процедур и функций 1С в режиме «ИзменениеИКонтроль»

18.12.25

Интеграция - Нейросети

На связи Сергей Скирдин, технический директор ИТ-интегратора «Белый код». Близится конец года, с новыми налоговыми изменениями, а значит, нужно обновить наши учетные системы. Обычно этой работой занимается свободный 1С программист, но в этом году все упорно трудятся на проектах. С основной рутинной работой по обновлению успешно справляется обновлятор, но при обновлении доработанных модулей приходится вручную разбираться с конфликтами. Работа несложная, но требует концентрации и внимания на деталях. В этом году мы активно начали использовать ИИ в режиме чата и в режиме агента. Давайте попробуем и эту работу поручить ИИ. Кому интересен только результат, мотайте сразу до заключения, там ссылка на репо.

Разработка промпта

Итак, после работы обновлятора мы имеем ошибку применения расширения в нескольких функциях. Эксперименты начнем с ChatGPT, и для начала узнаем, что он знает о директивах «ИзменениеИКонтроль»?

 

Ок, бред, понятно. 

Берем из поисковика первую ссылку по запросу работа с директивами «ИзменениеИКонтроль», отправляем ссылку для изучения и просим повторить ответ на вопрос:

 

 

Ок, подходит. Можно приступать к переносу изменений в процедурах. 

Первый успех

Первой в конфликт применения выпала процедура «СформироватьТаблицаДоходыИРасходы» модуля менеджера документа «АктВыполненныхРабот». Процедура небольшая, всего 200 строк. Код подготавливает таблицу, по которой дальше формируются движения по регистру «ДоходыИРасходы». Суть доработки — в аналитику, вместо неопределено подставить контрагента. Не знаю, почему в типовой так не сделано, ну да ладно. 

 

 

Всего в процедуре 2 удаления и 4 вставки. Далее привожу в сокращенном виде диалог с ChatGPT, в формате З (запрос), О (ответ). Запросы привожу как есть, в ответах только суть. ИИ любит развернутые ответы, если приводить полный текст ответа, статья рискует превысить объем большой советской энциклопедии. Итак, диалог:

З: У меня есть функция, которую я доработал с использованием директивы «ИзменениеИКонтроль»

<Текст функции с изменениями>

И есть новая версия этой процедуры. Нужно в нее перенести мои изменения, аккуратно вставив директивы. Обрати внимание, изменения должны быть окружены директивами вставки либо удаления, все что вне директив должно остаться неизменным. Вот новая версия: 

<Текст функции из нового релиза>

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

З: Вариант А

О: Хорошо я сделаю, но ты прислал твой доработанный вариант, но не прислал типовой оригинал, который был в тот момент. Дальше много текста, почему это важно. 

З: хорошо, вот исходная версия 

<Текст исходной процедуры без изменений>

О: Отлично, теперь у меня есть всё:

  • твоя доработанная версия,
  • новая типовая версия,
  • исходная типовая, на основе которой была доработка.

Теперь я могу полностью собрать готовую процедуру со всеми твоими вставками, строго по правилам «&ИзменениеИКонтроль».

d71;Прежде чем я сгенерирую итоговую версию

Мне нужно уточнить один важный момент:

Далее он пускается в рассуждения о сути кода, и в конце выдает два варианта:
1) просто перенести изменения,
2) зарефакторить изменения. 

З: 1

О: Думал на протяжении 2m 18s

Вот готовый вариант процедуры с перенесёнными правками и директивами «ИзменениеИКонтроль» под новую типовую версию:

<Текст измененной процедуры>

Отлично, первый результат есть, идем в конфигуратор, вставляем процедуру, запускаем проверку применения расширения и … проверка проходит! С этой процедурой больше нет конфликта и можно двигаться дальше.

 

Не все так просто

У нас есть диалог, в котором мы уже научили ChatGPT работе с директивой «ИзменениеИКонтроль», объяснили что мы от него хотим. В общем, все готово — бери и вставляй процедуры. Так и сделаем. 

З: вот новая процедура 

<текст процедуры>

вот моя с изменениями

<текст процедуры>

Дальше пытаюсь вставить в рамках одного запроса текст из нового релиза, но Chat GPT говорит, что превышено количество символов в запросе, поэтому завершаю запрос так:

дальше отправлю исходный вариант

О: Хорошо, я готов.

З: <Текст процедуры>

О: Отлично — теперь у меня есть все три версии:

  1. Новая типовая процедура (последняя в поставке)
  2. Твоя доработка (с заменой Аналитики на Контрагента)
  3. Исходная типовая, на которой ты делал доработку

ВАЖНЫЙ ВОПРОС — и ты пока не отвечал на него

Здесь он пускается в рассуждения о том, что было в моей первой процедуре (с которой он успешно справился) и что в этой. Происходит диалог, несколько безуспешных попыток сформировать текст процедуры. В результате я делаю вывод, что у ИИ уже запутался в контексте и надо создавать новый диалог. Кстати, когда писал статью, заметил, вторая процедура была с аналогичным названием, но из модуля документа «РасходнаяНакладная», не удивительно, что у ИИ каша в голове контекстном окне образовалась. Вторая процедура кстати уже побольше, 250 строк.

Фиксируем неудачу, и идем дальше экспериментировать. 

 

Разработка промпта, подход второй

Чтобы не было каши в контексте, будем делать в рамках диалога одну процедуру. И чтобы нам не отвечать на 100500 вопросов говорливого ассистента, напишем сразу исчерпывающий промпт. Писать самому лень, а кто у нас хорошо пишет промпты для ИИ? Правильно — сам ИИ. Ставим задачу:

З: Мне нужно составить промпт для chatgpt, чтобы ты помог мне решить задачу с обновлением расширения. Суть задачи в переносе моих доработок, выполненных с использованием «ИзменениеИКонтроль» в обновленные модули.

Дальше происходит небольшой диалог и в итоге рождается промт. Этот промт проходит цикл испытаний на процедуре в 250 строк, по ходу испытаний он дополняется деталями. Вот такой вариант приводит к успешному переносу изменений без лишних рассуждений и вопросов:

Мне нужна помощь с переносом моих доработок в модули конфигурации «1С:Предприятие».
Доработки были выполнены с использованием аннотации «ИзменениеИКонтроль» — вставки #Вставка/#КонецВставки и удаления #Удаление/#КонецУдаления

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

Твоя задача (строго выполнять без дополнительных вопросов):

Проанализировать мои доработки: определить, какие вставки и удаления были внесены между старой типовой процедурой/функцией и изменённой версией с аннотациями.

Сопоставить:

Вариант 1 — исходная типовая процедура

Вариант 2 — та же процедура с моими изменениями

Вариант 3 — новая типовая версия процедуры
и определить, куда нужно перенести мои доработки.

Сформировать итоговый текст новой процедуры/функции с корректно встроенными директивами
#Вставка/#КонецВставки
#Удаление/#КонецУдаления.

Категорически запрещено менять форматирование процедур и функций:

  • нельзя добавлять или удалять пробелы;
  • нельзя изменять отступы;
  • нельзя добавлять или убирать пустые строки;
  • нельзя изменять тип кавычек;
  • нельзя менять порядок объявлений.

Текст новой процедуры должен быть побитово идентичен варианту 3 — за исключением вставленных блоков.

Обрати внимание:

Вариант 1 и Вариант 2 имеют разное имя процедуры (у Варианта 2 имеется префикс расширения).

Итоговая обновленная процедура должна иметь то же имя, что и измененная процедура из Варианта 2, независимо от названия процедуры в варианте 3.

Никаких дополнительных изменений имени, параметров, экспортов и т. п. делать нельзя.

Не задавай никаких уточняющих вопросов.
После предоставления мной трёх текстов процедуры ты должен сразу выдать:

  • итоговый корректный текст новой процедуры/функции с донесёнными изменениями,
  • без пояснений, без анализа, только итоговый модуль.

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

 

Большие процедуры

И действительно, пару процедур я успешно обновил, а потом дошел до «СформироватьТаблицаЗапасыПродажа» из расходной накладной. В ней всего 4 вставки, но сама процедура около 1000 строк. 

По этой процедуре состоялся забавный диалог: 

З: <Промпт>

О: Готов. Пожалуйста, предоставьте три варианта процедуры (Вариант 1, Вариант 

2, Вариант 3) в отдельных блоках — я сразу выдам итоговый модуль.

З: <Текст исходной процедуры>

О: Получил Вариант 1.

Пожалуйста, пришлите Вариант 2 и Вариант 3 — после этого я сразу выдам итоговый модуль без комментариев.

З: <Текст с изменениями>

О: Получил Вариант 2.

Пожалуйста, пришлите Вариант 3 — после этого сразу выдам итоговый модуль без комментариев.

З: <Текст из нового релиза>

О: Принято. Я получил:

Вариант 3 — новая типовая версия процедуры СформироватьТаблицаЗапасыПродажа.

Для завершения переноса мне теперь нужно Вариант 2 — вашу доработанную версию процедуры с аннотациями #Вставка, #Удаление.

Пожалуйста, предоставьте Вариант 2. После этого я сразу выполню перенос изменений в Вариант 3 с учётом всех ваших требований.

Хм. Пересматриваю диалог, все три процедуры отправлены… Ну ок, отправляю еще раз Вариант 2, получают ответ: теперь нужен Вариант 1… Занавес. 

ChatGPT 5.1 не справился с процедурой на 1000 строк. Да, понятно, что можно кусочками отправить, но тогда потеряется весь смысл, придется напрягать свою голову, а своя голова нужна для более важных дел. 

Пробуем другие модели

Что еще попробовать? Ну конечно, бесплатную китайскую модель.

DeepSeek 

З: <Промт>

Думал 463 секунд. 

О: Ожидаю три текста процедуры/функции:

  • Исходная типовая версия.
  • Измененная версия с директивами.
  • Новая типовая версия.

После получения всех трех вариантов сразу предоставлю итоговый текст с перенесенными доработками.

З: <текст исходной процедуры>

В ответ он почему-то сразу начал печатать процедуру, не дождавшись вариантов с изменениями и обновленной процедуры. Мне стало интересно, что он там печатает, не имея даже варианта с изменениями. В итоге оказалось, что он перепечатал мне всю мою процедуру, только в одном запросе заменил часть слова «Пустая» на китайские иероглифы. 

 

 

Я не поленился, спросил у него, что это за иероглифы такие? Оказалось они означают  «пустырь», так что применил он их по месту.

Попробовал отключить «Глубокое мышление». Без него DeepSeek выдает результат моментально (а не через 7 минут), и результат абсолютно аналогичный. Я и ранее замечал, что DeepSeek можно использовать для простеньких задач, когда лень или нет возможности через VPN использовать ChatGPT. Причем использование «глубокого мышления» ни разу ни к чему хорошему не привело.

Claude.ai

Ранее не работал с Claude. Попробуем бесплатную версию. Качаем приложение, регистрируемся на gmail, начинаем работу по копи/пасту: 

 

 

Бесплатной версии хватило, чтобы принять Вариант 1 и Вариант 2, далее Claude предложил заплатить денеги или подождать до 8 утра следующего дня. Ок, оплачиваем подписку и продолжаем. С продолжением тоже не очень гладко:

 

 

Готовая процедура не влезла в одно сообщение, и Claude разбил его на два. Это конечно не очень удобно, с учетом того, что 1С проверяет код побитово и не позволяет сделать ни лишних отступов, ни форматирования. С ChatGPT такая проблема легко решается — нужно попросить вывести  результат в файл для скачивания. 

 

 

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

 


 

 

Ну что, снова нет успеха. 

Битва агентов

Раз Claude не может выдать текст файлом, попробуем сформировать текст в режиме агента. И раз уж дело дошло до агентов, дадим шанс ChatGPT  и агенту Codex.

Codex — отличная штука, когда нужно что-то написать на питоне. ChatGPT и в режиме чата неплохо справляется, я себе таким образом навайбкодил Телеграмм-бота для транскрибации встреч. Прелесть Codex в том, что он может не только писать код, но и запускать его, тестить, смотреть результаты, корректировать по результатам код, снова запускать. То есть, вы можете буквально поставить задачу, пойти попить чаю и получить готовый, рабочий проект. Настроить Codex просто - в vscode качаем расширение, запускаем и авторизуемся через ChatGPT. Причем не нужно отдельно оплачивать токены API, обычная подписка за 20$ прекрасно работает. 

Итак, создаем два каталога, один для ChatGPT, другой для Claude, размещаем в них одинаковый набор:

- `Инструкция по работе с аннотацией «ИзменениеИКонтроль.md»` — краткое руководство по синтаксису директив `#Вставка`/`#Удаление` и требованиям к соответствию типового кода для ИИ.

- «промпт.md» — промпт для ИИ.

- «ПроцедураДоОбновленияБезИзменений.bsl» — пустой файл для вставки в него 

                                        типовой версии процедуры до обновления, без изменений.

- «ПроцедураДоОбновленияСИзменениями.bsl» — версия до обновления с изменениями «&ИзменениеИКонтроль».

- «ПроцедураПослеОбновления.bsl» — новая типовая версия из обновленной конфигарации.

- «ПроцедураПослеОбновленияСИзменениями.bsl» — целевой файл: обновлённый модуль с перенесенными правками.

И там, и там отправляем агенту простую команду: «задача описана в промпт.md».


 


Codex справился первый:

 

 

Дифф показывает изменение имени процедуры и две перенесенные вставки, все ок. Конфигуратор тоже принял изменения. Успех!

Claude закончил чуть позже и тоже с успешным результатом. 

 


 

Заключение

Остальные процедуры (штук 10) я прогнал через Codex, как-то с ним удобнее в VS Code работать. Кстати от Claude я тоже поставил расширение в VS Code, но почему-то оно не появилось, пока с этим не разобрался. 

Для маленьких процедур я пробовал еще раз вернуться в режим чата (вроде так побыстрее), но в итоге вернулся в агента из-за того, что в веб-версии все время какие-то косяки с форматированием:

 

 

Итого, эксперимент считаю удачным. ИИ-агентов можно и нужно применять для обновления 1С-ки. Здорово было бы разобраться со скриптами обновлятора, для автоматизации процесса взаимодействия с агентом, но у меня изменений не так много, чтобы тратить на это время. 

Финальный промт и инструкцию для ИИ загрузил в репо https://github.com/skirdinsa/1c-merge-prompt, делайте клон, пользуйтесь на здоровье.

Вступайте в нашу телеграмм-группу Инфостарт

См. также

Инструментарий разработчика Нейросети Платные (руб)

Первые попытки разработки на 1С с использованием больших языковых моделей (LLM) могут разочаровать. LLMки сильно галлюцинируют, потому что не знают устройства конфигураций 1С, не знают нюансов синтаксиса. Но если дать им подсказки с помощью MCP, то результат получается кардинально лучше. Далее в публикации: MCP для поиска по метаданым 1С, справке синтакс-помошника и проверки синтаксиса.

15000 руб.

25.08.2025    30848    70    12    

79

Разработка Инструментарий разработчика Работа с интерфейсом Адаптация типовых решений Нейросети 1C:Бухгалтерия 1C:ERP 1С:ЗУП 1С:КА 1С:УНФ 1С:УТ 1С:Розница 1С:ДО 1С:ERP Управление предприятием 2 Платные (руб)

Разработка "Дизайнер форм 1С" реализована в виде расширения 1С и является универсальным инструментом для разработки прототипа форм с целью демонстраций, технических заданий и т.д. Без участия разработчика с возможностью экспорта в файл внешней обработки и генерации формы используя искусственный интеллект.

36000 руб.

28.08.2025    4142    1    2    

4

Нейросети Мастера заполнения 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Платные (руб)

Расширение для заполнения описания номенклатуры с помощью модели ИИ GigaChat от Сбера. Расширение формирует продающее описание товара по его наименованию с помощью модели искусственного интеллекта. Будет полезно для владельцев интернет магазинов, каталогов товаров и продающих через маркетплейсы. Адаптировано для основных конфигураций: УТ, ЕРП, КА, УНФ.

5000 руб.

08.11.2023    5802    18    0    

28

Инструментарий разработчика Нейросети Программист 1С 8.3 Бесплатно (free)

В эпоху бума больших языковых моделей (LLM) возникает вопрос: насколько хорошо современные LLM пишут код на платформе 1С:Предприятие? Для объективной оценки этих возможностей мы разработали 1C Code Bench - бенчмарк, позволяющий тестировать и сравнивать способности LLM-моделей решать типовые задачи на 1С.

15.12.2025    672    Belowzero    5    

0

Нейросети Бесплатно (free)

Последние пару лет мы живем в режиме "золотой лихорадки". ChatGPT, DeepSeek, Claude, Gemini стали нашими вторыми пилотами. Мы привыкли, что за бесплатно или за символическую сумму в месяц получаем универсального джинна, который и запрос к базе оптимизирует, и юридический пункт в договоре подсветит, и структуру метаданных накидает.

11.12.2025    1054    GarriSoft    8    

7

Нейросети Программист 1С:Предприятие 8 Россия Бесплатно (free)

Узко специализированный кейс "Как с помощью ИИ можно загружать заказы любого формата и из любого источника".

25.11.2025    1935    Tigreno    8    

21

Нейросети Распознавание документов и образов Программист 1С:Предприятие 8 Россия Абонемент ($m)

Статья описывает практический подход к автоматизации сравнения документов с применением технологий OCR и локальных языковых моделей. Рассматриваются этапы настройки и интеграции Tesseract OCR, LM Studio и внешней обработки 1С для создания автономного решения.

1 стартмани

20.11.2025    2116    prokhodolya    4    

17

Нейросети Программист Бесплатно (free)

Большие языковые модели все чаще применяются для генерации кода на 1С, но до сих пор нет единого способа объективно сравнить их качество. Объясняем, как работают метрики BLEU, CodeBLEU и pass@k, и как их можно адаптировать для оценки LLM в экосистеме 1С. Показываем, какие задачи – от простых функций до рефакторинга – помогают полноценно оценить интеллект модели и ее знание платформы. Разбираем ключевую проблему проверки логики и синтаксиса в автоматическом режиме и показываем бенчмарк, который решает эту задачу, сравнивая ChatGPT, Claude, GigaChat и другие модели по единым стандартам.

31.10.2025    3661    Vaslot    14    

17
Для отправки сообщения требуется регистрация/авторизация