ИИ-агент написал обработку для девяти типовых: разбор пилота

22.10.26

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

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

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

Чтобы понять, где такой конвейер ломается, нужны настоящие задачи, а не учебные. Одной из пилотных стала обработка «История изменений за период»: кто, что и когда менял в документах и справочниках. Строчки кода в ней я руками не написал. Зато всё, что сделал агент, проверено: автотесты на девяти конфигурациях и ручная проверка по плану из 29 шагов. Ниже рассказываю, как это было, по журналам конвейера и истории изменений, с цифрами и с ошибками.

 

Сначала боль, потом код

Задачу я не придумывал. Сначала агент прочитал через браузер то, о чём пишут заказчики и коллеги: 95 заказов на бирже Инфостарта, страницы популярных публикаций с просмотрами, загрузками и комментариями, темы на форумах Инфостарта, «Мисты» и buh.ru. Только чтение, без входа на сайты. За несколько дней до этого был такой же разбор 100 заказов биржи за три месяца.

Из этого получилась таблица из 11 болей. Первые пять: кто, что и когда менял в базе; битые ссылки, которые нельзя починить без Конфигуратора; пакетная рассылка печатных форм; перенумерация документов; что сломалось после обновления. Первое место заняла история изменений. Вопрос возникает в любой базе, а у популярных решений в комментариях вопросы про новые релизы, про пустой результат и одни и те же просьбы: кто удалил реализацию, отбор по номенклатуре, изменения задним числом. Эти просьбы почти готовая постановка. А у меня есть ферма, на которой обработку можно проверить на каждом релизе. Разбор лёг в репозиторий в 23:06, постановка обработки появилась в 23:24 того же вечера.

Типовое версионирование объектов показывает историю одного документа из его карточки. Если нужно понять, кто за неделю распровёл три реализации и у какого заказа поменяли сумму, приходится открывать каждый объект или читать журнал регистрации, который бухгалтеру почти нечитаем. Отсюда требования: одна внешняя обработка на все типовые с Библиотекой стандартных подсистем (БСП), ничего своего в базу не пишет, работает в безопасном режиме и в 1С:Фреш, списки видов и реквизитов строит из метаданных, а не зашивает под релиз.

 

Лента изменений: кто, когда, было и стало

Так выглядит готовая лента изменений.

 

Как устроен стенд

У меня есть ферма копий типовых конфигураций. Для этой задачи в проверку вошли девять: Управление торговлей 11.5 и 11.6, Комплексная автоматизация 2.5.27 и 2.5.22, Бухгалтерия предприятия 3.0, Зарплата и управление персоналом 3.1, Управление нашей фирмой 3.0, Розница 3.0 и Бухгалтерия для Казахстана 3.0. Платформы 8.3.27 и 8.5.1.

Задача идёт по фазам. Я пишу постановку, конвейер делает по ней карточку, дальше агент пишет код и тесты, собирает обработку и прогоняет проверку на основной базе: тесты на YAxUnit, открытие формы из «Дополнительных отчетов и обработок» и из файла, снимки экрана. Потом второй агент принимает работу: сверяет сделанное с постановкой и пишет замечания. После приёмки та же сборка проверяется на всех базах, и собирается пакет публикации с описанием, инструкцией и снимками.

 

Как задача идёт по конвейеру

 

Пишет код старшая модель Claude Opus 5.5, принимает работу и готовит тексты младшая Sonnet 5.5. Агент работает только в папке задачи: выйти за неё или удалить файлы ему не даёт отдельный сторож. За задачу он попробовал сделать это 15 раз, все попытки отклонены.

 

Постановка и первая ночь

Постановка заняла 69 строк: источник данных (регистр версий БСП и её программный интерфейс), настройки, лента изменений в поле HTML-документа, таблица для печати и Excel, поведение на больших периодах, объяснение пустого результата, список баз и сценарий теста. В тесте агент сам включает версионирование, меняет сумму и контрагента, распроводит документ, удаляет строку с номенклатурой, переименовывает элемент справочника и проверяет, что обработка всё это нашла с верным автором и значениями «было» и «стало».

