«Поменяй у всех, кто…» - задача на пять минут работы и на час подготовки, если делать под нее обработку в конфигураторе. С ИИ-агентом снаружи 1С подготовки не меньше: выгрузить конфигурацию в файлы - на типовой это минут двадцать, - править код в редакторе, загрузить обратно - еще двадцать, - и только тогда узнать, что имя реквизита не то. Хлопот больше, чем самой задачи. В прошлой статье я разбирал, почему маршрут через выгрузку вообще возникает; здесь - что получается, если агента поставить внутрь 1С.

Инструмент - Линза, консоль запросов 1С с ИИ-агентом и мастером внешних обработок: моя разработка, сама тоже внешняя обработка, код открыт, репозиторий в конце статьи. Агент работает внутри нее, в 1С: читает метаданные живой базы, запрос выполняется сразу, ответ платформы приходит в том же шаге, а .epf собирает мастер.

Для тех, кто не из 1С: внешняя обработка - это файл .epf с формой и кодом, который открывается в работающей базе без изменения конфигурации; обычный способ дать пользователю кнопку «сделай вот это со всеми, кто…». Писать ее принято в конфигураторе, отдельной средой разработки.

Ниже - такая задача за одну-три минуты и без выгрузки: промпты дословно, запросы на кадрах, на трех шагах три разные нейросети.

Задача

Демо-база УТ 11.5. У клиента «Бытовая техника» в 2022 году были заказы на кондиционеры, пылесосы и вентилятор - пять позиций номенклатуры, у всех единица хранения «шт». Нужно перевести их на «упак».

Пять позиций проверяются глазами; на пятьсот путь тот же, условие отбора живет в запросе.

Шаг 1. Запрос словами

Промпт, дословно:

Отбери заказы клиентов по клиенту Бытовая техника за 22 год со всей номенклатурой, в результате необходимо вывести единицу хранения номенклатуры

Что нейросеть делала, видно в ленте: просмотрела типы метаданных, подключила навык по торговым конфигурациям, определила, что это Управление торговлей 11.5, нашла и прочитала структуру Документ.ЗаказКлиента, Справочник.Номенклатура и Справочник.Партнеры. Дальше в ленте такая строка:

Теперь нужно понять, что такое «единица хранения». В УТ 11 это обычно единица хранения номенклатуры - посмотрю соответствующие регистры

Посмотрела регистры сведений и вернулась с ответом: «единица хранения» - это базовая единица измерения номенклатуры, реквизит ЕдиницаИзмерения справочника Номенклатура. Имена таблиц и реквизитов агент взял из метаданных этой базы и слово из задачи сопоставил с реквизитом сам.

Первый вариант запроса агент применил в редактор, и платформа вернула ошибку: поле «Ссылка» неоднозначно. Агент дал табличной части другой псевдоним - вторая ошибка: псевдоним «Номенклатура» конфликтует с именем справочника. Третий вариант прошел. Три захода, две поправки, ни одного вопроса к человеку - потому что ответ платформы приходит в том же окне, а не после загрузки файлов обратно в конфигуратор.

Запрос после третьего захода - на кадре выше, под лентой. Параметры агент заполнил сразу: партнер «Бытовая техника», период - 2022 год.

Шаг 2. Переделать запрос под обработку

Второй промпт - обычными словами, без имени реквизита:

Как сделать в текущем запросе, чтобы он подходил для обработки изменения реквизита единицы хранения у номенклатуры?

Агент подключил навык массового изменения данных и объяснил, что делает, прежде чем делать:

Ключ - колонка-ссылка на изменяемый справочник (Номенклатура), из нее мастер берет объект для изменения. Значение - колонка с псевдонимом, дословно совпадающим с именем реквизита (ЕдиницаИзмерения), а значение берется из параметра - чтобы пользователь выбрал его на форме обработки. РАЗЛИЧНЫЕ - чтобы не было дублей номенклатуры по разным строкам заказов.

И применил переработанный запрос - на кадре ниже, под лентой.

