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

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

Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

См. также

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

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

15250 руб.

25.08.2025    65051    132    36    

140

SALE! %

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

Корректируйте банковские документы быстро и легко! Создайте правило обработки — и оно автоматически применится при загрузке выписки (отбор по любому реквизиту или регулярному выражению). Решение заполняет расшифровку платежа, комиссию эквайринга, подбирает ведомости на выплату зарплаты, помечает дубли из банка на удаление и многое другое. Доплачивать за алгоритмы не нужно — они включены в решение. Обработка работает при загрузке из файлов клиент-банка и через DirectBank. Новое — искусственный интеллект: модель приводит нестандартные назначения платежа к виду, понятному алгоритмам, а ИИ-ассистент прямо в 1С консультирует по решению и разбирает код правил и алгоритмов. Поддерживаются локальные и облачные OpenAI-совместимые модели — данные могут не покидать ваш контур.

15250 руб.

20.12.2024    17123    84    29    

76

Нейросети Системный администратор Программист Бизнес-аналитик Бухгалтер Пользователь Руководитель проекта 1С 8.3 1С:Документооборот 1С:Бухгалтерия 3.0 1С:Зарплата и Управление Персоналом 3.x Россия Платные (руб)

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

12078 руб.

30.07.2026    1423    4    4    

6

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

SFT-адаптация Qwen/Qwen3.6-27B для разработки на платформе 1C:Enterprise: код на BSL, структура выгрузок BSL+XML, схемы XML и типовые практики конфигураций. Модель ориентирована на ассистента разработчика 1С: навигация по метаданным/XML-выгрузке, пояснение и правка BSL, следование внутренним стандартам кодирования, работа с открытыми кодовыми базами 1С.

03.08.2026    2757    andrew.ab    34    

15

Облачные сервисы, хостинг Сервера Нейросети Программист Бесплатно (free)

В последние годы спор «облако или локалка» стал одним из самых горячих в мире работы с нейросетями. Давайте разберемся.

03.08.2026    758    dsdred    37    

10

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

Рассказываем, как использовать библиотеку искусственного интеллекта для 1С не просто как инструмент генерации кода, а как основу для новых бизнес-решений. Показываем, как с ее помощью строить BI-систему на естественном языке: пользователь формулирует вопрос по продажам обычным текстом, а система генерирует запрос к базе и возвращает результат в виде таблицы или графики. Разбираем пример торгового бота-продавца, который общается с покупателем, консультирует по товару и отправляет платежную ссылку, а также объясняем, зачем в таких решениях нужны границы, точки контроля и обычное программирование. Отдельно показываем, как векторные базы и нечеткий поиск помогают создавать помощников менеджера (например, для подбора аналогов), и почему новые задачи лучше решать новыми методами, а не пытаться применять ИИ только к старым сценариям.

31.07.2026    7787    mkalimulin    9    

13

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

Эта статья не столько про новую программу, сколько про путь: от желания немного улучшить чужой open-source проект — до создания собственного инструмента, который закрывает весь цикл работы с речью. Транскрибация, генерация статей и описаний через LLM, синтез аудиокниг — всё локально, в одном приложении. Исходники открыты, лицензия MIT.

29.07.2026    1730    Ibrogim    23    

27

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

Новые результаты теста топовых ИИ в вайбкодинге на 1С. Это продолжение прошлой статьи, где нейросети написали внешнюю обработку за 19 минут. Теперь же с этой же задачей справляются за 3–4 минуты. Прошло всего несколько недель. Что будет дальше?

24.07.2026    11440    top_1c    107    

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