Постановку я отдал в 23:24. В 03:12 был готов пакет версии 1.0.0 на девять конфигураций, через 3 часа 48 минут. Первые четыре прогона на основной базе были красными, с пятого тесты пошли зелёными.

Самое интересное в первую ночь: агент не согласился с постановкой и доказал это тестом. Я просил показывать физически удалённые объекты по их последней версии. Агент выяснил, что измерение «Объект» в регистре версий ведущее: удаляешь объект, и платформа удаляет всю его историю. В тесте было видно: версий до удаления одна, после ноль. Поэтому удаления он стал брать из журнала регистрации и честно написал в описании, что во Фреше и без права на журнал удаления не видны.

 

Когда агент останавливается и спрашивает

За конвейерную часть агент дважды сам остановился и попросил решения.

Первый раз на Управлении торговлей 11.6: при открытии формы на ферме вылезало модальное окно БСП о переходе на новую версию платформы, потому что база запускалась на 8.3.27, а релиз рекомендует 8.5.1. Агент не стал обходить окно, а описал причину и предложил перевести базу на 8.5.1, которая на ферме уже была. Мой ответ занял две минуты.

Второй раз интереснее. Тест на формат чисел дважды падал с одной ошибкой. Агент разобрался, что дело не в формате: при записи у строки табличной части заполняется ещё одна ссылочная колонка, а строки сопоставлялись по всем ссылочным колонкам, поэтому изменённая строка выглядела как «удалена» и «добавлена». Подгонять тест он не стал, а предложил два варианта с рекомендацией. Вот его сообщение, немного сокращённое:

Та же ошибка дважды подряд: тест ЧислаПоРазрядностиИзМетаданных. Остальные 15 тестов зелёные, формат сумм работает. Причина: у первой строки «Товары» реализации при записи заполняется ссылочная колонка. Строки табличной части сопоставляются по всем ссылочным колонкам, поэтому изменённая строка показана как «удалена строка 1» и «добавлена строка 1», и количество в ленту не попадает. Это не ошибка формата, а ограничение сопоставления строк.

Что решить (рекомендую вариант А).

А. Улучшить сопоставление: сначала по всем ссылочным колонкам, затем оставшиеся строки по номеру строки при совпадении номенклатуры. Тогда строка показывается как изменённая, включая количество. Тест не меняется.

Б. Оставить сопоставление, а тест проверять только там, где строка сопоставилась.

Я выбрал вариант А за 40 секунд.

Ещё два раза конвейер остановил аварийный предел в 50 долларов, который стоит против зацикливания агента. Агент не зацикливался, просто задача шла уже четвёртый круг. После этого предел стал считаться на версию, а не на всю задачу.

 

Где агент ошибался и что из этого вышло

Ради этого раздела пилот и затевался. Почти каждая ошибка ниже закончилась новой проверкой или правилом в ядре, чтобы следующая задача на ней не споткнулась.

Ссылки в ленте нажимались не всегда. Я заметил это руками: после отборов ни одна ссылка в ленте не открывала объект. Причина оказалась в проверке номера изменения из адреса ссылки:

// было
Если ... Или СтрДлина(СтроковыеФункцииКлиентСервер.ТолькоЦифрыВСтроке(Части[1])) <> СтрДлина(Части[1]) Тогда

// стало
Если ... Или Не СтроковыеФункцииКлиентСервер.ТолькоЦифрыВСтроке(Части[1]) Тогда