Из шести колонок осталось две: ссылка на объект, который будет записан, и новое значение с именем реквизита. Зеленая галка «Валидность» рядом с текстом - платформа приняла текст запроса еще до «Выполнить»; сама выборка смотрится на шаге 4.

Шаг 3. Мастер внешней обработки

Промпт из четырех слов: «Открой теперь создание обработки». Агент открыл мастер и написал, что в нем сделать: ключ - поле Ссылка, параметр НоваяЕдиницаИзмерения оставить видимым на форме, проверить, что включено «Изменить и записать», сформировать обработку.

Запрос в мастере уже стоит - «2 поля результата, 4 параметра». Осталось выбрать:

  • Период - зафиксировать: значения уезжают внутрь обработки.

  • Партнер и Новая единица измерения - на форму: их будут задавать при каждом запуске.

  • Изменяемый объект - Ссылка, мастер подхватил сам. Подсказка рядом описывает контракт целиком: «Объект берется из этой ссылки. Остальные колонки записываются в его реквизиты по имени - псевдоним колонки должен совпадать с именем реквизита». И ниже: неверный ключ не остановит пакет, ошибка конкретной строки попадет в журнал.

  • Действие - «Изменить и записать». Пометка на удаление и удаление выключены, включаются только руками.

Превью показывает будущую форму без выполнения запроса: два поля, таблица Ссылка / ЕдиницаИзмерения, кнопка. «Сохранить как внешнюю обработку» - и на диске лежит .epf.

Шаг 4. Запуск в базе

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

Карточка «Кондиционер FIRMSTAR 12M» до запуска: единица хранения - «шт».

Партнер - «Бытовая техника», новая единица - «упак», «Выполнить запрос»: пять строк, в колонке ЕдиницаИзмерения у всех уже стоит «упак» - это значение из параметра, которое уйдет в реквизит. Записываются отмеченные строки: кондиционер ELEKTA снимаем с отметки, остальные четыре - «Изменить и записать». В журнале четыре строки, у каждой «Успех».

Та же карточка после записи: единица хранения - «упак», и форма сама пересчитала подписи рядом - «упак весит 2,000 кг», «шт содержит 1,000 упак». ELEKTA осталась в «шт».

Три нейросети в одном прогоне

На трех шагах здесь работали три разные нейросети: DeepSeek v4 Pro собрала запрос, GLM 5.2 переделала его под обработку, Gemini 3.7 Flash открыла мастер. Можно вести весь диалог с одной привычной или переключаться по ходу - доступ к метаданным, проверка платформой и инструменты работы с запросом у агента остаются теми же.

Что осталось на руках

Результат прогона - внешняя обработка. Условие отбора живет в запросе, партнер и новое значение - в полях на форме, поэтому та же .epf закрывает и следующее «поменяй у всех, кто…»: другой клиент, другая единица - без нового захода к разработчику. Ее можно подключить штатно и отдать сотруднику, который запросов не пишет: он видит форму с двумя полями, таблицу отбора с галками и кнопку.

Отбор в запросе может быть любым - по остаткам, по свойствам, по документам за период; на пятистах позициях руками уже не сделать, обработка та же. Когда нужно только посмотреть, тот же запрос вторым мастером собирается во внешний отчет .erf с параметрами на форме.

Где границы

  • Сложный запрос собирается итерациями. Пакетный запрос на десяток временных таблиц - это несколько заходов: прочитать, собрать, выполнить, поправить. Минуты здесь - про задачу на одну таблицу и один реквизит.

  • Проверять выборку перед «Изменить и записать» - ваша работа. Для этого в обработке и есть отдельная кнопка «Выполнить запрос» и галки у строк: сначала посмотреть, что попало в отбор, потом записывать.

Попробовать на своей задаче

Код консоли открыт, лежит на GitHub: https://github.com/SgonnovDmGit/lensa-query-console - там установка и требования к платформе. Возьмите свою задачу на массовую правку реквизита и пройдите тот же путь: от задачи словами до готовой .epf. Что не сошлось - пишите в комментариях или в Issues репозитория. Если у вас такое решено иначе и без выгрузки - расскажите, мне правда интересно.

