Готовый промпт для обновления процедур и функций 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С, справке синтакс-помошника и проверки синтаксиса.

15250 руб.

25.08.2025    36153    77    19    

89

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

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

36600 руб.

28.08.2025    5137    2    2    

5

Нейросети 1С 8.3 1С:Управление торговлей 11 Управленческий учет Платные (руб)

Обработка подключения фотокамер Canon и Nikon к Управление торговлей 11.4 для потоковой загрузки фотографий в карточки товаров с автоматическим удалением фона

23180 руб.

24.06.2021    11415    5    7    

16

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

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

5084 руб.

08.11.2023    6079    19    0    

29

Мастера заполнения Нейросети 1С:Предприятие 8 1C:Бухгалтерия 1С:Управление торговлей 11 Платные (руб)

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

5000 руб.

13.03.2023    22370    51    50    

80

Нейросети Программист 1С 8.3 Абонемент ($m)

Расширение для 1С и скилл для LLM-агентов для произвольных запросов к 1С через HTTP-сервис. Инструмент решает проблему «слепого» анализа ошибок, давая нейросетям доступ к реальным данным для расследования инцидентов и формирования отчетов.

1 стартмани

23.01.2026    1330    3    FSerg    2    

6

Оптовая торговля Нейросети 1С 8.5 1С:Бухгалтерия 3.0 Россия Платные (руб)

Заполнение карточки контрагента по реквизитам (по ИНН, КПП, Адрес) с использованием Искусственного интеллекта для 1С БП 3

5000 руб.

19.01.2026    340    0    0    

2

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

Делимся практическими кейсами применения ИИ в ИТ-проектах – от подготовки и моделирования процессов до обучения пользователей и поддержки эксплуатации. Расскажем, как с помощью искусственного интеллекта сократить рутину, снизить издержки и сосредоточиться на главных задачах, а также дадим немного теории о больших языковых моделях, fine-tuning и RAG.

19.01.2026    558    KhashkinAndrey    2    

3
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. maklai 1 19.12.25 22:28 Сейчас в теме
Cursor не пробовали? Он сам гоняет по всем иишкам )) есть недельный пробный доступ, работает в вс код, есть расширение подсветки синтаксиса
2. sergey.skirdin 76 19.12.25 22:38 Сейчас в теме
(1) пробовал, хорошая штука. На тот момент не был оплачен, поэтому не применялся.
3. maklai 1 19.12.25 22:42 Сейчас в теме
(2) да, штука очень хорошая, главное не стать заложником, какие то отдельные функции и процедуры пишет в лёт, но когда пытаешься сделать комплексную работу, то становишься заложником курсора, он пишет простынями, оно работает некорректно, или не работает вообще, думаешь ну че лезть в простынь, может сам поправит, и уже на 10ом, 20ом исправлении думаешь что меньше времени потратил бы на то, чтобы самому руками все написать... Но простыни уже разрослись, а надежда что он корректно все доделает не покидает))) в общем надо учится вовремя останавливаться)
4. sergey.skirdin 76 20.12.25 06:19 Сейчас в теме
(3) да, есть такое. Воообще на 1с нейросети плоховато пишут. Больше пользы когда нужно разобраться в чужой логике, километровом запросе разобраться как поле считается, очень помогает.
Курсор использую для питона, когда надо что-то обработать (не внутри 1с), раньше на 1с писал обработку, теперь питоновский скрипт за пару минут пишется.
Для отправки сообщения требуется регистрация/авторизация