Функция БСП возвращает Булево, а не строку из цифр. Длина строкового представления «Да» равна двум, поэтому ссылки работали только у изменений с двузначным номером. Ошибка жила с версии 1.0.0, и автотесты её не видели, потому что вызывали серверную функцию, а не нажимали ссылку. После этого в проверке появился настоящий клик по странице поля HTML-документа: сценарий нажимает ссылку с однозначным номером, на старом коде он красный, на новом зелёный. А в ядре появилась проверка, которая знает, какой тип возвращают функции БСП, и ловит такое сравнение ещё до запуска.

Поиск в списках за четыре захода. Мне нужна была обычная строка поиска над списками видов и реквизитов. Агент сначала сделал свои поля, потом штатный поиск набором, потом отбор на клиенте, и только на четвёртый раз всё решило свойство таблицы ПоложениеСтрокиПоиска, которое я показал ему в Конфигураторе. Вывод для ядра: если требование к интерфейсу можно понять двумя способами, агент сначала спрашивает человека и открывает справку платформы, а не пробует варианты по очереди.

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

Часовой пояс журнала регистрации. Ночью прогон всех баз покраснел на Комплексной автоматизации 2.5.22: тест не находил удалённый документ. У демобазы часовой пояс Москва, у компьютера фермы Иркутск, и отбор журнала по дате начала в тонком клиенте терял события после полуночи по времени компьютера. Вечером даты совпадали, поэтому всё было зелёным. Теперь при разных поясах обработка читает журнал без даты начала и сама проверяет период по дате события.

Четыре бага, найденные проверкой кода. Проверка по стандартам нашла то, что тесты пропустили. «Уксус 9%1л» в заголовке карточки превращался в «Уксус 9Ал», потому что подстановка параметров в строку заменяла «%1» в самом наименовании. Наименование с </script> ломало страницу. Правка терялась, если объект после неё записали ещё раз без изменений. Автор удаления у регламентных заданий подбирался случайно. На эти случаи появился тест: на старом модуле он красный, на исправленном зелёный.

«Объект не найден» у заказов. На снимке для публикации у заказа в истории была строка с битой ссылкой. Агент раскопал в коде типовой: при смене клиента Управление торговлей удаляет прежний элемент «Объекты расчетов» непосредственно, без проверки ссылок, а старые версии заказа продолжают на него ссылаться. Теперь такая ссылка показывается словами, с пометкой «удалён», а замена объекта расчетов на такой же новый не считается изменением.

 

Битая ссылка в истории заказа до исправления

Так это выглядело до исправления.

 

Что пилот дал конвейеру

Из одной этой обработки в ядре выросло 17 задач на доработку. Самые важные из них такие.

Карточка задачи больше не подтверждается сама. Если в постановке есть неясность, конвейер останавливается на этапе уточнения, задаёт вопросы и ждёт ответа, а не отдаёт агенту додумывать. Это вывод в том числе из истории с поиском в четыре захода.

Формы теперь проверяются сценариями через тест-клиент: открыть, набрать в поиске, отметить флажок, нажать «Сформировать». На пилоте такие сценарии прошли 5 из 5. Раньше ни один тест не видел, что своё поле поиска затирает набранные буквы.

Появились правила для агента: сначала красный тест, который воспроизводит ошибку, потом исправление; проверять граничные значения; факты о платформе брать из справки, а не из памяти; сначала искать штатное средство платформы и только потом писать своё.

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

Ещё ядро теперь отдельно считает замечания, которые нашёл человек, а не проверки. По этой задаче их набралось 25. Это главный показатель, который я хочу снижать.

 

Сколько это стоило и почему так дорого

Работал я по подписке, поэтому суммы ниже в пересчёте на цены API, то есть сколько стоили бы те же запросы при оплате каждого. В конвейерной части агент запускался 30 раз, сделал 1311 ходов и работал около 12 часов чистого времени.