Комментарии (9)


  1. obanakennoby
    23.09.2026 07:07

    Я правильно понимаю, что вот так легко и непринужденно теперь нужно восстанавливать движения по товарам, по которым изменили единицу хранения? С 2022 года?


    1. dsgonnov Автор
      23.09.2026 07:07

      Если по позициям есть движения, одной сменой реквизита не обойтись, тут вы правы: остатки и обороты лежат в единицах хранения, и десять штук с 2022 года прочитаются как десять упаковок.

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


  1. NitroJunkie
    23.09.2026 07:07

    Жесть конечно. В том же lsFusion ИИ агент может просто через endpoint listfiles читать нужный код (по сути как с обычной файловой системой) и eval выполнять любые скрипты в том числе интерактивные. Никакие скиллы работы с логикой (только просто скилл работы с lsFusion, хотя те же opus его уже достаточно хорошо знают) / выгрузки / подключения не нужны. А тут прям как в анекдоте, мы героически решаем проблемы, которые сами себе создаём. И ещё платить лицензии за это.


    1. dsgonnov Автор
      23.09.2026 07:07

      Много где все правится в файлах (банально я сам пример с VS Code беру), в 1С сделано не так, да и не только там. Статье к теме lsFusion не относится.


      1. Veidt
        23.09.2026 07:07

        Есть такое, просто сейчас смысл 1С как платформы вообще теряется. Вот прямо все от не open-source и лицензий до всех принципов работы у них анти-ИИ. Хотя да, legacy никто не отменял, но именно ИИ ИМХО в ближайшее время позволит хорошо с ним бороться (типа в ultracode давай переведем все с 1С на ... и тут реально AI-ready платформы)


        1. dsgonnov Автор
          23.09.2026 07:07

          Если бы.. Это же классический парадокс - легаси приложение устарело и обладает рядом недостатков, которые ухудшают его развитие. Но им УЖЕ пользуется огромное количество пользователей. Попытка сделать конкурента всегда будет натыкаться на то что "в 1с уже есть это и это, а тут нет". Плюс огромная экосистема поддержки от самой компании. Если в 1с что то не работает - куча 1с-программистов, франчей и т.д. А в других экосистемах этого нет.

          Так что как бы для Вас смысл не терялся, для миллионов пользователей на данный момент реальной альтернативы нет на местном рынке.


          1. Veidt
            23.09.2026 07:07

            Так в том то и дело, что в эпоху ИИ это станет не важно. Нахера куча 1с-программистов, франчей, если основное будет как платформа подходит для ИИ (то есть skills/mcp с rag'ом по документации, open-source самой платформы, и чтобы ее можно было развернуть быстро и просто). То есть опыт и количество невилируется полностью. А с легаси будет проще идти от обратного, то есть не из универсального комбайна пытаться отрезать, а доделать из боле простого полуфабриката (как Odoo или MyCompany) то что есть (главное чтобы все было модульно, тестируемо и т.п.), в итоге не будет лишней сложности, как для ИИ, так и для пользователей.

            Ну и то что УЖЕ работает как раз не проблема, для переписывания это идеально. Условно запускаешь мультиагентную систему и она сама проверяет (читая код и запуская живую тестовую систему), чтобы на новой платформе работала также как на старой.


            1. dsgonnov Автор
              23.09.2026 07:07

              Переписать код агентами - это время, а значит, деньги. А 1С можно купить за один день и сразу работать. И даже если переписать: отчетность и изменения закона в типовых обновляет сама 1С каждый квартал, ЭДО, банк, маркировка, кассы уже подключены, а половина процессов живет не в коде, а в том, как с базой работают люди. Тестовый стенд про это не знает. Уйдете на Odoo - все это теперь ваша забота, и не разово, а навсегда. Или забота тех, кто сделает это за вас, - но тогда в чем разница с 1С?

              Поэтому ИИ, по-моему, сначала сделает быстрее тех же 1С-программистов, а не отменит их. Про это, собственно, и статья.


  1. Veidt
    23.09.2026 07:07

    .