Круг Что делали Стоимость, $ Время агента
1 Версия 1.0.0 с нуля до пакета на девять баз 24,15 3 ч 46 мин
1, правки Инструкция для пользователя, суммы по разрядности, снимок пустого результата 6,45 1 ч 40 мин
2 Страница «Во времени»: объект по шагам, версия 1.1.0 11,35 1 ч 42 мин
3 Сводка настроек, результат во всю высоту, режим «Рядом» 5,55 56 мин
4 Поиск и флажки в списках, исправление «по шагам» 13,73 3 ч 49 мин
Итого   61,22 11 ч 53 мин

После этого был ещё день доводки вне конвейера: часовой пояс, ссылки, проверка кода, снимки на чистых данных. Он в таблицу не вошёл.

Почти вся сумма приходится на старшую модель: 56 долларов из 61. Один прогон приёмки младшей моделью стоил от 33 до 60 центов. Дорогими оказались первый заход и переделки интерфейса, особенно круг со списками.

Для готовой обработки это дорого, и я этого не скрываю. Но пилот был нужен не ради обработки. На основной базе было 53 прогона проверки, из них 21 красный, и каждый красный прогон показывал, где агент или сам конвейер спотыкается. Тестов стало 31 вместо 14 в начале. Сколько будут стоить следующие задачи после этих правок, посмотрю на них и напишу отдельно.

53 прогона проверки на основной базе

 

Что осталось человеку

Найти боль и написать постановку. Отвечать на остановки агента: в этой задаче ответы заняли от 30 секунд до 18 минут. Решать спорное: что делать с удалёнными объектами, как сопоставлять строки. Проверить руками по плану из 29 шагов, потому что часть ошибок видна только человеку. И написать описание, выбрать цену, переснять снимки на чистых данных, чтобы в галерее не было следов автотестов.

 

Пять правил, если код пишет агент

1. Проверять на настоящих конфигурациях. На основной базе всё было зелёным, а ночной прогон по всем девяти нашёл ошибку часового пояса только на одной из них. Если обработка заявлена для девяти конфигураций, каждая сборка должна пройти на каждой.

2. Тест должен делать то, что делает пользователь. Серверная функция возвращала правильные данные, тесты были зелёными, а ссылку в ленте нельзя было нажать. Пока тест не кликал по странице, эту ошибку видел только я.

3. Сначала красный тест, потом исправление. Если тест не падал на старом коде, неизвестно, ловит ли он ошибку вообще. Теперь это правило ядра: на найденную ошибку агент сначала показывает красный прогон и только потом исправляет.

4. Агент должен уметь остановиться. Два одинаковых падения подряд, неясность в постановке или перерасход денег означают вопрос человеку с вариантами, а не новую попытку наугад. Четыре захода с поиском в списках как раз о том, что бывает без этого.

5. Человек всё равно проверяет руками, и его находки надо считать. По этой задаче я нашёл 25 замечаний, которые не поймали проверки. Это честная мера того, насколько конвейеру можно доверять, и по ней видно, становится ли он лучше.

 

Итог

Обработка вышла на Инфостарте 21 октября: «История изменений за период». В первые же дни её начали скачивать, значит боль настоящая. Код открыт, один файл работает на всех девяти конфигурациях из списка.

 

Режим «Рядом»: лента и история выбранного объекта по шагам

Режим «Рядом»: слева лента, справа история выбранного объекта по шагам.

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

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

ИИ искусственный интеллект ИИ-агент нейросети Claude автоматизация разработки DevOps автотесты YAxUnit тестирование качество кода БСП версионирование объектов история изменений журнал регистрации внешняя обработка

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

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

См. также

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

Подключите ИИ к 1С и решайте рабочие задачи обычными словами. От работы с данными до доработки конфигурации через расширения, всё в привычном чате с ИИ-помощником. Теперь с поддержкой DeepSeek Harness, Kimi Code и Kimi Work, доступных в России без VPN.

15990 руб.

30.07.2026    19306    40    4    

36

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-совместимые модели — данные могут не покидать ваш контур.

17500 руб.

20.12.2024    21422    104    32    

90

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

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

15250 руб.

25.08.2025    76689    147    41    

154

SALE! 30%

Нейросети 1С 8.3 1С:Документооборот 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

Расширение добавляет в 1С чат с ИИ-агентом. Пользователь пишет вопрос обычными словами: «какие УПД не подписаны?», «какой НДС к уплате за квартал?», «что висит на согласовании дольше недели?», а агент сам строит запросы к базе с правами этого пользователя и отвечает цифрами, таблицей, диаграммой или файлом Excel. Плитки «Аналитик», «Бухгалтер» и «Руководитель» дают сводку по базе одной кнопкой. Агент разбирает ошибки по скриншоту, сверяет прайсы поставщиков и проверяет коды маркировки. С версии 1.0.21 спрашивать можно и с телефона: QR-код в окне агента, без установки приложения. Работает в УТ 11, КА 2, ERP 2, БП 3.0, УНФ 3.0, Документооборот 3.0 и Альфа-Авто 6, ставится одним расширением.

18300 руб.

05.10.2026    3326    10    9    

11

Инструментарий разработчика Нейросети Системный администратор Разработчик Руководитель проекта 1С 8.3 Платные (руб)

Обработка заменяет ФИО, организации, ИНН, ИИН, БИН, ОГРН, КПП, БИК, счета и IBAN, паспорта, СНИЛС, адреса, телефоны, почту и суммы на правдоподобные выдуманные перед отправкой данных в ChatGPT, Claude или YandexGPT, а потом расшифровывает ответ модели обратно, подставляя настоящие имена и настоящие числа. Возвращаются и те итоги, которые модель посчитала сама: суммы масштабируются одним коэффициентом, поэтому пропорции и доли переживают обезличивание. Словарь замен хранится в самой базе и подхватывается автоматически, даже если обработку закрывали. Реквизиты России и Казахстана, любая конфигурация от 8.3.24, без единой зависимости.

14640 руб.

07.08.2026    2133    3    0    

3

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

ИИ-сканер документов с REST API для интеграции с 1С и корпоративными системами. Извлекайте данные из счетов, паспортов, дипломов, патентов и трудовых книжек за секунды. Точность человека - скорость машины. Приложение поддерживает восемь типов документов, четырех провайдеров ИИ (имеется возможность использования локальных ИИ), локальный REST API и экспорт в JSON. Важно! модель должна поддерживать функцию Vision (распознавание файлов и картинок). Запускайте используя локальные ИИ, без подписок и ограничений

6100 руб.

24.08.2026    1396    1    0    

1

Нейросети Разработчик 1С 8.3 Бесплатно (free)

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

05.11.2026    5860    Iliaelagin    5    

15

Нейросети Разработчик Бухгалтер Пользователь 1С:Предприятие 8 1С:Бухгалтерия 3.0 Бесплатно (free)

ИИ агент для бухгалтерии - открытый ИИ-консультант внутри 1С. Он отвечает на вопросы по данным базы, анализирует задолженность и обороты, помогает разбирать ошибки проведения и готовить документы. Пользователь видит шаги агента: какие инструменты вызваны и какие результаты получены. Решение состоит из расширения 1С и сервера на Python, поддерживает локальные модели и облачные API. Инструменты выполняются с правами текущего пользователя. Текущая версия - прототип для «Бухгалтерии предприятия 3.0». Исходный код распространяется под лицензией MIT.

31.10.2026    3376    166    nomadAI    8    

19
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. oyti 107 22.10.26 16:40 Сейчас в теме
Правило про красный тест у нас тоже есть, и рядом с ним мы наступили на соседние грабли. Проверка считается готовой, только если один раз покраснела на намеренной порче ровно того, что она стережет, и позеленела после отката. Порчу агент называет в отчете, иначе непонятно, что именно тест ловит.

Грабли такие: агент испортил ядро, увидел красный тест и откатил исходники, а на стенде осталось собранное испорченное ядро. Gate пересобирал только то, что менялось в коммите, и следующий прогон дал 14 ложных падений, час ушел на разбор. Это родственник вашей истории со старой сборкой в пакете. Теперь порча идет в блоке с обязательным откатом, и в том же блоке стенд пересобирается из чистых исходников.

Про деньги тоже похоже. Мы тоже работали по подписке и пересчитали по ценам API, только не задачу, а сам конвейер: за три дня 1,31 млрд токенов и 606 долларов, а на задачи заказчика из этого ноль. Как так вышло: https://infostart.ru/1c/articles/2814487/

Вопрос про ферму: девять баз после прогона вы возвращаете в исходное состояние или тесты сами убирают за собой? Мы для полного прогона каждый раз поднимаем временную базу из демо-шаблона.
Iliaelagin; +1 – Ответить
2. Iliaelagin 24 22.10.26 16:51 Сейчас в теме
(1) Спасибо, проверка порчей ровно того, что стережёт тест, выглядит сильнее, попробую потестировать. У меня красный прогон получается на старом коде с настоящей ошибкой.

Ваша история со стендом очень знакомая, у нас было зеркально. Агент поправил исходники по замечаниям, но обработку не пересобрал, и в пакет ушёл файл предыдущей итерации. После этого при каждой сборке записывается отпечаток исходников, из которых она собрана. Перед проверкой и упаковкой он сверяется с текущими файлами, и если они разошлись, работа останавливается.

По ферме делаю так же, как вы. Демобазы типовых никто не трогает, это эталоны. На каждый прогон берётся свежая копия файловой базы, тесты сами создают в ней свои данные, а после проверки копия удаляется, поэтому убирать за собой тестам не нужно. При прогоне по всем девяти базам у каждой своя копия. Копия файловой базы на NVMe занимает около секунды для УТ и около двух для КА, так что это почти бесплатно. То, что работает только на сервере, например фоновые задания и потоки, проверяем на клоне шаблона в PostgreSQL на кластере нужной версии платформы.

С эталоном мы делаем только одно, и только один раз: ставим в демобазу YAxUnit и проверяем, что тонкий клиент стартует без модальных окон. Эта проверка идёт каждую ночь. Без неё модальное окно БСП о переходе на новую платформу, как в истории с УТ 11.6, вешает весь прогон.
3. oyti 107 22.10.26 17:00 Сейчас в теме
(2)
С настоящей ошибкой мы делаем так же. Код ломаем нарочно, только когда ошибки еще нет, а проверку уже пишем. Иначе не узнать, ловит ли она что-нибудь.

Стартовые окна БСП мешали и нам. Мы вынесли менеджер тестирования в пустую базу, там их нет. Ваша ночная проверка эталона проще.

Копию файловой базы попробуем. Мы пока каждый раз разворачиваем базу из dt, это заметно дольше.
Iliaelagin; +1 – Ответить
4. Iliaelagin 24 22.10.26 17:15 Сейчас в теме
(3)
Спасибо за то, что делитесь опытом!

Да, как раз этого шага у нас нет. Тесты, которые агент пишет вместе с новым кодом, ни разу не бывают красными. Попробую вашу порчу на тестах этой обработки и посмотрю, сколько тестов останутся зелёными. Если таких наберётся заметно, сделаю порчу обязательной для новых тестов. Идею с менеджером тестирования в пустой базе тоже возьму на заметку.

В целом сейчас методом тыка, замеров и исследований все улучшаю потихоньку. Использовал плагин Unica какое-то время и другие бесплатные решения, но они мне не подошли и я свое ядро написал с нуля на Python. А за общедоступными репо просто слежу периодически и анализирую с какими проблемами там сталкиваются и либо внедряю у себя, либо записываю в документацию на будущее если такие задачи попадутся или токены лишние будут написать и погонять)
Для отправки сообщения требуется регистрация/авторизация